На всякий случай, статьи:
ALphaGo Zero,
AlphaZero (шахматы).
AlphaGo Zero просто выдавала распределение на позициях, куда ставить камень. AlphaZero выдает распределение на ходах (непонятно, учитываются ли запрещенные ходы в кодировании, или просто считаются ведущими к проигрышу). Плюс они обе выдают вероятность того, что они выиграют из данной позиции.
Играем так: перебираем несколько последовательностей ходов (глядя на предсказанные вероятности ходов), глядя на предсказанные вероятности победы после каждой последовательности ходов, из них генерируем распределение вероятностей на текущий ход.
При обучении обновляем нашу оценку вероятности выигрыша, а также вероятности ходов так, чтобы они лучше соответствовали нашему правилу выбора.
Например, мы предсказываем что из текущей позиции сделаем ход ладьей с вероятностью
, сделаем ход лошадью с вероятностью
, и что выиграем с вероятностью
. Перебором на несколько ходов вглубь мы присвоили ходу лошадью вероятность
, а ходу ладьей
. Как-то пошли, партию проиграли. В результате мы шагаем по градиенту в сторону уменьшения
(формула 1 из статьи).
Основная идея примерно та же, что и в имеющихся шахматных программах (перебор вглубь с отсечением), только
гораздо лучше работающее отсечение.