Результаты поиска по дереву методом Монте-Карло, в свою очередь, используются для обучения нейронной сети. Представьте, что вы AlphaGo
и уже осуществили поиск. Его результатами стали новые вероятности, присвоенные всем вашим допустимым ходам на основе того, как часто эти ходы приводили к победам или поражениям в построенных развертках. Далее новые вероятности используются для корректировки выходного сигнала сверточной сети с помощью метода обратного распространения ошибки. Затем вы с противником выбираете ходы, после чего позиция на доске меняется – и процесс продолжается. По сути, СНС учится распознавать паттерны, прямо как мастера го. В конце концов сеть начинает играть роль “интуиции” программы, которая подкрепляется поиском по дереву методом Монте-Карло.Как и ее предшественница, шашечная программа Сэмюэла, AlphaGo
учится, играя сама с собой и проводя огромное количество партий (около пяти миллионов). Во время обучения веса сверточной нейронной сети корректируются после каждого хода на основе различий между выходными ценностями сети и уточненными ценностями после проведения поиска по дереву методом Монте-Карло. Затем, когда AlphaGo играет с человеком вроде Ли Седоля, обученная СНС на каждом ходе присваивает ценности, которые становятся отправными точками для поиска.Создав AlphaGo
, специалисты DeepMind продемонстрировали, что один из давних больших вызовов ИИ покорился хитроумной комбинации обучения с подкреплением, сверточных нейронных сетей и поиска по дереву методом Монте-Карло (а также мощной современной вычислительной техники). В результате AlphaGo заняла заслуженное место в пантеоне ИИ. Но что дальше? Научится ли эта действенная комбинация методов генерализации за пределами игрового мира? Об этом я расскажу в следующей главе.Глава 10
Не ограничиваясь играми
За последнее десятилетие обучение с подкреплением превратилось из относительно малоизвестного ответвления ИИ в одно из самых перспективных (и активно финансируемых) направлений развития отрасли. Возрождение обучения с подкреплением – особенно в глазах общественности – произошло во многом благодаря проектам DeepMind
, которые я описала в предыдущей главе. Достижения DeepMind в играх Atari и го действительно феноменальны и заслуживают признания.Однако в представлении многих исследователей ИИ разработкой сверхчеловеческих игровых программ дело не ограничивается. Давайте сделаем шаг назад и рассмотрим вопрос об использовании этих достижений для общего прогресса ИИ. Демису Хассабису есть что сказать на этот счет:
Игры – это всего лишь платформа для дальнейшего развития… Это самый быстрый способ разрабатывать и тестировать алгоритмы ИИ, но в итоге мы хотим использовать их так, чтобы они решали реальные задачи и оказывали огромное влияние на такие области, как здравоохранение и наука. Суть в том, что это общий ИИ – и он учится работать [на основе] собственного опыта и данных[212]
.Давайте копнем немного глубже. Насколько общим
можно считать этот ИИ? Насколько он применим к реальным задачам, помимо игр? В какой степени эти системы действительно учатся “самостоятельно”? И чему именно они учатся?Общий характер и “перенос обучения”
Когда я искала в интернете статьи об AlphaGo
, Сеть подкинула мне громкий заголовок: “Разработанная DeepMind программа AlphaGo на досуге научилась играть в шахматы”[213]. Это утверждение недостоверно, и важно понимать почему. AlphaGo (во всех версиях) не умеет играть ни в одну игру, кроме го. Даже самая общая версия, AlphaZero, – это не единая система, которая научилась играть в го, шахматы и сёги. Для каждой игры выделяется отдельная сверточная нейронная сеть, которую необходимо с нуля обучать конкретной игре. В отличие от людей, эти программы не могут “переносить” знания об одной игре, чтобы им было легче учиться играть в другую.То же самое относится к различным программам для игры в видеоигры Atari
: каждая из них узнает веса сети с нуля. Можно провести такое сравнение: представьте, что вы научились играть в Pong, но затем, чтобы научиться играть в Breakout, должны забыть все, что узнали об игре в Pong, и начать с чистого листа.