Студент Имперского колледжа Лондона Мэтью Лай (Matthew Lai) разработал компьютерную программу Giraffe, которая трое суток играла в шахматы сама с собой — и смогла извлечь все предметно-ориентированные знания, необходимые для игры на уровне международного мастера ФИДЕ. Для этого ей достаточно вычислительных ресурсов нормального компьютера. Обучение нейросети происходило 72 часа в 20 тредов на машине с двумя 10-ядерными процессорами Xeon E5-2660.
В научной работе автор пишет, что после тренировки в течение 72 часов программа выбирала наилучший возможный ход в 46% случаев, а один из трёх наилучших ходов — в 70% случаев. Это очень неплохой результат даже для обычных шахматных программ.
Всем известен факт, что компьютеры лучше людей играют в шахматы, но не все понимают, за счёт чего они добиваются победы, ведь простого брутфорса недостаточно для перебора всех 10123 возможных ходов и ответов противника.
Во-первых, шахматные программы ограничивают максимальную глубину расчёта ветвей. Во-вторых, начиная с Deep Blue и заканчивая нынешним чемпионом среди компьютерных шахмат Komodo, они вряд ли победили человека, если бы настройку модуля оценки позиции не проводил гроссмейстер или очень хорошо разбирающиеся в шахматах люди, как группа разработчиков Deep Blue из компании IBM. В программу изначально закладывают базу дебютов и характерные приёмы игры, вроде защиты короля пешкой или атаки на короля в открытой позиции с разноцветными слонами.
Грамотная оценка позиции позволяет программе выбрать более предпочтительную ветвь для развития партии.
В связи с этим становится понятнее, почему новая программа Giraffe так отличается от остальных. Её никто не настраивал, она сама училась играть. К тому же, вместо банального брутфорса ветвей с ограничением по глубине, программа использует «вероятностный» подход. Она более глубоко прорабатывает те ветви, для которых больше вероятность длинного продолжения.
На иллюстрации показано дерево решений. Жёлтым цветом обозначены узлы дерева, видные стандартному алгоритму с ограничением на длину ветвей. Зелёным цветом — узлы, видные только алгоритму с ограничением по вероятности (Giraffe). Красным цветом обозначены узлы, видные для обоих алгоритмов.
Такой алгоритм основан на предпосылке, что соперник тоже ответит лучшим ходом среди возможных — и партия затянется на максимальное количество ходов. Именно такие ветви Giraffe выбирает для более глубокого анализа. В каком-то смысле логика работы программы похожа на логику опытных шахматистов, которые «интуитивно» чувствуют наиболее выгодные пути развития партии.
Получается, что на сегодняшний день прогресс в разработке нейросетей достиг такого уровня, что один студент может написать программу, способную за три дня самостоятельно научиться играть в шахматы на очень высоком уровне. На следующей диаграмме показана архитектура нейросети, которую изначально заложил автор. Он также составил набор начальных позиций для обучения программы.
Вот как в программе представляется позиция.
P.S. Профессор компьютерных наук Себастьян Трун (Sebastian Thrun) одним из первых в мире применил нейросети в шахматных программах. В середине 90-х он разработал программу NeuroChess. Впрочем, как и нынешняя программа Giraffe, та разработка тоже не могла обыграть лучших представителей «классической школы».