AlphaZero — это компьютерная программа , разработанная исследовательской компанией искусственного интеллекта DeepMind для освоения игр в шахматы , сёги и го . Этот алгоритм использует подход, аналогичный AlphaGo Zero .
5 декабря 2017 года команда DeepMind выпустила предварительную статью, представляющую AlphaZero, [1] которая вскоре сыграет три игры, победив чемпионов мира по шахматам Stockfish , Elmo и трехдневную версию AlphaGo Zero. В каждом случае она использовала пользовательские тензорные процессоры (TPU), для использования которых были оптимизированы программы Google. [2] AlphaZero обучалась исключительно посредством самостоятельной игры с использованием 5000 TPU первого поколения для генерации игр и 64 TPU второго поколения для обучения нейронных сетей , все это параллельно , без доступа к дебютным книгам или таблицам эндшпиля . После четырех часов обучения DeepMind оценила, что AlphaZero играет в шахматы с более высоким рейтингом Эло , чем Stockfish 8; после девяти часов обучения алгоритм победил Stockfish 8 в контролируемом по времени турнире из 100 игр (28 побед, 0 поражений и 72 ничьи). [2] [3] [4] Обученный алгоритм воспроизводился на одной машине с четырьмя TPU.
Статья DeepMind об AlphaZero была опубликована в журнале Science 7 декабря 2018 года. [5] Хотя сама программа AlphaZero не была опубликована, [6] алгоритм, описанный в статье, был реализован в общедоступном программном обеспечении. В 2019 году DeepMind опубликовала новую статью, в которой подробно описывается MuZero — новый алгоритм, способный обобщить работу AlphaZero, играя как в Atari, так и в настольные игры без знания правил или представлений игры. [7]
AlphaZero (AZ) — более обобщенный вариант алгоритма AlphaGo Zero (AGZ) , который может играть в сёги и шахматы , а также в го . Различия между AZ и AGZ включают: [2]
Сравнивая поиск по дереву Монте-Карло , AlphaZero ищет всего 80 000 позиций в секунду в шахматах и 40 000 в сёги, по сравнению с 70 миллионами для Stockfish и 35 миллионами для Elmo. AlphaZero компенсирует меньшее количество оценок, используя свою глубокую нейронную сеть, чтобы гораздо более избирательно сосредоточиться на наиболее перспективном варианте. [2]
AlphaZero был создан и обучен, просто играя против себя много раз, используя 5000 TPU первого поколения для генерации игр и 64 TPU второго поколения для обучения нейронных сетей . Обучение заняло несколько дней, в общей сложности около 41 TPU-года. Параллельно обучающийся AlphaZero периодически сравнивался с его эталоном (Stockfish, Elmo или AlphaGo Zero) в коротких играх по одной секунде на ход, чтобы определить, насколько хорошо продвигается обучение. DeepMind посчитал, что производительность AlphaZero превысила эталон после примерно четырех часов обучения для Stockfish, двух часов для Elmo и восьми часов для AlphaGo Zero. [2]
В шахматном матче AlphaZero против Stockfish 8 ( чемпион мира TCEC 2016 года ) каждой программе давалась одна минута на ход. AlphaZero несла английский флаг, а Stockfish — норвежский. [8] Stockfish было выделено 64 потока и размер хэша 1 ГБ, [2] настройка, которую Торд Ромстад из Stockfish позже раскритиковал как неоптимальную. [9] [примечание 1] AlphaZero тренировалась на шахматах в течение девяти часов перед матчем. Во время матча AlphaZero работала на одной машине с четырьмя TPU , специфичными для приложений . В 100 играх из обычной стартовой позиции AlphaZero выиграла 25 игр белыми, выиграла 3 черными и сыграла вничью оставшиеся 72. [10] В серии из двенадцати матчей по 100 игр (с неуказанными ограничениями по времени или ресурсам) против Stockfish, начиная с 12 самых популярных человеческих дебютов, AlphaZero выиграла 290, сыграла вничью 886 и проиграла 24. [2]
AlphaZero тренировался на сёги в течение двух часов перед турниром. В 100 играх в сёги против Elmo (версия турнира World Computer Shogi Championship 27, лето 2017 года, с поиском YaneuraOu 4.73) AlphaZero выиграл 90 раз, проиграл 8 раз и дважды сыграл вничью. [10] Как и в шахматных играх, каждая программа получала одну минуту на ход, а Elmo было предоставлено 64 потока и размер хэша 1 ГБ. [2]
После 34 часов самостоятельного изучения Го и игры против AlphaGo Zero, AlphaZero выиграл 60 игр и проиграл 40. [2] [10]
DeepMind заявил в своем препринте: «Игра в шахматы представляла собой вершину исследований ИИ на протяжении нескольких десятилетий. Современные программы основаны на мощных движках, которые просматривают многие миллионы позиций, используя вручную созданный опыт в предметной области и сложные адаптации предметной области. AlphaZero — это универсальный алгоритм обучения с подкреплением , изначально разработанный для игры в го, который достиг превосходных результатов в течение нескольких часов, просматривая в тысячу раз меньше позиций, не имея никаких знаний предметной области, кроме правил». [2] Демис Хассабис из DeepMind , сам шахматист, назвал стиль игры AlphaZero «инопланетным»: иногда он выигрывает, предлагая контринтуитивные жертвы, например, предлагая ферзя и слона, чтобы использовать позиционное преимущество. «Это как шахматы из другого измерения». [11]
Учитывая сложность в шахматах, связанную с форсированием победы над сильным противником , результат +28 –0 =72 является значительным преимуществом. Однако некоторые гроссмейстеры, такие как Хикару Накамура и разработчик Komodo Ларри Кауфман , преуменьшали победу AlphaZero, утверждая, что матч был бы ближе, если бы программы имели доступ к дебютной базе данных (поскольку Stockfish был оптимизирован для этого сценария). [12] Ромстад дополнительно указал, что Stockfish не оптимизирован для ходов с жестко фиксированным временем, а используемая версия была годичной давности. [9] [13]
Аналогично, некоторые наблюдатели сёги утверждали, что размер хэша Elmo был слишком мал, что настройки отставки и настройки «EnteringKingRule» (ср. сёги § Entering King ) могли быть неподходящими, и что Elmo уже устарел по сравнению с более новыми программами. [14] [15]
В заголовках статей говорилось, что обучение шахматам заняло всего четыре часа: «Это было сделано за время, немного большее, чем время между завтраком и обедом». [3] [16] Wired описал AlphaZero как «первого чемпиона по настольным играм с многопрофильным ИИ». [17] Эксперт по ИИ Джоанна Брайсон отметила, что «умение Google делать хорошую рекламу» ставит ее в сильную позицию по сравнению с конкурентами. «Это не только вопрос найма лучших программистов. Это также очень политично, так как помогает сделать Google максимально сильной при переговорах с правительствами и регулирующими органами, рассматривающими сектор ИИ». [10]
Человеческие гроссмейстеры в целом выражали восторг по поводу AlphaZero. Датский гроссмейстер Петер Хайне Нильсен сравнил игру AlphaZero с игрой превосходящего инопланетного вида. [10] Норвежский гроссмейстер Йон Людвиг Хаммер охарактеризовал игру AlphaZero как «безумные атакующие шахматы» с глубоким позиционным пониманием. [3] Бывший чемпион Гарри Каспаров сказал: «Это выдающееся достижение, даже если мы должны были ожидать его после AlphaGo». [12] [18]
Гроссмейстер Хикару Накамура был менее впечатлен, заявив: «Я не обязательно придаю большое значение результатам, просто потому, что я понимаю, что AlphaZero в основном использует суперкомпьютер Google, а Stockfish не работает на этом оборудовании; Stockfish в основном работал на том, что могло бы быть моим ноутбуком. Если вы хотите получить сопоставимый матч, вам также нужно запустить Stockfish на суперкомпьютере». [9]
Лучший игрок США по переписке Вольф Морроу также не был впечатлен, заявив, что AlphaZero, вероятно, не выйдет в полуфинал честного соревнования, такого как TCEC , где все движки играют на равном оборудовании. Морроу также заявил, что, хотя он, возможно, и не сможет победить AlphaZero, если AlphaZero будет играть ничейные дебюты, такие как защита Петроффа , AlphaZero также не сможет победить его в переписке . [19]
Мотохиро Исодзаки, автор YaneuraOu, отметил, что хотя AlphaZero и обыграла Elmo, рейтинг AlphaZero в сёги перестал расти в точке, которая не превышает 100–200 очков выше, чем у Elmo. Этот разрыв не так уж велик, и Elmo и другие программы для сёги должны догнать его за 1–2 года. [20]
DeepMind ответила на многие критические замечания в своей окончательной версии статьи, опубликованной в декабре 2018 года в журнале Science . [5] Они также пояснили, что AlphaZero не работала на суперкомпьютере; она была обучена с использованием 5000 тензорных процессоров (TPU), но в своих матчах работала только на четырех TPU и 44-ядерном процессоре. [21]
В окончательных результатах Stockfish 9 dev работал в тех же условиях, что и в суперфинале TCEC : 44 ядра ЦП, таблицы Syzygy endgame и размер хэша 32 ГБ. Вместо фиксированного контроля времени один ход в минуту, обоим движкам давали 3 часа плюс 15 секунд на ход, чтобы закончить игру. AlphaZero работал на машине с четырьмя TPU в дополнение к 44 ядрам ЦП. В матче из 1000 игр AlphaZero победил со счетом 155 побед, 6 поражений и 839 ничьих. DeepMind также сыграл серию игр, используя начальные позиции TCEC; AlphaZero также убедительно победил. Stockfish требовались временные коэффициенты 10 к 1, чтобы сравняться с AlphaZero. [22]
Подобно Stockfish, Elmo работал в тех же условиях, что и в чемпионате CSA 2017 года. Использовалась версия Elmo WCSC27 в сочетании с YaneuraOu 2017 Early KPPT 4.79 64AVX2 TOURNAMENT. Elmo работал на том же оборудовании, что и Stockfish: 44 ядра ЦП и размер хэша 32 ГБ. AlphaZero выиграл 98,2% игр, играя в сэнте (т. е. имея первый ход), и 91,2% в целом.
Человеческие гроссмейстеры в целом были впечатлены играми AlphaZero против Stockfish. [22] Бывший чемпион мира Гарри Каспаров сказал, что было приятно наблюдать за игрой AlphaZero, особенно потому, что ее стиль был открытым и динамичным, как и его собственный. [23] [24]
В сообществе компьютерных шахмат разработчик Komodo Марк Лефлер назвал это «довольно удивительным достижением», но также указал на то, что данные были старыми, поскольку Stockfish набрал большую силу с января 2018 года (когда был выпущен Stockfish 8). Его коллега-разработчик Ларри Кауфман сказал, что AlphaZero, вероятно, проиграет матч против последней версии Stockfish, Stockfish 10, в условиях Top Chess Engine Championship (TCEC). Кауфман утверждал, что единственным преимуществом движков на основе нейронных сетей было то, что они использовали графический процессор, поэтому, если не учитывать энергопотребление (например, в соревновании с равным оборудованием, где оба движка имели доступ к одному и тому же центральному процессору и графическому процессору), то все, чего достигал графический процессор, было «бесплатным». Основываясь на этом, он заявил, что самым сильным движком, скорее всего, будет гибрид с нейронными сетями и стандартным альфа-бета-поиском . [25]
AlphaZero вдохновила сообщество компьютерных шахмат на разработку Leela Chess Zero , использующей те же методы, что и AlphaZero. Leela участвовала в нескольких чемпионатах против Stockfish, где она показала примерно такую же силу, как Stockfish, хотя Stockfish с тех пор оторвался. [26]
В 2019 году DeepMind выпустила MuZero — унифицированную систему, которая отлично играла в шахматы, сёги и го, а также в игры в среде обучения Atari , без предварительного программирования их правил. [27] [28]
Результаты матча сами по себе не имеют особого смысла из-за довольно странного выбора контроля времени и настроек параметров Stockfish: игры игрались с фиксированным временем 1 минута/ход, что означает, что Stockfish не использует свою эвристику управления временем (много усилий было вложено в то, чтобы Stockfish определял критические моменты в игре и решал, когда потратить дополнительное время на ход; при фиксированном времени на ход сила значительно пострадает). Используемая версия Stockfish была выпущена год назад, играла с гораздо большим количеством потоков поиска, чем когда-либо получала сколько-нибудь значительное количество тестирования, и имела слишком маленькие хэш-таблицы для такого количества потоков. Я считаю, что процент ничьих был бы намного выше в матче с более нормальными условиями. [9]