Код креативности. Как искусственный интеллект учится писать, рисовать и думать — страница 20 из 64

Машина против машины

Именно эта способность изменяться и адаптироваться к новым условиям и была использована при создании AlphaGo. Сотрудники DeepMind предусмотрели при разработке своего алгоритма период контролируемого обучения. Так взрослые помогают детям освоить навыки, которые сами взрослые уже освоили. Человек как биологический вид развивается потому, что мы накапливаем знания и передаем их следующим поколениям образом гораздо более эффективным по сравнению с их первоначальным обретением. Чтобы добраться до переднего края математических исследований, мне не нужно самостоятельно открывать всю предыдущую математику заново. Вместо этого я учусь несколько лет в университете, проходя через века математических открытий по ускоренному маршруту.

Программа AlphaGo начала с прохождения такого же процесса. Люди уже сыграли в го миллионы партий, которые были записаны, оцифрованы и доступны в Сети. Эти записи дают замечательный материал, который компьютер может исследовать, выделяя ходы, давшие преимущество победителю. Такая большая база данных позволяет компьютеру оценить вероятность успешности всех возможных ходов в конкретных вариантах расположения камней на доске. Когда рассматриваются все возможные варианты развития конкретной партии, данных немного, но такой анализ создает хорошую основу для обучения игрока, хотя его будущий противник может не пойти по тому же пути, по которому пошла проигравшая сторона в партии, занесенной в базу данных, и именно поэтому одного лишь изучения этого массива данных было недостаточно.

В долговременной перспективе алгоритму обеспечила преимущество вторая фаза обучения – так называемое обучение с подкреплением. На этом этапе компьютер начал играть сам с собой, обучаясь на каждой следующей сыгранной партии. Когда какие-либо ходы, казавшиеся заведомо выигрышными, не давали нужного результата, алгоритм изменял уровень вероятности того, что такой ход принесет победу. Обучение с подкреплением генерирует огромный массив новых, искусственно созданных игровых данных. А игра с самим собой дает алгоритму возможность выявить собственные слабые стороны.

Одна из опасностей обучения с подкреплением состоит в том, что оно может быть ограниченным и замкнутым. Машинное обучение чем-то похоже на попытки взобраться на вершину Эвереста. Если ваши глаза завязаны, вы не знаете, куда движетесь, а вас просят подняться на самый высокий пик, одна из возможных стратегий сводится к передвижению маленькими шагами, позволяющими определить, увеличивается ли высота при шаге в том или ином направлении.

Эта стратегия рано или поздно приведет вас в самую высокую точку окружающей местности. Любое движение из этой точки будет движением вниз. Но это не значит, что, спустившись ниже, вы не обнаружите, что по другую сторону долины есть другой, гораздо более высокий пик. В этом и заключается проблема так называемых локальных максимумов – пиков, на которых вам кажется, что вы забрались на самый верх, но которые на самом деле представляют собой всего лишь крошечные бугорки, окруженные гигантскими горами. Что, если программа AlphaGo оптимизировала свою игру, ориентируясь на победу над игроками такого локального максимума?

Казалось, что именно так и обстояло дело, когда европейский чемпион Фань Хуэй за несколько дней до матча против Ли Седоля обнаружил изъян в игре AlphaGo. Но, как только алгоритм познакомился с новым типом игры, он быстро научился переоценивать свои ходы так, чтобы снова максимизировать шансы на победу. Новый противник заставил алгоритм спуститься с холма и найти путь к новым вершинам.

Сейчас у DeepMind есть еще более совершенный алгоритм, способный разгромить первоначальную версию AlphaGo. Этому алгоритму не нужно было показывать, как играют в го люди. Как и алгоритм, игравший на приставке Atari, он видел массив пикселей размером 19 × 19 и счет в игре и начал играть, экспериментируя с разными ходами. Он использовал возможности обучения с подкреплением, которое было второй стадией создания AlphaGo. Новый алгоритм обучался почти с чистого листа, и даже сами сотрудники DeepMind были поражены его силой. Он уже не был ограничен тем, как мыслят и играют люди.

Через трое суток обучения, в рамках которого алгоритм сыграл сам с собой 4,9 млн партий, он смог выиграть у того варианта AlphaGo, который победил Ли Седоля, сто партий из ста. Всего за три дня он добился того, на что у человечества ушли три тысячи лет. К сороковому дню он стал непобедимым. Еще за восемь часов он сумел научиться играть в шахматы и сёги (японскую игру, аналогичную шахматам), причем дошел до такого уровня мастерства, что победил две из лучших имеющихся на рынке шахматных программ. Этот пугающе разносторонний алгоритм получил название AlphaZero.

Ведущий исследователь этого проекта Дэвид Силвер объяснил, какое значение может иметь подобное обучение с чистого листа в разных областях:

