предисловие
Машинное обучение можно условно разделить на четыре категории:
- контролируемое обучение
- неконтролируемое обучение
- полуконтролируемое обучение
- обучение с подкреплением
Обучение с учителем использует помеченные образцы для обучения, а обучение без учителя использует немаркированные образцы для обучения.Эти два являются наиболее распространенными. Полууправляемое обучение заключается в том, что в выборке имеется лишь небольшое количество помеченных образцов, а большинство образцов не помечены, и эти образцы используются для обучения. Обучение с подкреплением — это совершенно другой метод обучения, в нем нет регулярных обучающих образцов и меток, и в основном достигается цель обучения с помощью вознаграждений и наказаний.
Что такое обучение с подкреплением
У «Самого сильного мозга» когда-то был проект-вызов под названием «Сотовый лабиринт», и претендент продолжал пробовать и делать ошибки. Обучение с подкреплением аналогично, оно в основном содержит три понятия: состояние, действие и вознаграждение. Возьмем, к примеру, лабиринт. Позиция агента — это состояние, а шаг из определенной позиции в определенном направлении — это действие, например, влево и вправо или вверх и вниз, и каждый шаг будет приносить вознаграждение, например так как удары по стенам — это отрицательная награда, а хорошие действия — положительные. И не только обращайте внимание на текущую награду, но также обратите внимание на долгосрочную награду и изучите последовательность действий долгосрочного вознаграждения путем непрерывных проб и ошибок.
Обучение с подкреплением является одним из основных методов машинного обучения.Агент учится от окружающей среды к поведению, то есть тому, как принять ряд поведений в окружающей среде, чтобы можно было максимизировать значение функции сигнала вознаграждения, то есть полученное накопленное вознаграждение максимизируется.
Обучение с подкреплением отличается от обучения с учителем.Обучение с учителем направляет обучение через правильные результаты, в то время как обучение с подкреплением оценивает качество генерируемых действий с помощью сигналов, предоставляемых средой.Обучение должно опираться на собственный опыт. После обучения агент знает, какое действие предпринять в каком состоянии, и изучает сопоставление состояний среды с действиями, которое называется политикой.
Как показано на рисунке ниже, агент взаимодействует со средой и изменяет среду с определенной стратегией.Агент может получить состояние $S_t$ из среды, затем выполнить действие $A_t$, после чего получить немедленную отдачу $ R_t$ и, наконец, перейти в следующее состояние.
Таким образом, весь процесс можно резюмировать как поиск оптимального действия на основе текущего наблюдаемого значения состояния для максимизации вознаграждения.
Марковский процесс принятия решений
Взаимодействие между агентом и средой будет генерировать последовательность,
Соответствующий марковский динамический процесс: начальное состояние агента $S_0$, затем он выполняет действие $A_0$, получает вознаграждение $R_1$, а затем переходит в следующее состояние $S_1$, повторяя непрерывно.
Этот процесс составляет марковский процесс принятия решений, который подчиняется марковскому предположению о том, что будущее не зависит от прошлого, поэтому состояние в следующий момент зависит только от состояния в текущий момент. который
Если определен процесс преобразования, кумулятивная сумма полученной функции возврата равна
Цель обучения с подкреплением — найти оптимальную политику, которая максимизирует ожидаемое значение взвешенной суммы отдачи.
И совокупный доход в момент времени t может быть выражен как
Видно, что включен коэффициент затухания r, и его значение составляет от 0 до 1. Более позднее состояние оказывает меньшее влияние на отдачу и постепенно затухает.
В некотором состоянии s функция ценности имеет вид
Функцию ценности можно рассматривать как две части: $R_{t+1}$ — немедленный доход,
является дисконтированным значением следующего значения функции значения состояния. Приведенная выше функция значений имеет форму уравнения Беллмана, то есть уравнения динамического программирования, которое можно решать итеративно.
Q-обучение
Функция значения состояния, упомянутая ранее, нам также нужна функция значения действия, которую можно использовать для выполнения действий в соответствии со значением действия. Q-обучение заключается в изучении качества каждого действия в различных состояниях, которое определяется как
Его также можно преобразовать в форму уравнения Беллмана,
Оптимальная функция ценности действия,
Можно видеть, что максимизация функции ценности текущего действия является оптимальной функцией ценности действия, которая максимизирует текущее вознаграждение и состояние в следующий момент.
Хотя функция значения действия может напрямую вычислять значение Q, оно не обновляется непосредственно значением Q во время фактического обучения, а обновляется постепенно. Метод обучения можно описать следующим псевдокодом: сначала инициализируйте массив набора состояний Q-обучения и набора действий, затем наблюдайте начальное состояние, а затем повторите выполнение: выберите действие, наблюдайте награду и перенесите в новое состояние и обновить значение массива Q-обучения, которое включает итеративное обновление, Поскольку мы не можем знать значение Q в следующий момент, значение Q предыдущей итерации используется для обновления значения Q этой итерации, где α представляет скорость обучения.
initialize Q[numstates,numactions] arbitrarily
observe initial state s
repeat
select and carry out an action a
observe reward R and new state s'
Q[s,a] = Q[s,a] + α(R + γmaxa'Q[s',a'] - Q[s,a])
s = s'
until terminated
Особенности обучения с подкреплением
- Это обучение методом проб и ошибок, потому что оно не имеет прямой направляющей информации, как контролируемое обучение, поэтому оно может только постоянно взаимодействовать с окружающей средой и продолжать методом проб и ошибок, чтобы получить лучшую стратегию.
- Его награды задерживаются, потому что он имеет тенденцию давать указания только в последнем состоянии, и эта проблема также усложняет распределение вознаграждений, т. Е. Как назначить положительные или отрицательные вознаграждения предыдущим состояниям.
Использование обучения с подкреплением
- Например, управление полетом самолета.
- Например, управлять ходьбой робота.
- Например, научиться играть в игры.
- Например, научиться управлять деньгами и инвестировать.
- Например, научиться играть в шахматы.
Ниже приведенырекламировать
========Время рекламы========
Моя новая книга «Анализ дизайна ядра Tomcat» продана на Jingdong, нуждающиеся друзья могут обратиться кitem.JD.com/12185360.Контракт…Зарезервировать. Спасибо друзья.
Зачем писать «Анализ проектирования ядра Tomcat»
=========================
Добро пожаловать, чтобы следовать: