Эта статья входит в число избранных

AlphaGo: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Неофициальные матчи
Строка 87: Строка 87:


=== Неофициальные матчи в конце 2016 — начале 2017 ===
=== Неофициальные матчи в конце 2016 — начале 2017 ===
29 декабря 2016 на го-сервере Tygem новый аккаунт «Master» начал играть матчи с профессионалами го, 1 января 2017 он перешёл на го-сервер FoxGo. 4 января 2017 DeepMind подтвердил, что за Master и ещё за один более ранний аккаунт Magister играла обновлённая версия AlphaGo<ref name="Master">{{cite web|author=[[Demis Hassabis]]|url=https://twitter.com/demishassabis/status/816660463282954240?s=09|title=Demis Hassabis on Twitter: "Excited to share an update on #AlphaGo!"|publisher=Demis Hassabis's [[Twitter]] account|date=4 January 2017|accessdate=4 January 2017}}</ref><ref name="Nature-Master">{{cite web|author=Elizabeth Gibney|url=http://www.nature.com/news/google-reveals-secret-test-of-ai-bot-to-beat-top-go-players-1.21253|title=Google reveals secret test of AI bot to beat top Go players|publisher= [[Nature]]|date=4 January 2017|accessdate=4 January 2017}}</ref>. AlphaGo выиграл все 60 сыгранных матчей (30 на каждом сервере){{refn|Еще один матч закончился ничьей, так как игрок-человек отсоединился от сервера из-за проблем с сетью. Но результат не был засчитан на сервере FoxGo, поскольку отсоединение произошло в самом начале матча.}}. По окончании всех матчей со-основатель DeepMind {{iw|Демис Хассабис|||Demis Hassabis}} написал в своём твите: «с нетерпением ждём официальных полных матчей го позже в 2017, в сотрудничестве с организациями и экспертами го»<ref name="Master" /><ref name="Nature-Master" />.
29 декабря 2016 на го-сервере Tygem новый аккаунт «Master» начал играть матчи с профессионалами го, 1 января 2017 он перешёл на го-сервер FoxGo. 4 января 2017 DeepMind подтвердил, что за Master и ещё за один более ранний аккаунт Magister играла обновлённая версия AlphaGo<ref name="Master">{{cite web|author=[[Demis Hassabis]]|url=https://twitter.com/demishassabis/status/816660463282954240?s=09|title=Demis Hassabis on Twitter: "Excited to share an update on #AlphaGo!"|publisher=Demis Hassabis's [[Twitter]] account|date=4 January 2017|accessdate=4 January 2017}}</ref><ref name="Nature-Master">{{cite web|author=Elizabeth Gibney|url=http://www.nature.com/news/google-reveals-secret-test-of-ai-bot-to-beat-top-go-players-1.21253|title=Google reveals secret test of AI bot to beat top Go players|publisher= [[Nature]]|date=4 January 2017|accessdate=4 January 2017}}</ref>. AlphaGo выиграл все 60 сыгранных матчей (30 на каждом сервере){{refn|Еще один матч закончился ничьей, так как игрок-человек отсоединился от сервера из-за проблем с сетью. Но результат не был засчитан на сервере FoxGo, поскольку отсоединение произошло в самом начале матча.}}. По окончании всех матчей сооснователь DeepMind {{iw|Демис Хассабис|||Demis Hassabis}} написал в своём твите: «с нетерпением ждём официальных полных матчей го позже в 2017, в сотрудничестве с организациями и экспертами го»<ref name="Master" /><ref name="Nature-Master" />.


Master играл по 10 игр в день и быстро привлёк внимание многих игроков сервера Tygem своими исключительными навыками. Многие быстро заподозрили, что это ИИ-игрок, так как между играми или не было перерывов, или они длились очень мало. Противниками Master становились чемпионы мира, такие как [[Кэ Цзе]], [[Пак Чжон Хван]], [[Юта Ияма]], [[То Цзяси]], Mi Yuting, Shi Yue, [[Чэнь Яое]], Li Qincheng, [[Гу Ли]], [[Чан Хао]], Tang Weixing, {{iw|Fan Tingyu}}, [[Чжоу Жуйян]], {{iw|Jiang Weijie}}, {{iw|Chou Chun-hsun}}, {{iw|Kim Ji-seok|||Kim Ji-seok (Go player)}}, [[Кан Дон Юн]], [[Пак Ён Хун]], {{iw|Won Seong-jin}}; помимо них национальные чемпионы и серебряные призёры мировых чемпионатов: Lian Xiao, {{iw|Tan Xiao}}, Meng Tailing, Dang Yifei, Huang Yunsong, {{iw|Yang Dingxin}}, Shin Jinseo, [[Чо Хансын]], An Sungjoon. Все 60 игр, кроме одной, были быстрыми с тремя 20- или 30-секундными бёёми, в игре с [[Не Вэйпин]]ом Master предложил увеличить бёёми до одной минуты ввиду пожилого возраста последнего. После 59 выигрышных матчей Master раскрыл в чате, что им управляет доктор Aja Huang из DeepMind<ref>{{cite web|url=http://www.thepaper.cn/newsDetail_forward_1593503|title=横扫中日韩棋手斩获59胜的Master发话:我是阿尔法狗|publisher=澎湃新闻|date=2017-01-04}}</ref>.
Master играл по 10 игр в день и быстро привлёк внимание многих игроков сервера Tygem своими исключительными навыками. Многие быстро заподозрили, что это ИИ-игрок, так как между играми или не было перерывов, или они длились очень мало. Противниками Master становились чемпионы мира, такие как [[Кэ Цзе]], [[Пак Чжон Хван]], [[Юта Ияма]], [[То Цзяси]], Ми Юйтин, Ши Юэ, [[Чэнь Яое]], Ли Циньчэн, [[Гу Ли]], [[Чан Хао]], Тан Вэйсин, {{iw|Фань Тинъюй|||Fan Tingyu}}, [[Чжоу Жуйян]], {{iw|Цзян Вэйцзе|||Jiang Weijie}}, {{iw|Чжоу Цзюньсюнь|||Chou Chun-hsun}}, {{iw|Ким Джисок|||Kim Ji-seok (Go player)}}, [[Кан Дон Юн]], [[Пак Ён Хун]], {{iw|Вон Сонджин|||Won Seong-jin}}; помимо них национальные чемпионы и серебряные призёры мировых чемпионатов: Лянь Сяо, {{iw|Тань Сяо|||Tan Xiao}}, Мэн Тайлин, Дан Ифэй, Хуан Юньсун, {{iw|Ян Динсинь|||Yang Dingxin}}, Син Джинсо, [[Чо Хансын]], Ан Сунджун. Все 60 игр, кроме одной, были быстрыми с тремя 20- или 30-секундными бёёми, в игре с [[Не Вэйпин]]ом Master предложил увеличить бёёми до одной минуты ввиду пожилого возраста последнего. После 59 выигрышных матчей Master раскрыл в чате, что им управляет доктор Аджа Хуан из DeepMind<ref>{{cite web|url=http://www.thepaper.cn/newsDetail_forward_1593503|title=横扫中日韩棋手斩获59胜的Master发话:我是阿尔法狗|publisher=澎湃新闻|date=2017-01-04}}</ref>.


=== Возможные будущие матчи ===
=== Возможные будущие матчи ===

Версия от 09:53, 6 января 2017

Лого AlphaGo

AlphaGo — программа для игры в го, разработанная компанией Google DeepMind в 2015 году. AlphaGo стала первой в мире программой, которая выиграла равный матч у профессионального игрока в го на стандартной доске 19×19[⇨], и эта победа ознаменовала собой важный прорыв в области искусственного интеллекта, так как большинство специалистов по искусственному интеллекту считало, что подобная программа не будет создана ранее 2020—2025 года[⇨]. В марте 2016 года программа выиграла со счётом 4—1 у Ли Седоля, профессионала 9 дана (высшего ранга), во время исторического матча, широко освещавшегося в прессе[1][⇨]. После победы в матче Корейская ассоциация падук присвоила AlphaGo «почётный 9 дан» (наивысший ранг в го) за «искренние усилия» программы в овладении мастерством игры[2].

Победу AlphaGo над Ли Седолем часто сравнивают с шахматным матчем между программой Deep Blue и Гарри Каспаровым[англ.]* 1997 года, где победа программы, созданной IBM, над действовавшим чемпионом стала символической точкой отсчёта новой эпохи, когда компьютеры превзошли людей в шахматах[3]. В отличие от Deep Blue, AlphaGo — это программа, которая не привязана к конкретному аппаратному обеспечению. Кроме того, AlphaGo основана на общих принципах машинного обучения и практически не использует ни алгоритмов, ни оценочных функций, специфичных для игры в го. При разработке AlphaGo авторы использовали только самую элементарную теорию игры в го, программа достигла высокого уровня игры, обучаясь сама на партиях профессионалов[⇨]. Таким образом, её методы машинного обучения могут быть использованы в других областях применения искусственного интеллекта. В частности, команда разработчиков планирует применить опыт, полученный при написании AlphaGo, для создания системы медицинской диагностики[⇨].

AlphaGo комбинирует технику, которая дала большой прорыв в силе программ для игры в го в 2007—2012 годах (метод Монте-Карло для поиска в дереве[англ.]), и недавние успехи в области машинного обучения, а именно глубинное обучение с помощью многоуровневых нейронных сетей[⇨].

История

По словам одного из авторов AlphaGo, Давида Сильвера (англ. David Silver), работа над программой началась в 2014 году с исследования того, как новые методы глубинного обучения будут работать в го[4].

Чтобы оценить силу своей программы, авторы устроили турнир между AlphaGo и лучшими свободными и коммерческими программами для игры в го (Crazy Stone[англ.], Zen[англ.], Pachi, Fuego), которые использовали метод Монте-Карло, и GNU Go, которая была лучшей свободной программой до использования метода Монте-Карло. В результате версия AlphaGo, использующая один компьютер, выиграла 494 матча из 495[5].

Матч с Фань Хуэем

Фань Хуэй

В октябре 2015 года AlphaGo выиграла у трёхкратного чемпиона Европы Фань Хуэя (2 профессиональный дан) матч из пяти партий со счётом 5—0. Это первый в истории случай, когда компьютер выиграл в го у профессионала в равной игре. Об этом было публично объявлено в январе 2016 года после публикации статьи[6] в Nature[7][8]. На каждую партию игрокам давалось по одному часу и 3 бёёми по 30 секунд.

После своего поражения Фань Хуэй заявил, что благодаря этому матчу он стал играть лучше и стал видеть те элементы игры, которые не замечал ранее; к марту 2016 года мировой рейтинг Фань Хуэя поднялся примерно на 300 позиций[9].

Ниже приведён пример партии, в которой AlphaGo играла чёрными. Фань Хуэй сдался после 165 ходов[5].

19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Первые 99 ходов (96 в 10)
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Ходы 100—165.

После матча с Фань Хуэем программа AlphaGo стала играть существенно лучше (её рейтинг Эло, считаемый по играм разных версий программы друг с другом, возрос на 1500 пунктов и превысил 4500). Новая версия могла выигрывать у старой, давая фору 3—4 камня[10].

Матч AlphaGo — Ли Седоль

Ли Седоль в 2016 году

C 9 по 15 марта 2016 года проходил матч AlphaGo с Ли Седолем (9-й дан)[7] в Сеуле, Южная Корея. Было сыграно 5 партий. На каждую партию игрокам давалось по 2 часа и 3 бёёми по одной минуте. Призовой фонд составил 1 млн долларов. Игры транслировались в прямом эфире на YouTube[11].

На момент матча у Ли Седоля было второе место по количеству выигранных чемпионатов мира[12]. Несмотря на то, что не существует единого официального международного метода ранжирования игроков в го, некоторые источники ставят Ли Седоля четвёртым в мире игроком на время матча[13][14].

AlphaGo выиграла матч со счётом 4—1. Ли Седоль сдался в четырёх из пяти игр. AlphaGo, играя чёрными, проиграла в четвёртой партии после 180 ходов. По словам разработчиков программы, AlphaGo сдаётся, когда оценивает вероятность своего выигрыша меньше 20 %[15].

По мнению экспертов, AlphaGo во время матча с Ли Седолем была существенно сильнее и предлагала более сложную игру, чем во время матча с Фань Хуэем[16]. Ли Седоль во время пресс-конференции сказал, что его поражение — это «поражение Ли Седоля», а не «поражение человечества»[17].

Неофициальные матчи в конце 2016 — начале 2017

29 декабря 2016 на го-сервере Tygem новый аккаунт «Master» начал играть матчи с профессионалами го, 1 января 2017 он перешёл на го-сервер FoxGo. 4 января 2017 DeepMind подтвердил, что за Master и ещё за один более ранний аккаунт Magister играла обновлённая версия AlphaGo[18][19]. AlphaGo выиграл все 60 сыгранных матчей (30 на каждом сервере)[20]. По окончании всех матчей сооснователь DeepMind Демис Хассабис[англ.]* написал в своём твите: «с нетерпением ждём официальных полных матчей го позже в 2017, в сотрудничестве с организациями и экспертами го»[18][19].

Master играл по 10 игр в день и быстро привлёк внимание многих игроков сервера Tygem своими исключительными навыками. Многие быстро заподозрили, что это ИИ-игрок, так как между играми или не было перерывов, или они длились очень мало. Противниками Master становились чемпионы мира, такие как Кэ Цзе, Пак Чжон Хван, Юта Ияма, То Цзяси, Ми Юйтин, Ши Юэ, Чэнь Яое, Ли Циньчэн, Гу Ли, Чан Хао, Тан Вэйсин, Фань Тинъюй[англ.], Чжоу Жуйян, Цзян Вэйцзе[англ.], Чжоу Цзюньсюнь[англ.], Ким Джисок[англ.], Кан Дон Юн, Пак Ён Хун, Вон Сонджин[англ.]; помимо них национальные чемпионы и серебряные призёры мировых чемпионатов: Лянь Сяо, Тань Сяо[англ.], Мэн Тайлин, Дан Ифэй, Хуан Юньсун, Ян Динсинь[англ.], Син Джинсо, Чо Хансын, Ан Сунджун. Все 60 игр, кроме одной, были быстрыми с тремя 20- или 30-секундными бёёми, в игре с Не Вэйпином Master предложил увеличить бёёми до одной минуты ввиду пожилого возраста последнего. После 59 выигрышных матчей Master раскрыл в чате, что им управляет доктор Аджа Хуан из DeepMind[21].

Возможные будущие матчи

Во время матча с Ли Седолем генеральный директор DeepMind Демис Хассабис выразил желание выбрать следующим оппонентом AlphaGo Кэ Цзе[22], китайского игрока в го, неофициально считавшегося лучшим игроком в мире[13]. 4 июня 2016 года китайские официальные лица объявили, что Ке Цзе сыграет с AlphaGo в течение года[23], однако глава DeepMind Демис Хассабис[англ.]* в твиттере опроверг эти слухи[24]. Позже Демис Хассабис сказал, что команда работает над улучшением AlphaGo, и следующая игра состоится в начале 2017 года[25].

Значение

До создания AlphaGo го являлось одной из немногих традиционных игр, в которые человек играл лучше компьютера[26].

Го намного сложнее шахмат из-за большего количества возможных позиций. Во-первых, как правило, в го в каждой позиции существует больше разрешённых ходов, чем в шахматах. Во-вторых, партия в го в среднем длится больше ходов. Эти два свойства делают го очень сложной для традиционных методов искусственного интеллекта, таких как альфа-бета-отсечение[8][27].

По этой причине даже спустя почти двадцать лет, после того как компьютер Deep Blue впервые выиграл у чемпиона мира Каспарова в 1997 году, самые сильные программы, играющие в го, достигли только любительского 5 дана, и не могли выиграть у профессионала на полной доске [8][28][29]. Лучшими достижениями искусственного интеллекта в го были победы программы Zen[англ.], работающей на кластере из четырёх компьютеров, против профессионала 9 дана Масаки Такэмия два раза с форой в пять и четыре камня в 2012 году[30], а также победа программы Crazy Stone[англ.] над Ёсио Исидой (9 профессиональный дан) с форой в четыре камня в 2013 году[31].

Создание программы, которая хорошо бы играла в го, являлось камнем преткновения в развитии искусственного интеллекта[1]. До 2015 года большинство специалистов по искусственному интеллекту считали, что программа, способная победить чемпиона мира в го, не будет создана, по крайней мере, в течение следующих пяти лет[32], а многие из них предполагали, что на это потребуется как минимум десять лет[33][34][35][36]. Даже после победы AlphaGo над Фань Хуэем многие эксперты предсказывали, что AlphaGo проиграет Ли Седолю[37].

После матча с Ли Седолем правительство Южной Кореи объявило об инвестиции 1 триллиона вон (863 миллиона долларов) в исследование искусственного интеллекта в течение следующих пяти лет[38].

Практическое применение

Методы, разработанные для игры в AlphaGo, могут применяться и в других областях искусственного интеллекта, в частности для медицинской диагностики[39]. Как сообщил основатель DeepMind Демис Хассабис[англ.]*, DeepMind заключил соглашение с Национальной службой здравоохранения Великобритании для изучения возможности применения искусственного интеллекта для анализа медицинских данных[40][41]. Для этого было основано подразделение DeepMind Health.

Устройство AlphaGo

Основные принципы

Существенной особенностью AlphaGo является то, что она использует общие алгоритмы, которые практически не зависят от особенностей игры го[42]. В алгоритм AlphaGo заложены только базовые принципы игры, с которых начинает изучение игры любой начинающий, такие как подсчёт числа свободных свободных пунктов (дамэ) у группы камней, и анализ возможности захватить камни, используя приём «лестница» (ситё). Остальное AlphaGo выучила сама, анализируя базу данных из 160 тысяч партий общими методами, которые могут использоваться и в других областях искусственного интеллекта[43]. Этим AlphaGo отличается от таких систем, как Deep Blue — шахматного суперкомпьютера[4]. При написании алгоритма для Deep Blue использовалась продвинутая шахматная теория. Так, например, для оценки позиции Deep Blue использовал 8000 настраиваемых признаков, в Deep Blue была заложена огромная библиотека дебютов[44]. AlphaGo — программа, которая может работать на любом аппаратном обеспечении (хотя она использовала процессор, разработанный специально для машинного обучения[⇨]), и принципы которой можно использовать в других областях. Она не использует библиотеку дебютов и во время игры не обращается ни к какой базе данных ходов непосредственно (а только использует нейронную сеть, натренированную на большом количестве партий). Сами разработчики программы не знают, как AlphaGo оценивает позицию, её ходы представляют собой феномен эмерджентности[45]. Кроме того, Deep Blue был разработан с одной целью — выиграть матч у Гарри Каспарова в шахматы[4][46]. AlphaGo не была обучена играть специально против Ли Седоля[17][47], более того, в базе данных тренировки AlphaGo не было партий Ли Седоля[48], и во время матча программа AlphaGo не менялась и не подстраивалась под стиль игры Ли Седоля[49].

Главное новшество AlphaGo заключается в использовании глубинного обучения — метода, успешно применявшегося для распознавания образов (например, для поиска картинок в Google Images)[50]. А именно, AlphaGo использует нейронные сети, обученные на большом количестве профессиональных партий, способные предсказывать, какой ход сделает профессионал в той или иной позиции. Сыгранные сами с собой партии дополнительно улучшили нейронные сети. Одно лишь это позволило AlphaGo играть на уровне лучших компьютерных программ 2015 года: без перебора вариантов, используя лишь нейронную сеть для выбора хода, программа смогла выиграть у Pachi (программы, играющей на уровне второго любительского дана)[51].

Как и лучшие предшествующие программы для игры в го, AlphaGo использует также метод Монте-Карло для поиска в дереве[англ.] (MCST)[51]. Суть этого метода (названного по аналогии с методом Монте-Карло в вычислительной математике) состоит в том, что для оценки позиции программа много раз играет сама с собой случайным образом, доводя каждый раз игру до конца. Потом выбирает ход, при котором было наибольшее число побед.

Технологии, предшествующие AlphaGo

Общие подходы к играм с полной информацией

Го является игрой с полной информацией. Теоретически для любой игры с полной информацией существует оптимальная стратегия. Чтобы найти оптимальную стратегию, нужно обойти?! полное дерево игры[англ.]. Например, таким образом в 2007 году программа Chinook полностью решила[англ.] английские шашки[52]. Однако для большинства игр этот метод непрактичен, так как размер дерева может быть очень большим. Его можно оценить как , где  — степень ветвления[англ.]* дерева игры (то есть примерное число возможных ходов в каждой позиции), а  — глубина дерева игры (то есть примерная длина партии). Для го в то время как для шахмат Перебор может быть сокращён с использованием двух техник.

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

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

Метод Монте-Карло для поиска в дереве

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

Для улучшения этого алгоритма применялись функции, позволяющие предсказать наиболее вероятный следующий ход. До AlphaGo использовались линейные оценочные функции и функции, полученные поверхностным обучением (shallow policies). Такой подход позволил достичь уровня сильного любителя.

Архитектура свёрточной нейронной сети

Глубинное обучение

AlphaGo работает, используя нейронные сети, — технику, которая успешно применяется при распознавании образов. Большой прорыв в этой области произошёл благодаря использованию многоуровневых свёрточных нейронных сетей и специальной техники их тренировки — глубинному обучению. Свёрточные нейронные сети состоят из нескольких уровней нейронов. Каждый уровень получает на вход матрицу чисел, комбинирует их с некоторыми весами и, используя нелинейную функцию активации?!, выдаёт множество чисел на выходе, которые передаются на следующий уровень. При распознавании образов изображение подаётся на первый уровень, а последний уровень выдаёт результат. Нейронные сети обучают на большом количестве изображений, постоянно корректируя веса, используемые для вычисления результата. В результате нейронная сеть приходит в такую конфигурацию, которая способна сама распознавать аналогичные изображения. Этот процесс невозможно предсказать, поэтому сложно сказать, как нейронная сеть «думает», но, грубо говоря, выходы на промежуточных уровнях соответствуют различным возможным классификациям[53][50].

С помощью этой техники удалось добиться больших успехов в распознавании образов, в частности в распознавании лиц. Кроме того, компания DeepMind использовала её для создания искусственного интеллекта, способного самостоятельно обучаться видеоигре на игровой консоли Atari 2600, используя в качестве входа видео, полученное с экрана[54].

Алгоритм AlphaGo

Представление позиции

AlphaGo использует свёрточные нейронные сети для того, чтобы оценить позицию или предсказать следующий ход. Аналогично тому, как при распознавании образов на нейронную сеть подаётся изображение, AlphaGo подаёт на нейронные сети позицию. Каждая позиция представлена как многослойная картинка , где каждый слой представляет описания простых свойств каждого пункта доски. Используются следующие простые свойства: цвет камня, количество свободных пунктов (дамэ) у данной группы камней (если их не больше 8), взятие камней, возможность сходить в данный пункт, был ли данный камень поставлен недавно. Единственное нетривиальное свойство, которое используется, — это угрожает ли данной группе захват в лестницу (ситё). Всего используется 48 бинарных свойств (свойства, выраженные целым числом, представляются при помощи унитарного кода). Таким образом каждая позиция представлена в виде таблицы бит [55].

Стратегическая сеть

Для того, чтобы не рассматривать совсем плохие ходы, и тем самым сократить степень ветвления при поиске, AlphaGo использует стратегические сети[56] (англ. policy networks) — нейронные сети, которые помогают выбирать хороший ход.

Одна из таких сетей (SL policy networks) может предсказывать ход, который в данной позиции сделал бы профессионал. Это 13-уровневая нейронная сеть получена обучением «с учителем» (англ. supervised learning, SL) на 30 миллионах позиций, взятых из 160 тысяч партий, сыгранных на сервере KGS[англ.] игроками от 6 до 9 дана. Обучение происходило в течение четырёх недель на 50 GPU; в качестве обучающего алгоритма использовался стохастический градиентный спуск[англ.] для поиска максимального правдоподобия[57]. Получившаяся нейронная сеть вычисляла распределение вероятностей среди всех возможных ходов в данной позиции (представленной, как описано выше). В результате нейронная сеть смогла правильно предсказывать ход, который выбрал человек, в 57 % тестовых ситуациях[англ.] (не использованных при обучении). Для сравнения лучший результат до AlphaGo был 44 %. Даже небольшое увеличение точности предсказаний существенно увеличивает силу игры.

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

Улучшенная стратегическая сеть

Стратегическая сеть была улучшена при помощи обучения с подкреплением (англ. reinforcement learning, RL): а именно сеть постоянно улучшалась, играя с одной из сетей, полученных ранее. При этом каждый раз выбиралась случайная сеть из полученных ранее, чтобы избежать переобучения (ситуации, когда программа выбирает лучший ход, в предположении, что оппонент использует ту же стратегию, но может плохо играть против другого оппонента). В результате получилась стратегическая сеть (RL policy network), которая выигрывала у первоначальной сети 80 % игр.

Оказалось, что полученная стратегическая сеть, не используя ни оценочную функцию, ни перебор вариантов, смогла выиграть 85 % игр у самой сильной на то время открытой программы Pachi. Для сравнения, до этого лучшая программа, которая играла, не используя перебор вариантов, а только свёрточную нейронную сеть, выигрывала у Pachi 11 % игр. Таким образом AlphaGo без перебора вариантов смогла достичь примерно уровня третьего любительского дана по оценке авторов программы[58].

Быстрая стратегическая сеть

Для симуляции игры, требуемой в методе Монте-Карло (см. ниже), AlphaGo использует более быстрый, но менее точный вариант стратегической сети (rollout policy), который получает ответ всего за 2 мкс. Эта быстрая сеть предсказывает ход человека с вероятностью 30 %[59], в то время как улучшенная стратегическая сеть выдаёт ответ на том же оборудовании за 3 мс с вероятностью 57 %.

Оценочная сеть

Для сокращения глубины поиска AlphaGo использовала оценочную сеть[56] (англ. value network). Эта нейронная сеть оценивает вероятность выигрыша в данной позиции. Эта сеть является результатом обучения на 30 миллионах позиций, полученных при игре улучшенной стратегической сети с собой. При этом из каждой игры выбиралось не более чем по одной позиции (чтобы избежать переобучения из-за похожести позиций в одной игре). Для каждой из этих позиций оценивалась вероятность выигрыша методом Монте-Карло: устраивался турнир из многих партий, в которых улучшенная стратегическая сеть, построенная на прошлом этапе[⇦], играла сама с собой, начиная с этой позиции. После этого оценочная сеть была обучена на этих данных. Обучение заняло одну неделю на 50 GPU. В результате получилась сеть, которая могла предсказывать для каждой позиции вероятность выигрыша, при этом используя в 15 000 раз меньше вычислений, чем метод Монте-Карло.

Поиск в дереве

AlphaGo осуществляет перебор вариантов при помощи метода Монте-Карло для поиска в дереве[англ.] следующим образом. AlphaGo строит частичное дерево игры[англ.], начиная с текущей позиции, производя многочисленные симуляции игры. Для каждого хода в дереве записывается оценка, которая специальным образом зависит от оценок хода, полученных при помощи стратегической[⇦] и оценочной[⇦] сетей, от результата случайных партий в предыдущих симуляциях и от количества предыдущих симуляций, выбравших этот ход (чем чаще выбирался раньше этот ход, тем ниже оценка, чтобы программа рассматривала больше разнообразных ходов).

Вначале каждой симуляции AlphaGo выбирает ход в уже построенном дереве, с максимальной оценкой. Когда симуляция доходит до позиции, которой нет в дереве, эта позиция добавляется в дерево, вместе со всеми ходами, разрешёнными в этой позиции, которые оцениваются при помощи стратегической сети[⇦]. Далее, как в методе Монте-Карло, игра симулируется до конца без ветвления. В этой симуляции каждый ход выбирается случайно с вероятностью, полученной при помощи быстрой стратегической сети[⇦].

В конце симуляции, в зависимости от результата, обновляются оценки ходов в построенном дереве. Таким образом каждая симуляция начинается с текущей игровой позиции, доходит до конца, и в результате одной симуляции в текущем дереве раскрывается одна позиция.

Авторы программы обнаружили, что на этом этапе выгоднее использовать не улучшенную стратегическую сеть[⇦], а первоначальную (SL policy network)[⇦]. Как считают авторы, это связано с тем, что профессиональные игроки выбирают более разнообразные ходы, чем улучшенная сеть, что позволяет программе рассматривать больше вариантов. Таким образом улучшенная стратегическая сеть не используется во время игры, но её использование существенно для построения оценочной сети[⇦], когда программа обучается, играя сама с собой.

Аппаратное обеспечение

Стойка TPU[англ.]*, используемая AlphaGo в матче с Ли Седолем.

Обучение AlphaGo происходило в течение нескольких недель на 50 графических процессорах, используя платформу Google Cloud[англ.], сервера которой расположены в США[57][60].

AlphaGo тестировалась в компьютерных системах с различным количеством процессоров и графических процессоров, работающих параллельно или распределённо. В каждом случае давалось 2 секунды на ход. Достигнутые при этом рейтинги Эло представлены в таблице[61] .

Вычисления Потоков
выполнения
Число ЦП Число ГП Рейтинг Эло
Параллельные 40 48 1 2181
Параллельные 40 48 2 2738
Параллельные 40 48 4 2850
Параллельные 40 48 8 2890
Распределённые 12 428 64 2937
Распределённые 24 764 112 3079
Распределённые 40 1202 176 3140
Распределённые 64 1920 280 3168

Версия, которая выиграла у Фань Хуэя в октябре 2015 года, работала на 1202 процессорах и 176 графических процессорах[62] .

В игре с Ли Седолем в марте 2016 года AlphaGo использовала 1920 процессоров и 280 графических процессоров, работающих в распределённой сети[63].

В мае 2016 года представители компании Google объявили, что AlphaGo использовала TPU[англ.]*, процессор, разработанный Google, специально для машинного обучения[64][65].

Стиль игры

Тоби Маннинг, судья в матче AlphaGo с Фань Хуэем, охарактеризовал стиль игры AlphaGo скорее как консервативный, чем агрессивный[66]. По словам генерального директора DeepMind Демиса Хассабиса, AlphaGo пытается увеличить вероятность выигрыша, а не разрыв в количестве очков[4].

Профессиональные игроки отмечали, что некоторые ходы AlphaGo, первоначально кажущиеся ошибочными, при более глубоком изучении оказывались стратегически важными[67].

Не Вэйпин (9 профессиональный дан, Китай) после первой игры с Ли Седолем предположил, что AlphaGo играет на уровне 6 или 7 профессионального дана в фусэки и 13—15 дана в тюбане[68].

В третьей партии выяснилось, что AlphaGo способна управлять ситуацией при ведении ко-борьбы, что ранее считалось значительной слабостью большей части программ, играющих в го[69].

Некоторые обозреватели охарактеризовали ошибки AlphaGo, приведшие к поражению в четвёртой партии, как типичные ошибки для программы, работающей на основе метода Монте-Карло[70]. Демис Хассабис заявил, что эти ошибки будут тщательно проанализированы, и что, видимо, AlphaGo не знает некоторые классические тэсудзи и совершает тактические ошибки[71]. Впоследствии Айа Хуань (один из разработчиков AlphaGo, который ставил камни за AlphaGo) сказал, что у команды авторов два предположения о причинах этих ошибок: либо AlphaGo просто не хватило глубины просмотра, чтобы проанализировать ситуацию; либо 78-й ход Ли Седоля был настолько необычным (комментаторы его называли «божественным»[70]), что программа при самообучении не встречала подобных ситуаций, в результате её оценочная функция (см. выше) в этой ситуации оказалась слаба. В любом случае, по словам Айа Хуаня, новая версия AlphaGo в этой ситуации уже играет правильно. При этом команда не делала ничего специального, AlphaGo сама в результате обучения перестала делать такие ошибки[72].

После матча Ли Седоль заявил, что был побеждён психологически, но вовсе не технически[73]. Программа показала способность к креативным решениям, что удивило многих игроков (например, ход № 37 во второй партии); некоторые ходы противоречили классической теории го, но в матче доказали свою эффективность, некоторые профессионалы стали использовать эти находки в своих партиях[45].

Аналогичные системы

Facebook также разрабатывает программу для игры в го, Darkforest[англ.], которая тоже основана на машинном обучении и поиске в дереве[66][74]. На начало 2016 года Darkforest показал сильную игру против других компьютеров, но не смог выиграть у профессионала[75]. По силе Darkforest оценивается на уровне программ Crazy Stone[англ.] и Zen[англ.][76].

1 марта 2016 года разработчики программы Zen (Ёдзи Одзима и Хидэки Като), компания DWANGO и исследовательская группа глубинного обучения Токийского университета (которая создала программу Ponanza[яп.] для игры в сёги, победившую человека) объявили о совместном проекте «Deep Zen Go Project», с целью победить AlphaGo в течение 6—12 месяцев. Японская ассоциация го обещала поддержать проект[77]. В ноябре 2016 года Deep Zen Go проиграла со счётом 2-1 самому титулованному игроку Японии Тё Тикуну[78][79].

Литература

Примечания

  1. 1 2 Metz C. Why the Final Game Between AlphaGo and Lee Sedol Is Such a Big Deal for Humanity (англ.). // Wired News (14 марта 2016). Дата обращения: 10 ноября 2016.
  2. Google's AlphaGo gets 'divine' Go ranking (англ.). // The Straits Times (2016-3-15). Дата обращения: 10 ноября 2016.
  3. Artificial intelligence: Google's AlphaGo beats Go master Lee Se-dol. // BBC News (12 марта 2016).
  4. 1 2 3 4 Ribeiro J. AlphaGo’s unusual moves prove its AI prowess, experts say. // PC World (14 марта 2016). Дата обращения: 12 июля 2016.
  5. 1 2 Silver et al., 2016, p. 488.
  6. Silver et al., 2016.
  7. 1 2 Искусственный интеллект впервые победил профессионального игрока в го (рус.). // Meduza. Дата обращения: 27 января 2016.
  8. 1 2 3 Research Blog: AlphaGo: Mastering the ancient game of Go with Machine Learning. // Google Research Blog (27 января 2016).
  9. Metz C. The Sadness and Beauty of Watching Google’s AI Play Go. // Wired News (11 марта 2016).
  10. Huang A. Alpha Go: Combining Deep Neural Networks with Tree Search // Keynote Lecture CG2016 Conference на YouTube, начиная с 35:56
  11. Demis Hassabis on Twitter. // Twitter. Дата обращения: 14 февраля 2016.
  12. Borowiec S. Google's AI machine v world champion of 'Go': everything you need to know. // The Guardian (9 марта 2016). Дата обращения: 15 марта 2016.
  13. 1 2 Coulom R. Rating List of 2016-01-01. Архивировано 18 марта 2016 года.
  14. Ji-yoon L. Korean Go master proves human intuition still powerful in Go. // The Korean Herald/ANN (14 марта 2016). Дата обращения: 15 марта 2016.
  15. Metz C. Go Grandmaster Lee Sedol Grabs Consolation Win Against Google’s AI. // Wired News (13 марта 2016). Дата обращения: 29 марта 2016.
  16. Ribeiro J. Google’s AlphaGo AI program strong but not perfect, says defeated South Korean Go player. // PC World (12 марта 2016). Дата обращения: 13 марта 2016.
  17. 1 2 Sung-won Y. Lee Se-dol shows AlphaGo beatable. // The Korea Times (13 ноября 2016). Дата обращения: 15 марта 2016.
  18. 1 2 Demis Hassabis. Demis Hassabis on Twitter: "Excited to share an update on #AlphaGo!". Demis Hassabis's Twitter account (4 января 2017). Дата обращения: 4 января 2017.
  19. 1 2 Elizabeth Gibney. Google reveals secret test of AI bot to beat top Go players. Nature (4 января 2017). Дата обращения: 4 января 2017.
  20. Еще один матч закончился ничьей, так как игрок-человек отсоединился от сервера из-за проблем с сетью. Но результат не был засчитан на сервере FoxGo, поскольку отсоединение произошло в самом начале матча.
  21. 横扫中日韩棋手斩获59胜的Master发话:我是阿尔法狗. 澎湃新闻 (4 января 2017).
  22. Shaohui T. AlphaGo can't beat me, says Chinese Go grandmaster Ke Jie. // English.news.cn. Дата обращения: 15 марта 2016.
  23. Top Go player likely to compete with AlphaGo within this year. // China Daily (6 июня 2016). Дата обращения: 6 июня 2016.
  24. Hassabis D. Hassabis' message. // Demis Hassabis' Twitter account (6 июня 2016). Дата обращения: 6 июня 2016..
  25. Hassabis D. Hassabis's message. // Demis Hassabis's Twitter account (7 ноября 2016). Дата обращения: 22 ноября 2016.
  26. Levinovitz A. The Mystery of Go, the Ancient Game That Computers Still Can’t Win (амер. англ.). // Wired News. Дата обращения: 30 января 2016.
  27. Schraudolph N. N., Dayan P., Sejnowski T. J. Temporal difference learning of position evaluation in the game of Go. // Advances in Neural Information Processing Systems. — 1994. — С. 817.
  28. Google achieves AI 'breakthrough' by beating Go champion. // BBC News (27 января 2016).
  29. Mullen J. Computer scores big win against humans in ancient game of Go. // CNN (28 января 2016).
  30. Ormerod D. Zen computer Go program beats Takemiya Masaki with just 4 stones! // Go Game Guru. Дата обращения: 28 января 2016.
  31. Cambier A. Le Corps sans limites (фр.). — Presses Univ. Septentrion, 2016. — С. 100. — 146 с. — ISBN 9782757414859.
  32. Gershgorn D. Google's AlphaGo Beats World Champion in Third Match to Win Entire Series. // Popular Science (12 марта 2016). Дата обращения: 13 ноября 2016.
  33. Hoffman W. Elon Musk Says Google Deepmind's Go Victory Is a 10-Year Jump For A.I. // Inverse (9 марта 2016). Дата обращения: 12 марта 2016.
  34. Silver et al., 2016, p. 484.
  35. Google DeepMind computer AlphaGo sweeps human champ in Go matches. // CBC News (12 марта 2016). Дата обращения: 13 марта 2016.
  36. Yan S. A Google computer victorious over the world's 'Go' champion. // CNN Money (12 марта 2016). Дата обращения: 13 марта 2016.
  37. Borowiec S., Lien T. AlphaGo beats human Go champ in milestone for artificial intelligence. // Los Angeles Times (12 марта 2016). Дата обращения: 13 марта 2016.
  38. Zastrow M. South Korea trumpets $860-million AI fund after AlphaGo 'shock' (англ.) // Nature News. — 2016. — 18 March. — doi:10.1038/nature.2016.19595.
  39. Zhang Z. When doctors meet with AlphaGo: potential application of machine learning to clinical medicine // Annals of Translational Medicine. — 2016-03-01. — Т. 4, вып. 6. — ISSN 2305-5839. — doi:10.21037/atm.2016.03.25.
  40. Byford S. DeepMind founder Demis Hassabis on how AI will shape the future. // The Verge (10 марта 2016). Дата обращения: 12 июля 2016.
  41. AlphaGo Can Shape The Future Of Healthcare. // The Medical Futurist (5 апреля 2016). Дата обращения: 12 июля 2016.
  42. Man vs. machine: Google's AI to take on grand master of ancient Chinese board game (англ.). // ABC News (8 марта 2016). Дата обращения: 12 июля 2016.
  43. Silver et al., 2016, Methods, p. 489.
  44. Арлазаров В. Л. Алгоритмы шахматных программ. // acm.mipt.ru. Дата обращения: 12 июля 2016.
  45. 1 2 Metz C. Google's AI Wins Pivotal Second Game in Match With Go Grandmaster. // Wired News (10 марта 2016). Дата обращения: 12 марта 2016.
  46. Silver N. The Signal and the Noise: Why So Many Predictions Fail-but Some Don't. — Penguin, 2012-09-27. — 449 с. — P. 195. — ISBN 9781101595954.
  47. Match 3 - Google DeepMind Challenge Match: Lee Sedol vs AlphaGo на YouTube, начиная с 22:30
  48. Match 4 - Google DeepMind Challenge Match: Lee Sedol vs AlphaGo на YouTube, начиная с 6:09:35
  49. Google AlphaGo and machine learning (Alphago Korean Press Briefing 2 of 2) на YouTube
  50. 1 2 Maas D. How AlphaGo Works (англ.). // Maas Digital (28 января 2016).
  51. 1 2 Burger C. Google DeepMind's AlphaGo: How it works. // On Personalization and Data (16 марта 2016). Дата обращения: 1 ноября 2016.
  52. Schaeffer J., Burch N., Björnsson Y., Kishimoto A., Müller M., Lake R., Lu P., Sutphen S. Checkers is Solved // Science. — 2007. — Т. 317, № 5844. — P. 1518–22. — doi:10.1126/science.1144079. — PMID 17641166.
  53. Convolutional Neural Networks (LeNet) - DeepLearning 0.1 documentation. // DeepLearning 0.1 (LISA Lab). Дата обращения: 31 августа 2013.
  54. Clark L. DeepMind's AI is an Atari gaming pro now. // Wired UK. Дата обращения: ноябрь 2016.
  55. Silver et al., 2016, Methods.
  56. 1 2 Черников А. Хроники Го-4. После матча. // Компьютерное Обозрение (18 марта 2016). Дата обращения: 6 июня 2016.
  57. 1 2 Huang A. Alpha Go: Combining Deep Neural Networks with Tree Search // Keynote Lecture CG2016 Conference на YouTube, начиная с 27:00
  58. Huang A. Alpha Go: Combining Deep Neural Networks with Tree Search // Keynote Lecture CG2016 Conference на YouTube, начиная с 27:45
  59. В статье журнала Nature (Silver et al., 2016) утверждалось, что стратегическая сеть AlphaGo предсказывает ход человека с вероятностью 24 %, но позже один из авторов, Айа Хуань, заявил, что эти данные ошибочные. См. Huang A. Alpha Go: Combining Deep Neural Networks with Tree Search // Keynote Lecture CG2016 Conference на YouTube, начиная с 34:45
  60. 李世乭:即使Alpha Go得到升级也一样能赢 (неопр.). // JoongAng Ilbo (23 февраля 2016). Дата обращения: 7 июня 2016.
  61. Silver et al., 2016, Table 8.
  62. Silver et al., 2016, Table 6.
  63. Showdown: Win or lose, a computer program’s contest against a professional Go player is another milestone in AI (англ.). // The Economist (12 марта 2016).
  64. McMillan R. Google Isn’t Playing Games With New Chip. // Wall Street Journal (18 мая 2016). Дата обращения: 26 июня 2016.
  65. Jouppi N. Google supercharges machine learning tasks with TPU custom chip (амер. англ.). // Google Cloud Platform Blog (18 мая 2016). Дата обращения: 26 июня 2016.
  66. 1 2 Gibney E. Google AI algorithm masters ancient game of Go. // Nature News & Comment (27 января 2016). Дата обращения: 3 февраля 2016.
  67. Lee Sedol expects «not easy» game with AlphaGo in 3rd Go match. // Shanghai Daily (10 марта 2016). Дата обращения: 10 марта 2016.
  68. Nie Weiping 9d: «AlphaGo is a 6-7 dan pro in the beginning; 13d mid-game; 15d end-game». // Reddit (15 марта 2016).
  69. Byford S. AlphaGo beats Lee Se-dol again to take Google DeepMind Challenge series. // The Verge (Vox Media) (12 марта 2016). Дата обращения: 12 марта 2016.
  70. 1 2 Ormerod D. Lee Sedol defeats AlphaGo in masterful comeback - Game 4 (амер. англ.). // Go Game Guru (13 марта 2016). Дата обращения: 4 ноября 2016.
  71. Tanguy C. The Go Files: AI computer wraps up 4-1 victory against human champion (англ.). // Nature (15 марта 2016).
  72. Huang A. Alpha Go: Combining Deep Neural Networks with Tree Search // Keynote Lecture CG2016 Conference на YouTube, начиная с 37:28
  73. Audureau, W. Jeu de go: pour Lee Sedol, la victoire de la machine est moins tactique que psychologique (фр.). // Le Monde (15 марта 2016). Дата обращения: 13 июня 2016.
  74. Tian Y., Zhu Y. Better Computer Go Player with Neural Network and Long-term Prediction // ICLR 2016. — 2016. — 29 февраля. — arXiv:1511.06410v3.
  75. HAL 90210 No Go: Facebook fails to spoil Google's big AI day (брит. англ.) (28 января 2016). Дата обращения: 1 февраля 2016.
  76. Hassabis D. Strachey Lecture. // The New Livestream. Дата обращения: 17 марта 2016.
  77. 「DEEP ZEN GO プロジェクト」発表。AlphaGo対抗の囲碁ソフト開発をドワンゴが支援、山本一成さんら参加 (неопр.) (2016/3/1). Дата обращения: 13 июля 2016.
  78. Jiji. Go master Cho wins best-of-three series against Japan-made AI. // The Japan Times Online (24 ноября 2016). Дата обращения: 27 ноября 2016.
  79. Bolton A. Humans strike back: Korean Go master bests AI in board game bout. // CNET (23 ноября 2016). Дата обращения: 27 ноября 2016.