470
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Рис. 11.17.
Примеры журналов с процесса обучения snake-dqn в tfjs-node. На рисунках
показаны: 1) cumulativeReward100 — скользящее среднее совокупного вознаграждения
за последние 100 игр; 2) eaten100 — скользящее среднее количества «съеденных»
за последние 100 игр фруктов; 3) epsilon — значение эпсилон, по которому можно видеть
динамику эпсилон-жадной стратегии и 4) framesPerSecond — мера скорости обучения
Из поведения змейки можно сделать несколь
ко интересных наблюдений. Вопервых, количе
ство фактически съеденных змейкой фруктов на
демонстрации в клиентской части (~18) в среднем
превышает значения кривой
eaten100
из журналов
обучения (~12) изза отказа от эпсилонжадной
стратегии, а значит, и исключения случайных дей
ствий во время игры. Напомним, что на поздних
этапах обучения DQN значение эпсилон остается
небольшим, но все же не равным нулю (см. третий
блок на рис. 11.17). Вызываемые этим значением
эпсилон случайные действия порой приводят к пре
ждевременной гибели змейки — такова цена ис
следовательского поведения. Вовторых, змейка
выработала интересную стратегию перемещения
к боковым границам и углам доски перед прибли
жением к фрукту, даже когда фрукт располагается
возле центра доски. Такая стратегия помогает змей
Рис. 11.18.
Q-значения,
предсказываемые обученной DQN,
отображаются в числовом виде
и отрисовываются различными
оттенками зеленого в веб-версии
клиентской части игры
Глава 11. Основы глубокого обучения с подкреплением
471
ке при относительно большой ее длине (скажем, в районе 10–18) снизить вероят
ность натолкнуться на свое тело. Это не так уж плохо, но и не так уж хорошо тоже,
поскольку существуют более грамотные стратегии, выработать которые змейке
не удалось. Например, змейка часто замыкается в круг, когда ее длина превыша
ет 20. Но на большее алгоритм из snakedqn не способен. Для дальнейшего усовер
шенствования агента змейки необходимо видоизменить эпсилонжадный алгоритм
так, чтобы подстегнуть змейку при большой длине искать лучшие ходы
1
. В теку
щем алгоритме исследовательское начало оказывается слишком слабо к моменту,
когда змейка вырастает до размеров, требующих умелого лавирования вокруг ее
собственного тела.
На этом завершается наш обзор методики DQN для обучения с подкреплением.
В основе нашего алгоритма лежит статья «Управление на уровне человека с помо
щью обучения с подкреплением»
2
, в которой исследователи из DeepMind впервые
показали, как сочетание возможностей глубоких нейронных сетей и RL позволяет
машинам успешно играть во многие компьютерные игры наподобие Atari 2600.
Приведенное здесь решение snakedqn представляет собой упрощенную версию
алгоритма DeepMind. Например, наш DQN анализирует наблюдение только с теку
щего шага, в то время как алгоритм DeepMind объединяет во входном сигнале DQN
текущее наблюдение с наблюдениями из нескольких прошлых ходов. Но наш пример
захватывает саму суть этой революционной методики — а именно, использование
глубокой сверточной сети в качестве мощного средства аппроксимации функций
для оценки зависящих от состояния ценностей действий и обучения ее с помощью
MDP и уравнения Беллмана. Последующие достижения исследователей RL, на
пример покорение таких игр, как го и шахматы, основаны на аналогичном союзе
глубоких нейронных сетей и традиционных, не связанных с глубоким обучением
методов обучения с подкреплением.
Материалы для дальнейшего изучения
z
z
Sutton R. S., Barto A. G.
Reinforcement Learning: An Introduction, A Bradford Book, 2018.
(
Саттон Р. С., Барто Э. Дж.
Обучение с подкреплением. — М.: ДМКПресс, 2020.)
z
z
Конспект лекций Дэвида Сильвера по обучению с подкреплением, прочитанных
в Университетском колледже Лондона:
http://www0.cs.ucl.ac.uk/staff/d.silver/web/
Teaching.html
.
z
z
Zai A., Brown B.
Deep Reinforcement Learning in Action, Manning Publications:
www.manning.com/books/deep-reinforcement-learning-in-action
.
z
z
Lapan M.
Deep Reinforcement Learning HandsOn: Apply Modern RL Methods,
with Deep Qnetworks, Value Iteration, Policy Gradients, TRPO, AlphaGo Zero and
More. — Packt Publishing, 2018. (
Лапань М.
Глубокое обучение с подкреплением.
AlphaGo и другие технологии. — СПб.: Питер, 2020.)
1
Например, см. https://github.com/carsonprindle/OpenAIExam2018.
2
Mnih V. et al.
HumanLevel Control through Deep Reinforcement Learning // Nature, 2015.
Vol. 518. Pp. 529–533. www.nature.com/articles/nature14236/.
472
Do'stlaringiz bilan baham: |