В долговременной перспективе алгоритму обеспечила преимущество вторая фаза обучения – так называемое обучение с подкреплением. На этом этапе компьютер начал играть сам с собой, обучаясь на каждой следующей сыгранной партии. Когда какие-либо ходы, казавшиеся заведомо выигрышными, не давали нужного результата, алгоритм изменял уровень вероятности того, что такой ход принесет победу. Обучение с подкреплением генерирует огромный массив новых, искусственно созданных игровых данных. А игра с самим собой дает алгоритму возможность выявить собственные слабые стороны.
Одна из опасностей обучения с подкреплением состоит в том, что оно может быть ограниченным и замкнутым. Машинное обучение чем-то похоже на попытки взобраться на вершину Эвереста. Если ваши глаза завязаны, вы не знаете, куда движетесь, а вас просят подняться на самый высокий пик, одна из возможных стратегий сводится к передвижению маленькими шагами, позволяющими определить, увеличивается ли высота при шаге в том или ином направлении.
Эта стратегия рано или поздно приведет вас в самую высокую точку окружающей местности. Любое движение из этой точки будет движением вниз. Но это не значит, что, спустившись ниже, вы не обнаружите, что по другую сторону долины есть другой, гораздо более высокий пик. В этом и заключается проблема так называемых локальных максимумов – пиков, на которых вам кажется, что вы забрались на самый верх, но которые на самом деле представляют собой всего лишь крошечные бугорки, окруженные гигантскими горами. Что, если программа AlphaGo оптимизировала свою игру, ориентируясь на победу над игроками такого локального максимума?
Казалось, что именно так и обстояло дело, когда европейский чемпион Фань Хуэй за несколько дней до матча против Ли Седоля обнаружил изъян в игре AlphaGo. Но, как только алгоритм познакомился с новым типом игры, он быстро научился переоценивать свои ходы так, чтобы снова максимизировать шансы на победу. Новый противник заставил алгоритм спуститься с холма и найти путь к новым вершинам.
Сейчас у DeepMind есть еще более совершенный алгоритм, способный разгромить первоначальную версию AlphaGo. Этому алгоритму не нужно было показывать, как играют в го люди. Как и алгоритм, игравший на приставке Atari, он видел массив пикселей размером 19 × 19 и счет в игре и начал играть, экспериментируя с разными ходами. Он использовал возможности обучения с подкреплением, которое было второй стадией создания AlphaGo. Новый алгоритм обучался почти с чистого листа, и даже сами сотрудники DeepMind были поражены его силой. Он уже не был ограничен тем, как мыслят и играют люди.
Через трое суток обучения, в рамках которого алгоритм сыграл сам с собой 4,9 млн партий, он смог выиграть у того варианта AlphaGo, который победил Ли Седоля, сто партий из ста. Всего за три дня он добился того, на что у человечества ушли три тысячи лет. К сороковому дню он стал непобедимым. Еще за восемь часов он сумел научиться играть в шахматы и сёги (японскую игру, аналогичную шахматам), причем дошел до такого уровня мастерства, что победил две из лучших имеющихся на рынке шахматных программ. Этот пугающе разносторонний алгоритм получил название AlphaZero.
Ведущий исследователь этого проекта Дэвид Силвер объяснил, какое значение может иметь подобное обучение с чистого листа в разных областях:
Если вы можете реализовать обучение с чистого листа, вы на самом деле получаете систему, которую можно перенести из игры в го в любую другую область. Вы освобождаетесь от конкретики той области, в которой вы работаете, и получаете алгоритм, настолько универсальный, что его можно использовать где угодно. С нашей точки зрения смысл AlphaGo – не в победе над человеком, а в выявлении сути научной работы, в создании программы, которая может самостоятельно выяснить, что такое знание.
Цель DeepMind – «решить загадку интеллекта… а затем и все остальные загадки». Сотрудники этой компании считают, что они на верном пути. Но насколько далеко может зайти эта технология? Сможет ли она сравниться с творческим потенциалом лучших математиков? Сможет ли она создавать произведения искусства? Писать музыку? Разгадать человеческий код?
7
Раскрашивание по клеточкам
Непредсказуемое и предопределенное
сочетаются, и всё получается, как в жизни[35]
.