Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Аналогично наилучший исход для состояния
s
3
— при действии
a
1
, что дает воз
награждение –4. Следовательно, если выполнить в состоянии
s
1
действие
a
2
, макси
мальное дисконтированное вознаграждение будет:
Максимальное вознаграждение
при действии
a
2
из состояния
s
1
= немедленное вознаграждение + дисконтиро
ванное будущее вознаграждение =
= 3 +
γ
⋅
–4 =
= 3 + 0,9
⋅
–4 =
= 0,6
Рис. 11.10.
Очень простой конкретный пример марковского процесса принятия решений (MDP).
Состояния изображены в виде серых кругов с метками
s
n
, а действия — серых кругов с метками
a
m
.
Вознаграждения, соответствующие вызванным действиями переходам из состояния в состояние,
обозначены
r = x
Вычисленные нами дисконтированные вознаграждения — примеры так называ
емых
Q-значений
(Qvalues). Qзначение — это ожидаемое совокупное вознаграж
дение (с учетом дисконтирования) для действия в заданном состоянии. Из этих
Qзначений ясно, что в состоянии
s
1
действие
a
1
лучше, чем
a
2
, — умозаключение,
отличное от того, к которому мы пришли на основе величин одних немедленных
вознаграждений при первом действии. В упражнении 3 в конце главы у вас будет
возможность поупражняться в вычислении Qзначений в более реалистичных сце
нариях MDP, в которых присутствует стохастичность.
Глава 11. Основы глубокого обучения с подкреплением
453
Приведенный пример хода рассуждений может показаться тривиальным. Но из
него следует абстракция, играющая ключевую роль в Qобучении. Qзначение,
обозначаемое
Q
(
s,
a
), представляет собой функцию текущего состояния (
s
) и дей
ствия (
a
). Другими словами, функция
Q
(
s,
a
) ставит паре «состояние — действие»
в соответствие оценку величины вознаграждения от выполнения данного действия
в данном состоянии. Эта величина лишь перспективная, поскольку учитывает ма
ксимально возможные будущие вознаграждения, в допущении, что на всех будущих
шагах будут производиться оптимальные действия.
Благодаря этому для выбора оптимального действия в любом конкретном состоя
нии нам достаточно величины
Q
(
s,
a
). В частности, при известной
Q
(
s,
a
) оптималь
ным будет действие с максимальным Qзначением среди всех возможных действий:
значение
a
, при котором достигается максимум
из
Q
(
s
i
,
s
1
),
Q
(
s
i
,
a
2
)...
Q
(
s
i
,
a
N
),
(11.2)
где
N
— число всех возможных действий. При наличии хорошей оценки
Q(s, a)
можно просто следовать на каждом шаге этому процессу принятия решений и гаран
тированно получить максимально возможное совокупное вознаграждение. Таким
образом, задача RL поиска оптимального процесса принятия решений сводится
к поиску путем обучения функции
Q
(
s,
a
). Отсюда и название алгоритма обучения:
Qобучение.
Давайте на минуту отвлечемся и посмотрим, чем Qобучение отличается от ме
тода градиентного спуска по стратегиям, который мы использовали в задаче удер
жания шеста на тележке в равновесии. В градиентном спуске по стратегиям идея
заключалась в предсказании наилучшего действия из возможных; а в Qобучении —
в предсказании значений ценности для всех возможных действий. И если гради
енты по стратегиям непосредственно указывают, какое действие следует выбрать,
Qобучение идет слегка окольным путем и требует дополнительного шага «выбрать
максимальное значение». Этот окольный путь позволяет проще установить связь
между вознаграждениями и значениями ценности для последующих шагов, облегчая
тем самым обучение в задачах с разреженными положительными вознаграждениями,
наподобие задачи змейки.
Так какова же связь между вознаграждениями и значениями ценности для по
следующих шагов? Мы уже видели эту связь мельком, когда решали простую задачу
MDP на рис. 11.10. Математически ее можно выразить следующим образом:
Q
(
s
i
,
a
) =
r
+
γ
⋅
[максимальное значение
из
Q
(
s
след
,
a
1
),
Q
(
s
след
,
a
2
)...
Q
(
s
след
,
a
N
)],
(11.3)
где
s
след
— состояние, в которое мы попадем, если выберем в состоянии
s
i
действие
a
.
Приведенное уравнение, известное под названием
уравнения Беллмана
1
, описывает
1
Сформулировано американским прикладным математиком Ричардом Э. Беллманом
(1920–1984). См. его книгу Dynamic Programming, Princeton University Press, 1957.
(
Беллман Р. Э.
Динамическое программирование. — М.: Издво иностр. литературы, 1960.)
454
Do'stlaringiz bilan baham: |