Программа генерирует свои ходы с использованием: глубоких нейронных сетей, универсального алгоритма поиска по дереву, универсального алгоритма обучения с подкреплением. Исследователи поясняют, что это отличается от предыдущих игровых компьютерных программ, которые используют предметно-ориентированные человеческие знания, созданные мастерами игры. Эти гиперпараметризации означают, что общие игровые алгоритмы остались сравнительно слабыми.

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

AlphaZero использует архитектуру, идентичную AlphaGo Zero. Это включает пары выпрямленных сверточных слоев, нормализованных по партии, с пропускным соединением. Нормализация в нейронных сетях увеличивает скорость обучения и позволяет избежать проблемы взрывного градиента. Пакетная нормализация - это когда нормализация применяется к определенным слоям, выбранным в сети. Пропускные соединения передают результат одного слоя в качестве входных данных как для следующего, так и для другого слоя. Это позволяет явно передавать информацию с первичных уровней на более поздние уровни.

В сверточной нейронной сети (CNN) фильтр обнаруживает определенный аспект шаблона и выполняет свертку по входу. Каждая свертка в сети применяет 256 фильтров 3 x 3, за которыми следует одна заключительная свертка из 73 и 139 фильтров для шахмат и сёги и большой линейный слой для го.

Скорость обучения была установлена ​​на 0,2 и упала до 0,02, 0,002 и 0,0002 после 100, 300 и 500 тысяч шагов для шахмат и сёги и 0, 300 и 500 для го. Снижение скорости обучения - обычная практика, поскольку это позволяет алгоритму лучше сходиться и колебаться вокруг более узкой области.

AlphaZero использует универсальный алгоритм поиска по дереву Монте-Карло (MCTS). MCTS оценивает позиции нелинейно, используя глубокие нейронные сети, и усредняет оценки позиций в поддереве, что исключает любые ошибки нейронной сети.

AlphaZero не применялась эвристика, зависящая от предметной области. Он знал только правила, которые позволяли имитировать все возможные ходы. Алгоритм выглядел до 512 ходов в шахматах и ​​сёги и 722 ходов в го. Вероятность незаконных ходов была установлена ​​на 0, поэтому они не имели никакого эффекта.

Полученные результаты

AlphaZero был обучен с использованием 700 000 шагов для каждой шахматы, сёги и го, что заняло 9, 12 и 312 часов соответственно. Исходя из случайных параметров, алгоритм превзошел 3 лучших алгоритма для каждой игры: Stockfish, Elmo и Alpha Go через 4, 2 и 30 часов соответственно. Аналогичная производительность была достигнута во всех независимых прогонах.

В шахматах AlphaZero обнаружил общие человеческие дебюты и победил Stockfish во всех из них. AlphaZero также победил Stockfish, когда ему дали 10% времени на размышления. В Go AlphaZero превзошла алгоритм AlphaGo, хотя после исследования симметрии платы он сгенерировал в восемь раз больше данных. В сёги AlphaZero одержала уверенную победу. Интересно отметить, что алгоритм в основном воспроизводил один из наиболее распространенных человеческих дебютов, но редко - второй.

Несмотря на поиск на 0,1% больше шахматных позиций и позиций го и 0,24% количества позиций сёги, она все же победила. Это говорит о том, что глубокая нейронная сеть сосредоточена на логически лучших ходах, а не на случайных перестановках. Этот «человеческий» подход к мышлению намекает на способность AlphaZero теоретически изучить любую информацию в идеальной игре. Оставив позади игры, статья демонстрирует, что ИИ в целом может очень скоро стать вершиной в этой области и начать применять свой мыслительный процесс ко всем аспектам повседневной жизни человека.

Критика

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

1. В статье не так много света освещены различные режимы игры, например, Stockfish победил Лилу, вариант AlphaZero, в быстрых шахматах.

2. График скорости обучения был определен для каждой игры и не изучался в процессе самостоятельной игры.

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

использованная литература

Сам документ можно найти по адресу https://deepmind.com/research/publications/general-reinforcement-learning-algorithm-masters-chess-shogi-and-go-through-self-play/.

Андрей Н.Г. 2019. Улучшение глубоких нейронных сетей: настройка гиперпараметров, регуляризация и оптимизация от deeplearning.ai.

Рави Гарг и др. 29 июля 2016 г. Неконтролируемая CNN для оценки глубины с одного обзора: геометрия на помощь