Alpha Go
источник:[Knowing-Machine Learning Preface-13-Alpha Go]
Недавно пересматривал предыдущую классику AlphaGo, и есть ощущение, что пересматриваешь старое и изучаешь новое, а последние идеи буду записывать сюда.
оригинальный портал
Silver et al_2016_Mastering the game of Go with deep neural networks and tree search_Nature
задний план
До появления AlphaGo традиционная компьютерная стратегия Го была реализована методом, называемым поиском по дереву Монте-Карло (MCTS). «Продумай несколько шагов», а затем выбери ход с наибольшей вероятностью выигрыша для выполнения.
Однако проблема с этим методом заключается в том, что если все ходы будут рассчитаны, то получится дерево шириной не более 250 и глубиной не более 150. При нынешних вычислительных мощностях сложно сделать шаг за час. Поэтому, как уменьшить размер дерева поиска, становится сложной проблемой.
После появления глубокого обучения и обучения с подкреплением ученые обратили свое внимание на использование методов машинного обучения, позволяющих машине самостоятельно изучать возможные преимущества и риски различных ситуаций, чтобы минимизировать глубину и ширину поиска. дерево поиска.
метод
В целом, в этой работе используются 3 метода: обучение с учителем, обучение с подкреплением и MCTS.
- Во-первых, обучение с учителем (SL) обучает дроп-сеть.и быстроходная подсеть, в котором модель подсети большая, что требует многодля принятия решений, в то время как быстроходные подсети требуют толькопринимать решения, но сеть ходов больше похожа на человеческий способ игры в шахматы с точностью предсказания 57,0%, в то время как сеть быстрых ходов немного хуже, точность всего 24,2%.
- Во-вторых, обучение с подкреплением (RL) используется для обучения обученной подсети.Чтобы улучшить, в основном, через самостоятельную игру, чтобы улучшить стратегию сети, а затем обучить сеть ценностей, для операции обрезки MCTS.
- Наконец, используйте MCTS для окончательного выбора действия.
1 Контролируемый процесс обучения
- Сеть Лузи: Используя данные человеческой шахматной игры, используйте метод контролируемого обучения для обучения стратегической сети прогнозированию стратегии человеческих ходов и, постоянно уменьшая ошибку между реальной стратегией людей, сделайте текущую сеть более похожей на человеческие. , чтобы изучить базовую шахматную стратегию. Его обновление параметра может быть выражено как:.
- быстроходная подсеть: метод обучения такой же, как и в сети Луози, но модель сети меньше, а действие выбора выполняется быстрее.
2 Процесс обучения с подкреплением
Метод обучения с подкреплением — это метод оптимизации собственной стратегии путем непрерывных проб и ошибок.Здесь RL используется для повышения производительности подсети:
- Сеть политик: получить исходную сеть, скопировав обученную сеть сброса., с весом.
- Оппонент: Каждая модель определяет качество текущей стратегии, играя со случайной моделью в ее собственной исторической версии, чтобы постоянно улучшаться.Случайная версия выбирается в основном для предотвращения переоснащения одного игрового объекта.
- Награда: Награда +1 или -1 будет получена только после принятия окончательного решения, а награда за оставшиеся шаги будет равна 0.
- Обучение: используйте стохастический градиентный подъем, чтобы увеличить конечный ожидаемый доход:.
Повышая производительность сети политик, RL дополнительно обучает сеть ценностиЧтобы оценить процент выигрыша шахматной доски:
- Сеть значений: аналогична сети политик, но выход изменяется с вероятности действия на скалярное значение для представления состояния.процент побед.
- Цель оптимизации: за счет снижения собственного прогнозируемого винрейта.с реальным винрейтомСреднеквадратическая ошибка между.
3 MCTS
MCTS — это дерево поиска, которое выводит значение каждого действия, посещая состояния, вызванные различными действиями, а затем выбирает действие с наибольшим значением для выполнения. Поток MCTS показан на следующем рисунке:
- Выбор: каждый узел сохраняет два значения: Q(s, a) представляет значение действия a в состоянии s;Указывает значение исследования, которое положительно связано с предшествующим значением P и отрицательно связано с количеством исследований.Чем выше значение, тем более достойным исследования является действие, хотя значение Q может быть не очень высоким, подобно смелая попытка человека. В каждом раунде выбора MCTS выбирает два значения и самое высокое действие для выполнения.
- Расширение: после выбора каждого действия необходимо удалить подсеть.Рассчитайте вероятность действия в этом состоянии и сгенерируйте новое значение P.
- Оценка: В конце моделирования значение расширенных листовых узлов вычисляется одновременно двумя способами: сеть значений, а также значение быстрого моделирования подсетей для вычислений в конце игры.
- Возврат: используйте значение развернутого конечного узла, чтобы обновить значение действия корневого узла.
Я думал, что нужно выбрать для выполнения действие с наибольшим значением Q, но в статье было написано, что "финальная модель выбирает для выполнения действие с наибольшим количеством посещений", я так и не понял, почему? Сначала запишите, надеясь получить ответ.
в заключении
В этой статье просто разбираются точки знаний AlphaGo, Конкретные детали реализации все еще необходимо проверить в документе, например, ввод подсети, структура сети, влияние количества ядер свертки и т. Д. . Многие проблемы современного игрового ИИ все еще нуждаются в изучении некоторых идей из этой книги, включая обрезку деревьев поиска, самостоятельную игру и так далее.
Действительно, нецелесообразно использовать жесткий метод обучения с подкреплением для насильственного решения проблем, возникающих в игре.Развитие игр и алгоритмов по-прежнему должно постоянно поддерживаться людьми. Учащиеся, интересующиеся игровым ИИ, могут обсудить это в области комментариев ниже или написать мне в личном сообщении, чтобы добавить интереса в сообщество обучения с подкреплением/машинного обучения.