77
правок
Изменения
Нет описания правки
{{Определение
|definition=
'''Обучение с подкреплением''' (англ. ''reinforcement learning'') {{---}} способ машинного обучения, при котором система обучается, взаимодействуя с некоторой средой.
}}
== Обучение с подкреплением ==
Алгоритмы с частичным обучением пытаются найти ''стратегию'', приписывающую ''состояниям'' окружающей среды действия, которые должен предпринять агент в этих состояниях.
При обучении с подкреплением, в отличии от обучения с учителем, не предоставляются верные пары "входные данные-ответ", а принятие субоптимальнх решений (дающих локальный экстремум) не ограничивается явно.
Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний(англ. ''exploration vs exploitation'').
Баланс изучения-применения при обучении с подкреплением исследуется в задаче [http://en.wikipedia.org/wiki/Multi-armed_bandit многорукого бандита].
либо применить т.н. метод исполнитель-критик, в котором модель делится на две части: критик, оценивающий полезность состояния <tex>V</tex>, и исполнитель, выбирающий подходящее действие в каждом состоянии.
Имея фиксированную стратегию <tex>\pi</tex>, оценить <tex>E[R|\cdot]</tex> при <tex>\gamma = 01</tex> можно просто усреднив непосредственные выигрыши.Наиболее очевидный способ оценки при <tex>\gamma > \in (0, 1)</tex> — {{---}} усреднить суммарный выигрыш после каждого состояния.
Однако для этого требуется, чтобы МППР достиг терминального состояния (завершился).
Поэтому построение искомой оценки при <tex>\gamma > \in (0, 1)</tex> неочевидно. Однако, можно заметить, что <tex>R</tex> образуют рекурсивное уравнение Беллмана:
::<tex>E[R|s_t]=r_t + \gamma E[R|s_{t+1}]</tex>.
=== Формулировка ===
<tex>A</tex> {{---}} множество возможных ''действий''(ручек автомата)
<tex>p_a(r)</tex> {{---}} неизвестное распределение ''награды'' <tex>r \in R</tex> <tex>\forall a \in A</tex>
* инициализация стратегии <tex>\pi_1(a)</tex>
* для всех <tex>t = 1 \ldots T</tex>
** агент выбирает действие (ручку) <tex>a_t ∼ \pi_t(a)</tex>
** среда генерирует награду <tex>r_t ∼ p_{a_t}(r)</tex>
** агент корректирует стратегию <tex>\pi_{t+1}(a)</tex>
<tex>Q_t(a) = \frac{\sum^{t}_{i=1}{r_i[a_i = a]}}{\sum^{t}_{i=1}{[a_i = a]}} \rightarrow max </tex> — {{---}} средняя награда в <i>t</i> играх <br /><tex>Q^∗(a) = \lim \limits_{t \rightarrow \infty} Q_t(a) \rightarrow max </tex> — {{---}} ценность действия <tex>a</tex>
У нас есть автомат {{---}} <tex>N</tex>-рукий бандит, на каждом шаге мы выбираем за какую из <tex>N</tex> рук ручек автомата дернуть,
т.е. множество действий <tex>A = {1,2 \ldots ,N}</tex>.
<tex>E(\xi) = \frac{1}{K} \sum_{k=1}^{K}{\xi_k} </tex>
Задача является модельной для понимания конфликта между ''exploitation'' (применение, эксплуатация) и -''exploration'' (изучение, исследование).
== Жадные и <tex>\epsilon</tex>-жадные стратегии ==
=== <tex>\epsilon</tex>-жадная (<tex>\epsilon</tex>-greedy) стратегия ===
[[File:Eps-greedy.png|thumb|313px|Пример. Награда для стратегии с различными <tex>\epsilon</tex>link=https://vbystricky.github.io/2017/01/rl_multi_arms_bandits.html]]
Введем параметр <tex>\epsilon \in (0,1)</tex>
* Получим значение <tex>\alpha</tex> {{---}} случайной величины равномерно распределенной на отрезке <tex>(0, 1)</tex>
* Если <tex>\alpha \in (0, \epsilon)</tex>, то выберем действие <tex>a_t \in A</tex> случайно и равновероятно, иначе как в жадной стратегии выбирем выберем действие с максимальной оценкой математического ожидания:
* Обновляем оценки так же как в жадной стратегии
<tex>\tau \in (0, \infty)</tex> {{---}} параметр, с помощью которого можно настраивать поведение алгоритма.
При <tex>\tau \rightarrow \infty</tex> стратегия стремится к равномерной, то есть softmax будет меньше зависеть от значения выигрыша и выбирать действия более равномерно (режим исследованияexploration).
При <tex>\tau \rightarrow 0</tex> стратегия стремится к жадной, то есть алгоритм будет больше ориентироваться на известный средний выигрыш действий (режим эксплуатацииexploitation).
Экспонента используется для того, чтобы данный вес был ненулевым даже у действий, награда от которых пока нулевая.