Обучение с подкреплением
Обучение с подкреплением, напомним, основано на взаимодействии обучаемого (агента) и окружения (среды) для достижения цели. Агент выбирает действие, среда отвечает на ситуации, формируя подкрепление в виде поощрения за хорошее действие или наказания за плохое действие (рис. 4.4) [18, 26].

Рис. 4.4. Принцип обучения с подкреплением
На каждом временном шаге агент строит отображение из состояния st в вероятность выбора действия at, в этом состоянии st —> Р". В результате оптимизации этой вероятности формируется правильная политика агента в разных состояниях л,(, а).
Фактически этот метод определяет, как агент изменяет свою политику в результате опыта. Цель обучения — максимизировать общее количество поощрений в течение некоторого времени (эпизода). Поощрение превращает цель в цифровую оценку и формализует процесс обучения.
В стандартном варианте обучения с подкреплением вводится ожидаемый возврат в виде
Здесь будущие поощрения суммируются на всем периоде от t + 1 до Т до конца операции (эпизода).
Можно использовать также дисконтный возврат (с дисконтным коэффициентом у, определяющим скидки на ожидаемое поощрение в будущем) в виде
Например, при обучении таким методом системы с обратным (неустойчивым) маятником на тележке требуется управлять подкатом тележки в сторону падения маятника гак, чтобы поддерживалось устойчивое состояние маятника. Падение маятника после подката считается отказом, а удержание в вертикальном положении — отсутствием отказа или успехом. При отказе имеет место подкрепление -1 (наказание), а при успехе +1 (поощрение). Здесь эпизод — последовательность повторяющихся попыток сбалансировать маятник до момента отказа. Число успешных действий после обучения должно быть максимальным.
В дискретном случае вводится параметр возврата R, определяемый числом шагов до отказа. В процессе обучения этот параметр должен максимизироваться. Альтернативно можно сделать задачу непрерывной, используя дисконтный коэффициент. В этом случае подкрепление должно быть -1 на каждом шаге с отказом и 0 во всех других случаях. Возврат R в каждый момент времени должен быть равен -у/г, где k — число успешных шагов, сделанных перед отказом, а у — дисконтный коэффициент, определяющий уровень снижения подкрепления, которое ожидается в будущем. Если у < 1, возврат сильно уменьшается с увеличением числа шагов до отказа. При у = 0 используется только текущее подкрепление, а при у > 1 будущие подкрепления используются наиболее сильно. В последнем случае агент, управляющий процессом, становится наиболее дальновидным.
Динамика марковского процесса обучения описывается вероятностями переходов в соседние состояния при выполнении действий и ожидаемыми подкреплениями в случае переходов в соседние состояния при выполненных действиях, т.е.
Описанный алгоритм теоретически позволяет добиться в течение ограниченного числа попыток удержания обратного маятника в вертикальном положении в течение неограниченного времени.
Рассмотренная задача обучения с подкреплением и управления динамическим объектом в общем случае не имеет аналитического решения. Однако, используя динамическое программирование, можно получить некоторые аналитические решения. Далее будет рассмотрен подход с использованием обучения с подкреплением для случая марковской модели, разработанный на основе метода, описанного в работе [26].
Почти все алгоритмы обучения с подкреплением основаны на вычислении значений оценочных функций — функций состояний, или пар «состояние — действие», которые показывают, насколько хорошо для агента находиться в данном состоянии или насколько хороший эффект дает выбранное действие в этом состоянии. Нотация «насколько хорошо» здесь определяется в терминах будущего поощрения, которое можно ожидать или, более точно, в терминах ожидаемого возврата. Естественно, агент может ожидать получения поощрений в будущем в зависимости от действий, которые он может сделать. Соответственно, оценочные функции будут определяться по отношению к его отдельным политикам.
Пусть политика л является отображением состояний s, е S в действия А е A(Sj) в форме вероятности л(5, А) выбора действия из множества Л, когда имеет место одно из состояний из множества S. Неформально оценка состояний S при политике л, обозначаемая как Vn(S)} является ожидаемым возвратом при старте из состояний S и последующей политики л. В случае марковского процесса решения (МНР) можно формально определить Vn(S) как

Здесь Еп{} обозначает ожидаемое значение, когда агент следует политике л, a i — шаг во времени. Возврат R вычисляется как сумма поощрений г,, умноженных на дисконтный коэффициент у, ожидаемых па нескольких шагах во времени вперед от текущего момента.
Аналогично можно определить оценочную функцию действий А в состояниях S при политике я, обозначаемую как Qn(S, А) и имеющую смысл ожидаемого возврата при старте из состояний S, и выполнении действий А, в соответствии с политикой я, т.е.
Фундаментальным свойством оценочных функций, используемых в обучении с подкреплением и динамическом программировании, является то, что они удовлетворяют некоторым рекурсивным отношениям. Поэтому для любой политики я и состояния из 5 для случая МПР может быть записано уравнение Беллмана, связывающее текущее S и возможное следующее состояние S' в виде

