Глава 11. Основы глубокого обучения с подкреплением
439
ждение. Будущее вознаграждение может играть столь же важную роль, что и неме
дленное, но его важность может быть и меньше. Выразить количественно это отно
сительное равновесие можно с помощью коэффициента дисконтирования
γ
(гамма).
Его значение обычно близко к 1, но чуть меньше, например 0,95 или 0,99. Это можно
выразить следующим математическим уравнением:
v
i
=
r
i
+
γ
⋅
r
i
+1
+
γ
2
⋅
r
i
+2
+ ... +
γ
N
–
i
r
N
.
(11.1)
В уравнении (11.1)
v
i
— общее дисконтированное вознаграждение состояния на
шаге
i
, которое можно считать ценностью конкретного состояния. Оно равно неме
дленному вознаграждению агента на этом шаге (
r
i
) плюс вознаграждение со следу
ющего шага (
r
i
+1
), все это дисконтировано на коэффициент
γ
, плюс дисконтирован
ное вознаграждение через два шага и так далее, вплоть до конца эпизода (шаг
N
).
Чтобы проиллюстрировать дисконтирование вознаграждения, мы покажем,
как это уравнение преобразует исходные вознаграждения в более удобную метрику
ценности (рис. 11.5). Верхний график в блоке A демонстрирует исходные вознаграж
дения с четырех шагов короткого эпизода. На нижнем графике показаны дисконти
рованные вознаграждения (согласно уравнению (11.1)). В блоке Б для сравнения
приведены исходные и дисконтированные вознаграждения с более длительного эпи
зода (длина — 20). В этих двух блоках видно, что величина суммарного дисконтиро
ванного вознаграждения выше в начале и ниже в конце эпизода, что логично, ведь мы
как раз и хотим поставить более низкие значения в соответствие действиям в конце
эпизода, приводящим к завершению игры. Кроме того, ценность в начале и середине
более длительного эпизода (блок Б) выше, чем ценность в начале более короткого
(блок A). Это также интуитивно понятно, поскольку мы хотим поставить более вы
сокую ценность в соответствие действиям, приводящим к удлинению эпизода.
В результате использования уравнения дисконтирования вознаграждения полу
чается набор более логичных, чем при «наивном» подходе, значений. Но все равно
остается вопрос: как обучить сеть стратегий с помощью этих дисконтированных
величин вознаграждений? Для этого мы воспользуемся алгоритмом REINFORCE,
изобретенным Рональдом Вильямсом в 1992 году
1
. Основная идея алгоритма —
подобрать значения весовых коэффициентов сети стратегий так, чтобы повысить
вероятность выбора ею удачных вариантов (вариантов, которым присвоены боль
шие величины дисконтированного вознаграждения) и снизить вероятность выбора
вариантов неудачных (которым присвоены меньшие величины дисконтированного
вознаграждения).
Для этого нам необходимо вычислить, в каком направлении следует менять па
раметры, чтобы повысить вероятность действия, при данных входных наблюдениях.
Это реализует код из листинга 11.3 (фрагмент из
cart-pole/index.js
). На каждом
ходе игры вызывается функция
getGradientsAndSaveActions()
, сравнивающая ло
гиты (ненормализованные оценки вероятности) с фактически выбираемым на этом
ходе действием и возвращающая градиент этого расхождения относительно весов
1
Williams R. J.
Simple Statistical GradientFollowing Algorithms for Connectionist Reinforce
ment Learning // Machine Learning. Vol. 8. Nos. 3–4. Pp. 229–256. http://mng.bz/WOyw.
440
Do'stlaringiz bilan baham: |