ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

После окончания матча, 17 марта 2016 г. правительство Южной Кореи объявило, что в течение следующих пяти лет инвестирует 1 трлн вон (около 860 млн долларов) в исследования в области ИИ [1947] .

За выдающиеся достижения в области искусственного интеллекта команда AlphaGo получила медаль Марвина Минского от Международных объединённых конференций по ИИ (International Joint Conferences on Artificial Intelligence, IJCAI). «AlphaGo — это замечательное достижение, прекрасный пример того, ради чего была учреждена медаль Минского», — сказал профессор Майкл Вулдридж, председатель комитета по наградам IJCAI. «Что особенно впечатлило IJCAI, так это то, что AlphaGo достигла своего результата благодаря блестящему сочетанию классических методов ИИ и современных технологий машинного обучения, тесно связанных с DeepMind. Это потрясающая демонстрация современного искусственного интеллекта, и мы рады возможности отметить его с помощью этой награды» [1948] .

1947

Zastrow M. (2016). South Korea trumpets $860-million AI fund after AlphaGo 'shock' / Nature // https://doi.org/10.1038/nature.2016.19595

1948

International Joint Conferences on Artificial Intelligence Organization (2017). Deepmind Alphago Team Receives Inaugural Ijcai Marvin Minsky Medal For Outstanding Achievements in AI / Communications of the ACM, October 20, 2017 // https://cacm.acm.org/news/222067-deepmind-alphago-team-receives-inaugural-ijcai-marvin-minsky-medal-for-outstanding-achievements-in-ai/fulltext

6.2.3.2 Методы в основе AlphaGo

О каких же методах в данном случае шла речь?

В основе AlphaGo лежит переборный алгоритм под названием «метод Монте-Карло для поиска по дереву» (Monte-Carlo Tree Search, MCTS). Существует множество модификаций данного алгоритма, но объединяющим их свойством является то, что MCTS исследует некоторое количество траекторий в игровом дереве, выбирая их при помощи алгоритма генерации псевдослучайных чисел. При этом распределение вероятностей (т. е. закономерность, описывающая область возможных значений случайной величины и вероятности появления этих значений) при выборе хода в конкретном узле дерева определяется при помощи различных математических моделей, которые могут принимать в расчёт как различные признаки позиции, соответствующей данному узлу дерева, так и историю предшествующего исследования данного узла. Идея заключается в том, что MCTS будет выбирать для рассмотрения наиболее вероятные варианты развития игры, поэтому подмножество изученных им траекторий позволит с достаточной точностью аппроксимировать оценку позиции в корне дерева перебора. AlphaGo не была первой программой, основанной на применении MCTS, задолго до неё этот метод использовало множество программ для игры в го, к числу которых относились, например, Gomorra, Fuego, Crazy Stone, Zen, Aya, Pachi, Many Faces of Go и многие другие [1949] .

1949

Jaap van den Herik H., Iida H., Plaat A. (2014). 8th International Conference, CG 2013, Yokohama, Japan, August 13–15, 2013. Revised Selected Papers. Computers and Games. Lecture Notes in Computer Science 8427 Theoretical Computer Science and General Issues. Springer International Publishing // https://books.google.ru/books?id=52kqBAAAQBAJ

Принципиальная новация заключалась в том, что для предсказания распределения вероятностей в узлах дерева MCTS, а также для оценки терминальных позиций дерева перебора в AlphaGo применялись свёрточные нейронные сети: «сеть политик» (policy network) и «сеть оценки» (value network) соответственно. Неслучайно в числе авторов статьи с описанием AlphaGo в Nature можно найти уже знакомого нам по программе распознавания изображений AlexNet Илью Суцкевера. Для первичного обучения нейронных сетей AlphaGo использовалась база данных онлайн-сервиса KGS Go, содержащая 29,4 млн позиций из 160 000 игр сильных игроков в го (с шестого по девятый дан). Датасет был расширен за счёт отражений и поворотов позиций. Доучивание сетей происходило в режиме обучения с подкреплением за счёт игр, в которых программа играла сама с собой.

6.2.3.3 Дальнейшее развитие AlphaGo — отказ от человеческих знаний

