Это второй день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления
Эта статья является четвертой в серии вводного обучения с подкреплением, в основном вводит два очень распространенных алгоритма временной разницы в обучении с подкреплением: Q-обучение и Сарса.
Дифференциал синхронизации TD
Прежде всего, что такое обучение с разницей во времени?
Временное дифференциальное обучение может изучать политики непосредственно из опыта взаимодействия с окружающей средой без построения модели динамических характеристик среды, что часто называют методом без моделей. Метод динамического программирования, подобный описанному выше, требует динамических характеристик известной среды и относится к методу, основанному на модели.
Обучение временной разнице использует опыт для решения прогнозов. Другими словами, необходимо оценить функцию ценности состояния в соответствии с некоторыми эмпирическими данными, полученными из данной стратегии.обновить.
В этой статье представлены два классических метода обучения с разницей во времени: Q-обучение и Сарса.
Q-Learning
Q-Learning — это неполитический алгоритм, который может учиться как на текущих, так и на прошлых данных.
Как научиться?
Во-первых, иметь Q-таблицу, которая обновляет таблицу посредством итерации. Суть Q-обучения заключается в том, что у него есть Q-таблица, в которой выполняются все обновления значений. Таблицы хранят исторические данные, поэтому Q-learning может изучать не только текущие данные, но и данные из прошлого опыта.
Например
Предположим, что сейчас есть 3 состояния, каждое состояние имеет 3 действия, предположим, что действиеСоответствующая награда +1,Соответствующая награда -1,Соответствующая награда равна 0. Эта таблица Q может быть представлена матрицей.
Первый заключается в инициализации таблицы Q, и каждое значение Q, то есть значение действия, изначально равно 0.
Первый шаг: решение.
Предположим, что начальное состояние. в соответствии сСтратегия выбирает действие. Поскольку начальное значение Q равно 0, в это время оно выбирается случайным образом, предполагая, что действие выбрано.,Входить, награда +1, на данный момент по формуле обновления:
Шаг 2: Обновите значение Q.
Мы предполагаем, что скорость обучения равна 1, коэффициент дисконтированиясоставляет 0,8. ТакЗначение должно быть обновлено до, таблица Q также обновляется следующим образом:
На этом обновление завершено. Можно обнаружить, что Q-обучение представляет собой одношаговое обновление.
Следующие шаги такие же, как и выше, поэтому повторение и обновление — это Q-обучение.
Поток алгоритма
Псевдокод выглядит следующим образом:
Как решить?
В стратегии выбора действий эпсилон-жадный метод выбирает действие a с наибольшим значением из текущего состояния.
Как обновляется значение Q?
При обновлении таблицы Q вознаграждение r генерируется действием a и следующим состоянием s', но действие в следующем состоянии s' использует максимальное значение для обновления.
Стоит отметить, что из-за максимальной работы Q-обучение не подходит для задач непрерывного действия.
Sarsa
Sarsa — это алгоритм политики. Он может учиться только на текущих данных.
Как научиться?
Алгоритм Sarsa похож на Q-обучение, у Sarsa также есть Q-таблица, которая аналогична Q-обучению в выборе действий, то есть в части принятия решений. Разница в том, что при обновлении значения Q максимальная операция берется для следующего состояния и действия в Q-обучении, которое является жадным, в то время как Sarsa относительно консервативен.основывается на следующем.
Оба алгоритма используют эпсилон-жадный выбор действий. Однако Sarsa использует epsilon-greedy для выбора действия перед обучением и решает использовать это действие для обучения, поэтому следующее действие обновления является действием, которое необходимо изучить. Таким образом, текущее обучение не обязательно является максимальной наградой. Тем не менее, Q-обучение берет максимум для следующего действия, и каждый шаг обучения имеет самую большую награду перед ним.Однако из-за случайности эпсилон-жадности оно может выскочить из жадности и перейти к случайному выбору, поэтому действие очередного обновления имеет высокую вероятность.Не узнать.
Пример Q-обучения
Мы следуем настройке приведенного выше примера, предполагая, что текущая таблица Q выглядит следующим образом:
Предположим, что текущее состояние, действие выбрано, введите состояние следующего момента, то в следующий моментДействие выбирается согласно жадной политике в государстве.
Затем при обновлении значения Q, т.к. Сарса должен учитывать следующий моментда, это, то по формуле:
Значение должно быть обновлено до,
И если это Q-склонность, даПриведенное ниже значение Q принимает максимальное значение, то есть, обновление на данный момент.
Поток алгоритма
Псевдокод выглядит следующим образом:
Sarsa подходит для задач непрерывности, поскольку при обновлении учитывает значение непрерывных моментов.
резюме
Один из Q-learning и Sarsa является алгоритмом вне политики, а другой — алгоритмом политики. Разница между двумя алгоритмами заключается в разнице в обновлении значения Q. Другими словами, когда Q-обучение обновляется на следующем шаге, оно учитывает максимальное значение Q в следующий момент, в то время как Sarsa — мгновенное обновление, При обновлении учитывается только значение Q в следующий момент.
Ссылаться на