Решение задачи обучения с подкреплением заключается в нахождении политики, которая обеспечивает множество наилучших поощрений в течение определенного времени. В случае МПР можно точно определить оптимальную политику следующим образом.
Заметим, что оценочные функции можно использовать для частичного упорядочивания политик. Политика я может быть лучше, чем политика я', или равна ей по эффекту, если ее ожидаемый возврат лучше возврата или равен ему при политике я' для всех состояний. Другими словами, я > я', если и только если Ул(5) > V^X-S) для всех s, е S. Имеется всегда хотя бы одна политика лучше, чем все другие политики. Она является оптимальной политикой, которая здесь обозначается как я*. Эта политика может быть определена через оптимальную оценочную функцию состояний V*, которая для всех состояний st е S находится как
Оптимальная оценочная функция действий Q* определяется как
Для пар «состояние — действие» (S, А) эта функция дает ожидаемый возврат при выполнении действия А в состоянии S, которое соответствует оптимальной политике, т.е.

Поскольку V* является оптимальной оценочной функцией для политики, может быть построено соответствующее уравнение Веллмана для оптимальной оценки состояний. Интуитивно, такое уравнение выражает тот факт, что оценка состояния при оптимальной политике должна быть равна ожидаемому возврату для наилучшего действия в этом состоянии, т.е.

Пример обучения робота, убирающего отходы
Рассмотрим применение изложенного подхода к решению задачи управления роботом, убирающим отходы на определенной территории.
Робот, убирающий отходы, может рассматриваться как агент, модель поведения которого упрощенно описывается как МПР. Каждый робот принимает решения в некоторые моменты времени, определяемые внешними событиями. В каждый из таких моментов времени каждый робот решает, что он должен сделать: (1) активно искать ящик с отходами; (2) оставаться на месте и ждать, когда другие роботы перенесут свои ящики с отходами; (3) идти к базе и заряжать разряженную батарею.
Робот принимает свои решения самостоятельно, но с учетом уровня заряда (energy) своей батареи и результата обмена сообщениями с другими роботами. Можно установить два уровня энергии батареи: высокий (high) и низкий (low). Пусть возможными решениями робота будут действия робота: ожидание (wait), поиск ящика с отходами (search) и зарядка батареи (recharge). Тогда можно формально записать эти решения в виде: A (high) = {.search, wait}; A (low) = {search, wait, recharge}. Диаграмма состояний, действий и переходов для этого случая представлена на рис. 4.5.

Рис. 4.5. Диаграмма состояний, действий и переходов
Здесь введены параметры: а — вероятность того, что уровень энергии останется в high и, соответственно, 1 - а будет вероятностью того, что уровень энергии не останется в high; р — вероятность того, что уровень энергии останется в low и, соответственно, 1 - р будет вероятностью того, что уровень энергии нс останется в low; Rs и Rn _ подкрепления для действий search и wait соответственно, подкрепление для действия recharge принято равным 0.
Система стартует из состояния s и двигается вдоль переходов. Среда отвечает переходом в следующий узел состояния.
Оценочная функция оптимального состояния (уравнение Веллмана для оптимального управления):
Здесь n(s, а) — политика, определяемая как вероятность принятия действия а в состоянии s.
Используя это уравнение для случая, представленного диаграммой (см. рис. 4.5), можно вывести аналитическое выражение для вычисления оценочной функции оптимальной политики для состояния high (обозначено как /?), т.с.
Соответственно, в результате аналогичного вывода можно также получить выражение для вычисления оценочной функции оптимальной политики в состоянии low (обозначено как /) в виде
Эти уравнения позволяют для любого набора Rs, Rw, а, р, у найти пару V*(l), V*(A), одновременно удовлетворяющих условию оптимальной политики я*: такая политика лучше всех других, если я* > я', что имеет место при Vn* (s) > Vn'(s), Vs e S, Vя.
На практике используются итерационные алгоритмы обучения с подкреплением: Q-learning — для обучения в режиме офлайн и Sarsa — для обучения в режиме онлайн [26]. На каждой итерации вычисляется оценочная функция действия в текущем состоянии Q(A} S). По максимуму этой функции производится отбор действий, которые приводят к успеху. Эти действия накапливаются в ассоциативной памяти, что позволяет активизировать их в разных текущих ситуациях.