Если вы можете реализовать обучение с чистого листа, вы на самом деле получаете систему, которую можно перенести из игры в го в любую другую область. Вы освобождаетесь от конкретики той области, в которой вы работаете, и получаете алгоритм, настолько универсальный, что его можно использовать где угодно. С нашей точки зрения смысл AlphaGo – не в победе над человеком, а в выявлении сути научной работы, в создании программы, которая может самостоятельно выяснить, что такое знание.

Цель DeepMind – «решить загадку интеллекта… а затем и все остальные загадки». Сотрудники этой компании считают, что они на верном пути. Но насколько далеко может зайти эта технология? Сможет ли она сравниться с творческим потенциалом лучших математиков? Сможет ли она создавать произведения искусства? Писать музыку? Разгадать человеческий код?

7Раскрашивание по клеточкам

Непредсказуемое и предопределенное

сочетаются, и всё получается, как в жизни[35].

Том Стоппард

Несколько лет назад субботним днем я зашел в галерею «Серпентайн»[36] и буквально остолбенел. Наверное, именно к этому чувству духовного опьянения мы и стремимся, входя в музей. Мои спутники пытались заговорить со мною, но я шел по залам, одержимый тем, что я увидел.

В галерее была выставлена серия работ Герхарда Рихтера под названием 4900 Farben[37]. «Неужели ты никогда не слышал о Герхарде Рихтере? – недоверчиво спросила меня жена, когда мы ехали на поезде в город. – А ведь он – один из самых знаменитых ныне живущих художников в мире». Большую часть времени я полностью погружен в абстрактную вселенную математики, так что мое невежество по части изобразительного искусства часто приводит ее в отчаяние. Однако проект Рихтера был непосредственно связан с тем миром, в котором я существую.

Его работа состоит из 196 панно, каждое из которых представляет собой панель размером 5 ×5 квадратов. Каждый квадрат закрашен одним из 25 тщательно подобранных цветов. Следовательно, всего раскрашенных квадратов 4900, что и дало название выставке. У Рихтера есть несколько вариантов демонстрации этих картин. На выставке в галерее «Серпентайн» он представил вариант № 2, в котором 196 панно были развешаны блоками по четыре, то есть было сорок девять картин, каждая из которых состояла из 100 = 10 × 10 цветных квадратов[38].

Зритель, глядящий на эти пиксельные панно, испытывает естественное желание найти в таком собрании квадратов какой-то смысл. Я поймал себя на том, что пристально смотрю на три желтых квадрата, выстроившиеся в линию на одном из блоков 10 ×10. Мы запрограммированы искать закономерности, пытаться найти логику в окружающем нас хаотическом мире. Именно это спасало нас от съедения хищниками, прятавшимися в кустах. Вон та желтая полоска может быть ничем, однако она вполне может оказаться львом. Многие психологи – например, Юнг, Роршах или Матте Бланко – считали, что наш разум настолько сильно жаждет смысла, закономерности и симметрии, что при помощи таких изображений можно добраться до человеческой души. Юнг предлагал своим пациентам рисовать мандалы, а Роршах исследовал сознание своих пациентов при помощи симметричных чернильных пятен.

Стремление замечать закономерности находится в самом сердце работы математика, и мой мозг работал на полную мощность, стараясь расшифровать то, что я видел. Попадались интересные сочетания квадратов, которые, казалось, образовывали осмысленные формы. Бродя по галерее от одного панно к другому, я начал задумываться, не скрыто ли за этими изображениями нечто иное.

Я подсчитал, сколько раз я встречаю на одной панели два квадрата одного цвета, расположенные вместе, а затем – несколько более редкие случаи появления линий из трех или четырех квадратов одного и того же цвета. Собрав эти данные, я сел и принялся вычислять, какой картины следовало бы ожидать, если бы расположение пикселей было совершенно случайным. Случайным процессам свойственно создавать неожиданные комбинации элементов. Поэтому, когда вы ждете автобуса, вы часто попадаете в большой перерыв, после которого на остановку приезжают сразу три красных автобуса[39]. Хотя автобусы выезжают на маршрут по расписанию, плотность уличного движения вскоре вносит во время их прибытия к тем или иным точкам элемент случайности.

Я начал подозревать, что появление той тройки желтых квадратов, которую я заметил ранее, было результатом не осознанного выбора, а случайного процесса, использованного при создании этих произведений. Если имеется выбор из 25 цветов и цвет каждый раз выбирается случайным образом, то можно вычислить, в скольких строках встретятся два квадрата одного и того же цвета, расположенные друг рядом с другом. Чтобы рассчитать это число, нужно представить себе противоположную ситуацию. Предположим, я хочу, чтобы первый квадрат был красным. Вероятность того, что соседний с ним квадрат будет другого цвета, равна 24/25, так как я должен избегать красного. Вероятность того, что цвет третьего квадрата будет отличным от предыдущего, тоже равна 24/25. Значит, вероятность получения строки из десяти цветов, в которой не будет двух соседних квадратов одного и того же цвета, равна: