Обучение с подкреплением — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound).…»)
 
Строка 1: Строка 1:
Задача о многоруком бандите.
+
== Обучение с подкреплением ==
 +
'''Обучение с подкреплением''', идея которого была почерпнута в смежной области психологии, является подразделом [[машинное обучение|машинного обучения]], изучающим, как ''агент'' должен ''действовать'' в ''окружении'', чтобы максимизировать некоторый долговременный ''выигрыш''.
 +
Алгоритмы с частичным обучением пытаются найти ''стратегию'', приписывающую ''состояниям'' окружающей среды действия, которые должен предпринять агент в этих состояниях.
 +
В экономике и теории игр обучение с подкреплением рассматривается в качестве интерпретации того, как может установиться равновесие.
  
Жадные и эпсилон-жадные стратегии.
+
Окружение обычно формулируется как [http://en.wikipedia.org/wiki/Markov_decision_process марковский процесс принятия решений] (МППР) с конечным множеством состояний, и в этом смысле алгоритмы обучения с подкреплением тесно связаны с динамическим программированием.
 +
Вероятности выигрышей и перехода состояний в МППР обычно являются величинами случайными, но стационарными в рамках задачи.
  
Метод UCB (upper confidence bound).
+
При обучении с подкреплением, в отличии от [[обучение с учителем|обучения с учителем]], не предоставляются верные пары „входные данные-ответ“, а принятие субоптимальнх решений (дающих локальный экстремум) не ограничивается явно.
 +
Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний.
 +
Баланс изучения-применения при обучении с подкреплением исследуется в задаче [http://en.wikipedia.org/wiki/Multi-armed_bandit многорукого бандита].
  
Стратегия Softmax.
+
Формально простейшая модель обучения с подкреплением состоит из:
 +
# множества состояний окружения  <i>S</i>;
 +
# множества действий <i>A</i>;
 +
# множества вещественнозначных скалярных „выигрышей“.
  
Q-learning
+
В произвольный момент времени <i>t</i> агент характеризуется состоянием <tex>s_t \in S</tex> и множеством возможных действий <tex>A(s_t)</tex>.
 +
Выбирая действие <tex>a \in A(s_t)</tex>, он переходит в состояние <tex>s_{t+1}</tex> и получает выигрыш <tex>r_t</tex>.
 +
Основываясь на таком взаимодействии с окружающей средой, агент, обучающийся с подкреплением, должен выработать стратегию <tex>\pi: S \to A</tex>, которая максимизирует величину <tex>R=r_0 + r_1+\cdots+r_n</tex> в случае МППР, имеющего терминальное состояние, или величину <br />
 +
::<tex>R=\sum_t \gamma^t r_t</tex> <br />
 +
для МППР без терминальных состояний (где <tex>0 \leq \gamma \leq 1</tex> —- дисконтирующий множитель для „предстоящего выигрыша“).
 +
 
 +
Таким образом, обучение с подкреплением особенно хорошо подходит для решения задач, связанных с выбором между долгосрочной и краткосрочной выгодой.
 +
 
 +
== Алгоритмы ==
 +
 
 +
Теперь, когда была определена функция выигрыша, нужно определить алгоритм, который будет использоваться для нахождения стратегии, обеспечивающей наилучший результат.
 +
 
 +
Наивный подход к решению этой задачи подразумевает следующие шаги:
 +
# опробовать все возможные стратегии;
 +
# выбрать стратегию с наибольшим ожидаемым выигрышем.
 +
 
 +
Первая проблема такого подхода заключается в том, что количество доступных стратегий может быть очень велико или же бесконечно.
 +
Вторая проблема возникает, если выигрыши стохастические — чтобы точно оценить выигрыш от каждой стратегии потребуется многократно применить каждую из них.
 +
Этих проблем можно избежать, если допустить некоторую структуризацию и, возможно, позволить результатам, полученным от пробы одной стратегии, влиять на оценку для другой.
 +
Двумя основными подходами для реализации этих идей являются оценка функций полезности и прямая оптимизация стратегий.
 +
 
 +
Подход с использованием функции полезности использует множество оценок ожидаемого выигрыша только для одной стратегии <tex>\pi</tex> (либо текущей, либо оптимальной).
 +
При этом пытаются оценить либо ожидаемый выигрыш, начиная с состояния <i>s</i>, при дальнейшем следовании стратегии <tex>\pi</tex>, <br />
 +
::<tex>V(s)=E[R|s,\pi]</tex>, <br />
 +
либо ожидаемый выигрыш, при принятии решения <i>a</i> в состоянии <i>s</i> и дальнейшем соблюдении <tex>\pi</tex>, <br />
 +
::<tex>Q(s,a)=E[R|s,\pi,a]</tex>. <br />
 +
Если для выбора оптимальной стратегии используется функция полезности <i>Q</i>, то оптимальные действия всегда можно выбрать как действия, максимизирующие полезность.
 +
Если же мы пользуемся функцией <i>V</i>, необходимо либо иметь модель окружения в виде вероятностей <i>P(s'|s,a)</i>, что позволяет построить функцию полезности вида <br />
 +
::<tex>Q(s,a)=\sum_{s'}V(s')P(s'|s,a)</tex>, <br />
 +
либо применить т.н. метод исполнитель-критик, в котором модель делится на две части: критик, оценивающий полезность состояния <i>V</i>, и исполнитель, выбирающий подходящее действие в каждом состоянии.
 +
 
 +
Имея фиксированную стратегию <tex>\pi</tex>, оценить <tex>E[R|\cdot]</tex> при <tex>\gamma=0</tex> можно просто усреднив непосредственные выигрыши.
 +
Наиболее очевидный способ оценки при <tex>\gamma>0</tex> — усреднить суммарный выигрыш после каждого состояния.
 +
Однако для этого требуется, чтобы МППР достиг терминального состояния (завершился).
 +
 
 +
Поэтому построение искомой оценки при <tex>\gamma>0</tex> неочевидно. Однако, можно заметить, что <i>R</i> образуют рекурсивное уравнение Беллмана: <br />
 +
::<tex>E[R|s_t]=r_t+\gamma E[R|s_{t+1}]</tex>. <br />
 +
Подставляя имеющиеся оценки, <i>V</i>, и применяя метод градиентного спуска с квадратичной функцией ошибок, мы приходим к алгоритму [http://en.wikipedia.org/wiki/Temporal_difference_learning обучения с временными воздействиями].
 +
В простейшем случае и состояния, и действия дискретны и можно придерживаться табличных оценок для каждого состояния.
 +
Другие похожие методы: Адаптивный эвристический критик (Adaptive Heuristic Critic, AHC), [http://en.wikipedia.org/wiki/SARSA SARSA] и Q-обучение ([http://en.wikipedia.org/wiki/Q-Learning Q-learning]).
 +
Все вышеупомянутые используют различные методы приближения, но в некоторых случаях сходимость не гарантируется.
 +
Для уточнения оценок используется метод градиентного спуска или [[метод наименьших квадратов]] в случае линейных приближений.
 +
 
 +
Указанные методы не только сходятся к корректной оценке для фиксированной стратегии, но и могут быть использованы для нахождения оптимальной стратегии
 +
Для этого в большинстве случаев принимают стратегию с максимальной оценкой, принимая иногда случайные шаги для исследования пространства.
 +
При выполнении некоторых дополнительных условий существуют доказательства сходимости упомянутых методов к оптимальной стратегии.
 +
Однако, эти доказательства гарантируют только асимптотическую сходимость, в то время как поведение алгоритмов обучения с подкреплением в задачах с малыми выборками мало изучено, не считая некоторых очень ограниченных случаев.
 +
 
 +
Альтернативный метод поиска оптимальной стратегии — искать непосредственно в пространстве стратегий.
 +
Таки методы определяют стратегию как параметрическую функцию <tex>\pi (s,\theta )</tex> с параметром <tex>\theta</tex>.
 +
Для настройки параметров применяются градиентные методы.
 +
Однако, применение градиентных методов осложняется тем, что отсутствует информация о градиенте.
 +
Более того, градиент тоже приходится оценивать через зашумлённые результаты выигрышей.
 +
Так как это существенно увеличивает вычислительные затраты, может быть выгоднее  использовать более мощные градиентные методы, такие как метод скорейшего спуска.
 +
Алгоритмы, работающие напрямую с пространством стратегий привлекли значительное внимание в последние 5 лет и в данный момент достигли достаточно зрелой стадии, но до сих пор остаются активным полем для исследований.
 +
Существуют и другие подходы, такие как метод отжига, применяемые для исследования пространства стратегий.
 +
 
 +
== Задача о многоруком бандите ==
 +
 
 +
== Жадные и эпсилон-жадные стратегии ==
 +
 
 +
== Метод UCB (upper confidence bound) ==
 +
 
 +
== Стратегия Softmax ==
 +
 
 +
== Q-learning ==
 +
 
 +
== Ссылки ==
 +
 
 +
*[http://en.wikipedia.org/wiki/Reinforcement_learning Wikipedia: Reinforcement learning]
 +
*[http://www.machinelearning.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D0%BF%D0%BE%D0%B4%D0%BA%D1%80%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC Обучение с подкреплением]

Версия 17:24, 12 января 2019

Обучение с подкреплением

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

Окружение обычно формулируется как марковский процесс принятия решений (МППР) с конечным множеством состояний, и в этом смысле алгоритмы обучения с подкреплением тесно связаны с динамическим программированием. Вероятности выигрышей и перехода состояний в МППР обычно являются величинами случайными, но стационарными в рамках задачи.

При обучении с подкреплением, в отличии от обучения с учителем, не предоставляются верные пары „входные данные-ответ“, а принятие субоптимальнх решений (дающих локальный экстремум) не ограничивается явно. Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний. Баланс изучения-применения при обучении с подкреплением исследуется в задаче многорукого бандита.

Формально простейшая модель обучения с подкреплением состоит из:

  1. множества состояний окружения S;
  2. множества действий A;
  3. множества вещественнозначных скалярных „выигрышей“.

В произвольный момент времени t агент характеризуется состоянием [math]s_t \in S[/math] и множеством возможных действий [math]A(s_t)[/math]. Выбирая действие [math]a \in A(s_t)[/math], он переходит в состояние [math]s_{t+1}[/math] и получает выигрыш [math]r_t[/math]. Основываясь на таком взаимодействии с окружающей средой, агент, обучающийся с подкреплением, должен выработать стратегию [math]\pi: S \to A[/math], которая максимизирует величину [math]R=r_0 + r_1+\cdots+r_n[/math] в случае МППР, имеющего терминальное состояние, или величину

[math]R=\sum_t \gamma^t r_t[/math]

для МППР без терминальных состояний (где [math]0 \leq \gamma \leq 1[/math] —- дисконтирующий множитель для „предстоящего выигрыша“).

Таким образом, обучение с подкреплением особенно хорошо подходит для решения задач, связанных с выбором между долгосрочной и краткосрочной выгодой.

Алгоритмы

Теперь, когда была определена функция выигрыша, нужно определить алгоритм, который будет использоваться для нахождения стратегии, обеспечивающей наилучший результат.

Наивный подход к решению этой задачи подразумевает следующие шаги:

  1. опробовать все возможные стратегии;
  2. выбрать стратегию с наибольшим ожидаемым выигрышем.

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

Подход с использованием функции полезности использует множество оценок ожидаемого выигрыша только для одной стратегии [math]\pi[/math] (либо текущей, либо оптимальной). При этом пытаются оценить либо ожидаемый выигрыш, начиная с состояния s, при дальнейшем следовании стратегии [math]\pi[/math],

[math]V(s)=E[R|s,\pi][/math],

либо ожидаемый выигрыш, при принятии решения a в состоянии s и дальнейшем соблюдении [math]\pi[/math],

[math]Q(s,a)=E[R|s,\pi,a][/math].

Если для выбора оптимальной стратегии используется функция полезности Q, то оптимальные действия всегда можно выбрать как действия, максимизирующие полезность. Если же мы пользуемся функцией V, необходимо либо иметь модель окружения в виде вероятностей P(s'|s,a), что позволяет построить функцию полезности вида

[math]Q(s,a)=\sum_{s'}V(s')P(s'|s,a)[/math],

либо применить т.н. метод исполнитель-критик, в котором модель делится на две части: критик, оценивающий полезность состояния V, и исполнитель, выбирающий подходящее действие в каждом состоянии.

Имея фиксированную стратегию [math]\pi[/math], оценить [math]E[R|\cdot][/math] при [math]\gamma=0[/math] можно просто усреднив непосредственные выигрыши. Наиболее очевидный способ оценки при [math]\gamma\gt 0[/math] — усреднить суммарный выигрыш после каждого состояния. Однако для этого требуется, чтобы МППР достиг терминального состояния (завершился).

Поэтому построение искомой оценки при [math]\gamma\gt 0[/math] неочевидно. Однако, можно заметить, что R образуют рекурсивное уравнение Беллмана:

[math]E[R|s_t]=r_t+\gamma E[R|s_{t+1}][/math].

Подставляя имеющиеся оценки, V, и применяя метод градиентного спуска с квадратичной функцией ошибок, мы приходим к алгоритму обучения с временными воздействиями. В простейшем случае и состояния, и действия дискретны и можно придерживаться табличных оценок для каждого состояния. Другие похожие методы: Адаптивный эвристический критик (Adaptive Heuristic Critic, AHC), SARSA и Q-обучение (Q-learning). Все вышеупомянутые используют различные методы приближения, но в некоторых случаях сходимость не гарантируется. Для уточнения оценок используется метод градиентного спуска или метод наименьших квадратов в случае линейных приближений.

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

Альтернативный метод поиска оптимальной стратегии — искать непосредственно в пространстве стратегий. Таки методы определяют стратегию как параметрическую функцию [math]\pi (s,\theta )[/math] с параметром [math]\theta[/math]. Для настройки параметров применяются градиентные методы. Однако, применение градиентных методов осложняется тем, что отсутствует информация о градиенте. Более того, градиент тоже приходится оценивать через зашумлённые результаты выигрышей. Так как это существенно увеличивает вычислительные затраты, может быть выгоднее использовать более мощные градиентные методы, такие как метод скорейшего спуска. Алгоритмы, работающие напрямую с пространством стратегий привлекли значительное внимание в последние 5 лет и в данный момент достигли достаточно зрелой стадии, но до сих пор остаются активным полем для исследований. Существуют и другие подходы, такие как метод отжига, применяемые для исследования пространства стратегий.

Задача о многоруком бандите

Жадные и эпсилон-жадные стратегии

Метод UCB (upper confidence bound)

Стратегия Softmax

Q-learning

Ссылки