За 15 минут удалось добиться среднего счета 8 и максимального счета 18.
При 30 минутах обучения средний счет равен 13, а максимальный счет 21.
Q-value approximation:
Далее был применен метод аппроксимации значения Q.
В отличии от первых двух алгоритмов, удовлетворительных результатов удалось добить только к 15-й минуте обучения со средним счетом 10 и максимальным 22.
Сравнив три алгоритма на простой реализации, можно сделать вывод, что что алгоритм SARSA показывает лучшие результаты, но требует большего обучения. Q-learning же хорошо себя показывает, когда время обучение не очень большое, около 20 минут, метод аппроксимации тоже показывает хорошие результаты, но требует еще большего обучения, чем SARSA.
Теперь попробуем алгоритмы на более сложной реализации: поле 40х40 и дополнительные препятствия.
Так как реализация более сложная, увеличим время тренировки до двух часов или ~3300 игровых эпизодов.
Q-learning:
Алгоритм хорошо себя показал, счет для каждой игры виден на
графике:
Как видно на рисунке, примерно после 1700 игры результаты значительно улучшаются.
Теперь посмотрим средние значения за каждые 100 игр:
После ~ 2000 игровых эпизодов, обучение сильно замедлилось и средний счет практически перестает расти.
SARSA: алгоритм хорошо себя
показывает
Как видно на рисунке, счет плавно растет от игры к игре
Посмотрим средние значения за каждые 100 игр:
После ~2500 игровых эпизодов, обучение значительно замедлилось и средний счет перестал расти.
Сравним алгоритмы Q-learning и SARSA:
На рисунке изображены графики средних значений счета за
каждые 100 эпизодов, зеленым цветом SARSA, синим - Q-learning
обучение компьютерная игра алгоритм
Как видно на графике, оба алгоритма показывают примерно одинаковые результаты. Однако SARSA растет плавнее и заканчивает расти немного позже, чем Q-learning. Можно сделать вывод, что при обучении агентов на относительно малом числе эпизодов (до 1500) лучше использовать SARSA, однако при длительном обучении (более 3000 эпизодов) оба алгоритма показываю себя одинаково хорошо.
Neural-network Q-value approximation:
Посмотрим средние значения за каждые 100 игр:
После ~1700 Игровых эпизодов, обучение значительно замедляется, но продолжает расти
Теперь, сравним алгоритм аппроксимации Q-значения c SARSA и Q-learning (которые показали примерно одинаковые результаты):
Зеленым цветом - Q-value approximation
Красным цветом - SARSA
Синим цветом - Q-leaning
Как видно на сравнительном графике, алгоритм аппроксимации Q-значения работает хуже остальных, когда число игровых эпизодов меньше 1000, начиная с тысячи до двух, алгоритм показывает значительно лучшие результаты. В конечном итоге, после ~3000 эпизодов обучения все три алгоритма показали примерно одинаковый результат.
Однако стоит заметить, что алгоритм аппроксимации Q-значения работает значительно быстрее по времени, за два часа удалось провести около 4000 0 игровых эпизодов, когда Q-learning и SARSA успели провести только 3000.
В итоге, можно сделать вывод, что для задач, где число
состояний среды мало или требуется провести мало количество тренировочных
эпизодов, лучше использовать Q-learning и SARSA, если же окружение большое и агента приходится
обучать на больших данных, то предпочтительнее использовать аппроксимацию Q-значения.
В данной работе было рассмотрено применение алгоритмов обучения с подкреплением в динамической среде, а именно - компьютерной игре Snake. Алгоритмы были протестированы на ряде тестовых примеров. Эксперименты показали, что обучение с подкреплением отлично подходит для применения в областях, где требуется обучить агента действовать в постоянно изменяющейся среде.
В дальнейшем планируется рассмотреть другие техники обучения
без учителя для разного рода задач.
[1] Sutton, Richard S.; Barto, Andrew G. "Reinforcement Learning: An Introduction” (1998)
[2] Yizheng Liao, Kun Yi, Zhe Yang: Reinforcement Learning to Play Mario, CS229.
[3] Bing-Qiang Huang, Gung-Yi Cao, Min Guo: Reinforcement Learning Neural Network to the problem of autonomous mobile robot obstacle avoidance, 18-21, (2005).
[4] Michiel R., Marco W.: Reinforcement Learning in the Game of Othello: Learning Against a Fixed Opponent and Learning from Self-Play
[5] M. Wiering and M. van Ottelo: Reinforcement Learning: State-of-the-art. (2012)
[6] Imran Ghory: Reinforcement learning in board games.
[7] Yngvi B., Vignir H., Ársæll J. and Einar J. ”Efficient use of reinforcement learning in a computer game”