Хотя «момент Deep Blue» для го определённо состоялся, это не означало окончания работы DeepMind над проектом. В конце декабря 2016 г. на го-сервере Tygem зарегистрировался новый игрок под именем Magister. Magister одержал 30 побед подряд над лучшими игроками сервера, а затем перешёл на сервер FoxGo, сменив имя на Master, и выиграл ещё 30 раз. Лишь однажды игра была технически признана ничьей, когда у китайского профессионала Чэнь Яое возникли проблемы с подключением к интернету после нескольких начальных ходов партии. Загадочный Master четыре раза одержал победу над корейским игроком девятого дана Пак Чжон Хваном и дважды — над Ке Цзе. Гу Ли также не удалось одолеть неизвестного, и после поражения он пообещал награду в размере 100 000 юаней (около 15 000 долларов) тому, кто сможет это сделать.

Некоторые пользователи сервера заподозрили, что новый игрок не является человеком: Master играл по десять партий в день с небольшими перерывами или вовсе без них. 4 января 2017 г. Демис Хассабис рассказал в Twitter, что за Magister и Master играла обновлённая версия AlphaGo. Благодаря этому эксперименту DeepMind игроки получили возможность изучить приёмы новой версии программы [1950] .

19 октября 2017 г. в Nature вышла очередная статья [1951] от команды AlphaGo. В ней была представлена AlphaGo Zero — новая версия программы, при обучении которой не использовались партии игроков-людей. В процессе обучения AlphaGo Zero за три дня превзошла уровень игры версии AlphaGo, игравшей в матче против Ли Седоля, за 21 день достигла уровня игры AlphaGo Master (той самой версии, что играла на сервере FoxGo под ником Master), а спустя 40 дней стала сильнее всех имевшихся на тот момент версий AlphaGo. По мнению Хассабиса, рекордная сила игры AlphaGo Zero была связана именно с отказом от человеческих знаний, которые лишь ограничивали программу.

1950

Коровски Ю. (2017). Искусственный интеллект безжалостно обыгрывает в го всех подряд / XX2 век // https://22century.ru/computer-it/41584

1951

Silver D., Schrittwieser J., Simonyan K., Antonoglou I., Huang A., Guez A., Hubert T., Baker L., Lai M., Bolton A., Chen Y., Lillicrap T., Fan H., Sifre L., Driessche G., Graepel T., Hassabis D. (2017). Mastering the game of Go without human knowledge / Nature, Vol. 550 (7676), pp. 354—359 // https://doi.org/10.1038/nature24270

AlphaGo Zero также содержала ряд упрощений по сравнению с предыдущими версиями AlphaGo. Например, вместо раздельных «сети политики» и «сети оценки» для обеих задач использовалась одна и та же нейронная сеть. Упрощению подвергся и переборный алгоритм.

Следующим шагом развития AlphaGo Zero стало создание системы AlphaZero, способной играть не только в го, но также и в шахматы и сёги (японские шахматы). Препринт статьи, описывающей AlphaZero, был опубликован [1952] на ArXiv 5 декабря 2017 г., а спустя год отчёт об экспериментах с AlphaZero появился и в академической прессе, а именно в журнале Science [1953] . Благодаря использованию в процессе обучения 5000 TPU первой версии для моделирования игр и 16 TPU второй версии для обучения нейронной сети, AlphaZero потребовалось чуть больше 30 часов обучения для того, чтобы превзойти AlphaGo Zero, около двух часов для того, чтобы превзойти уровень самой сильной на тот момент программы для игры в сёги (Elmo), и около четырёх часов для того, чтобы обойти самую сильную программу в шахматах — Stockfish. Последний результат (особенно приведённый в статье итог матча AlphaZero и Stockfish — 64 : 36) вызвал ряд споров в сообществе компьютерных шахмат.

1952

Silver D., Hubert T., Schrittwieser J., Antonoglou I., Lai M., Guez A., Lanctot M., Sifre L., Kumaran D., Graepel T., Lillicrap T., Simonyan K., Hassabis D. (2017). Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm // https://arxiv.org/abs/1712.01815

1953

Silver D., Hubert T., Schrittwieser J., Antonoglou I., Lai M., Guez A., Lanctot M., Sifre L., Kumaran D., Graepel T., Lillicrap T., Simonyan K., Hassabis D. (2018). A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play / Science, Vol. 362, Iss. 6419, pp. 1140—1144 // https://doi.org/10.1126/science.aar6404

6.2.3.4 Кто же сильнее в шахматах?

Активные разговоры о применении глубоких нейронных сетей в шахматных движках начались в 2015 г., когда канадский исследователь Мэтью Лай создал программу Giraffe [1954] , роль оценочной функции которой выполняла свёрточная нейронная сеть, обучавшаяся при помощи метода обучения с подкреплением. Тогда научно-популярная пресса разразилась рядом крайне сомнительных материалов, пестревших громкими заявлениями [1955] .

1954

Lai M. (2015). Giraffe: Using Deep Reinforcement Learning to Play Chess. M. Sc. thesis, Imperial College London // https://arxiv.org/abs/1509.01549v1

1955

* Эта история стала одной из причин того, почему я занялся популяризацией науки в области ИИ. Честно говоря, было больно читать и слушать откровенную ерунду вроде того, что сотни программистов, огромные команды, которые занимались шахматами, теперь не нужны, они теперь уволены. Проблема заключалась в том, что команды из сотен наёмных программистов, занимающиеся компьютерными шахматами, существовали только в воображении автора высказывания, да и сила игры Giraffe была на тот момент далека от силы игры лучших шахматных программ.

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

Строго говоря, Giraffe не была первой шахматной программой, использующей нейронные сети, как и не была первой шахматной программой, использующей обучение с подкреплением (в качестве предшественников Giraffe можно упомянуть такие проекты, как KnightCap [1956] , Chessterfield [1957] и Stoofvlees [1958] ). В шашках подобная Giraffe-модель была реализована командой американского исследователя Дэвида Фогеля, разработавшей программу Blondie24 [1959] , [1960] , [1961] . Однако впервые для шахмат были получены весьма обнадёживающие результаты: Giraffe достигла уровня международного мастера (что, в общем-то, не было слишком внушительным результатом для шахматных программ в те годы, но стало очень серьёзным успехом для «неклассической» системы).

1956

Baxter J., Tridgell A., Weaver L. (1998). KnightCap: A chess program that learns by combining TD(?) with game-tree search / Proc. 15th International Conf. on Machine Learning, pp. 28—36 // https://arxiv.org/abs/cs/9901002

1957

Luscher M. (2000). Automatic Generation of an Evaluation Function for Chess Endgames // http://www.datacomm.ch/m.luescher/evaluation_function_en.pdf

1958

Stoofvlees / Chess Programming Wiki // https://www.chessprogramming.org/Stoofvlees

1959

Kumar C., Fogel D. B. (1999). Evolution, Neural Networks, Games, and Intelligence / Proceedings of the IEEE, Vol. 87, Iss. 9, pp. 1471—1496 // https://doi.org/10.1109/5.784222

1960

Kumar C., Fogel D. B. (1999). Evolving Neural Networks to Play Checkers without Expert Knowledge / IEEE Transactions on Neural Networks, Vol. 10, Iss. 6, pp. 1382—1391 // https://doi.org/10.1109/72.809083

1961

Kumar C., Fogel D. B. (2001). Evolving an Expert Checkers Playing Program without Using Human Expertise / IEEE Transactions on Evolutionary Computation, Vol. 5, Iss. 4, pp. 422—428 // https://doi.org/10.1109/4235.942536

Результат, полученный Лаем, был оценён по достоинству, и его пригласили работать в DeepMind, где он стал участником команды, работавшей над AlphaGo Zero, а затем над AlphaZero, по сути занимаясь развитием подхода, который изначально был предложен в Giraffe. Важное отличие AlphaZero от Giraffe заключается в том, что Giraffe в качестве переборного алгоритма использовала не MCTS, а классический для шахмат метод — поиск c основным вариантом (Principal variation search, PVS) (современная разновидность перебора с альфа-бета-отсечением).

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

Поделиться с друзьями: