Алгоритм обучения по временной разнице был представлен Ричардом С. Саттоном в 1988 году. Причина, по которой метод обучения по временной разнице стал популярным, заключалась в том, что он сочетал в себе преимущества динамического программирования и метода Монте-Карло. Но что это за преимущества?

Эта статья представляет собой отрывок из книги Судхарсана Равичандирана Глубокое обучение с подкреплением на Python, второе издание — всеобъемлющего руководства для начинающих, которое поможет овладеть современными технологиями RL. и глубокие алгоритмы RL.

Давайте быстро вспомним преимущества и недостатки метода DP и метода MC.

Динамическое программирование. Преимущество метода DP заключается в том, что он использует уравнение Беллмана для вычисления значения состояния. То есть мы узнали, что согласно уравнению Беллмана ценность состояния может быть получена как сумма немедленного вознаграждения и дисконтированной стоимости следующего состояния. Это называется начальной загрузкой. То есть, чтобы вычислить значение состояния, нам не нужно ждать конца эпизода, вместо этого, используя уравнение Беллмана, мы можем оценить значение состояния только на основе значения следующего состояния, и это называется начальной загрузкой.

Помните, как мы оценивали функцию ценности в методах DP (итерация ценности и политики)? Мы оценили функцию ценности (значение состояния) как:

Как вы помните, мы узнали, что для того, чтобы найти значение состояния, нам не нужно было ждать конца эпизода. Вместо этого мы используем начальную загрузку, то есть оцениваем значение текущего состояния V(s) путем оценки значения следующего состояния V(s′).

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

Метод Монте-Карло. Преимущество метода MC заключается в том, что это метод без моделей, что означает, что он не требует знания модельной динамики окружающей среды для оценки значений и функций Q.

Однако недостатком метода МК является то, что для оценки значения состояния или значения Q нам нужно дождаться окончания эпизода, а если эпизод длинный, то это будет стоить нам много времени. Кроме того, мы не можем применять методы MC к непрерывным задачам (неэпизодическим задачам).

Теперь вернемся к изучению временной разницы. Алгоритм обучения TD учитывает преимущества методов DP и MC. Итак, как и в DP, мы выполняем начальную загрузку, чтобы нам не приходилось ждать конца эпизода, чтобы вычислить значение состояния или значение Q, и, как и в методе MC, это метод без модели, поэтому он не требует динамики модели среды для вычисления значения состояния или значения Q. Теперь, когда у нас есть основная идея алгоритма обучения TD, давайте углубимся в детали и узнаем, как именно он работает.

Мы можем использовать алгоритм обучения TD как для задач прогнозирования, так и для задач управления, поэтому мы можем разделить обучение TD на:

  • Прогноз TD
  • ТД контроль

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

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

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

Сначала давайте посмотрим, как использовать TD-обучение для выполнения задачи прогнозирования, а затем мы узнаем, как использовать TD-обучение для задачи управления.

Прогнозирование обучения с временной разницей

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

В методе MC мы оцениваем значение состояния, беря его доход:

V(s) ≈ R(s)

Однако одно возвращаемое значение не может точно аппроксимировать значение состояния. Итак, мы генерируем N эпизодов и вычисляем значение состояния как средний возврат состояния по N эпизодам:

Но с методом MC нам нужно дождаться конца эпизода, чтобы вычислить значение состояния, а когда эпизод длинный, это занимает много времени. Еще одна проблема с методом MC заключается в том, что мы не можем применить его к неэпизодическим задачам (непрерывным задачам).

Итак, в обучении TD мы используем бутстрэппинг и оцениваем значение состояния как:

𝑉(𝑠) ≈ 𝑟 + 𝛾V(𝑠′ )

Предыдущее уравнение говорит нам, что мы можем оценить значение состояния, взяв только немедленную награду r и дисконтированное значение следующего состояния 𝛾𝛾𝛾𝛾(𝑠𝑠′).

Как вы можете заметить из предыдущего уравнения, аналогично тому, что мы узнали в методах DP (итерация ценности и политики), мы выполняем начальную загрузку, но здесь нам не нужно знать динамику модели.

Таким образом, используя обучение временной разнице, значение состояния аппроксимируется следующим образом:

𝑉(𝑠) ≈ 𝑟 + 𝛾V(𝑠′ )

Однако одно значение 𝑟 + 𝛾V(𝑠′) не может идеально аппроксимировать значение состояния. Таким образом, мы можем взять среднее значение и вместо среднего арифметического использовать приращение среднего.

В методе MC мы узнали, как использовать приращение среднего для оценки значения состояния, и оно дается следующим образом:

𝑉(𝑠) = 𝑉(𝑠) + 𝛼(R — 𝑉(𝑠))

Точно так же здесь, в обучении TD, мы можем использовать добавочное среднее и оценить значение состояния, как показано здесь:

𝑉(𝑠) = 𝑉(𝑠) + 𝛼(𝑟 + 𝛾V(𝑠′ ) — 𝑉(𝑠))

Это уравнение называется правилом обновления обучения по временной разнице. Как мы видим, единственное различие между TD-обучением и методом MC заключается в том, что для вычисления значения состояния в методе MC мы используем полную доходность R, которая вычисляется с использованием полного эпизода, тогда как в TD метод обучения, мы используем бутстрап-оценку 𝑟𝑟 𝑟 + 𝛾V(𝑠′ ), чтобы нам не приходилось ждать конца эпизода, чтобы вычислить значение состояния. Таким образом, мы можем применять TD-обучение и к неэпизодическим задачам. Ниже показано различие между методом MC и обучением TD:

Таким образом, наше правило обновления обучения с разницей во времени:

𝑉(𝑠) = 𝑉(𝑠) + 𝛼(𝑟 + 𝛾V(𝑠′ ) — 𝑉(𝑠))

Мы узнали, что 𝑟 + 𝛾V(𝑠′) — это оценка значения состояния V(s). Итак, мы можем назвать 𝑟 + 𝛾V(𝑠′) целью TD. Таким образом, вычитание V(s) из 𝑟 + 𝛾V(𝑠′) подразумевает, что мы вычитаем прогнозируемое значение из целевого значения, и это обычно называется ошибкой TD. Хорошо, а что насчет этого 𝛼? В основном это скорость обучения, также называемая размером шага. Это:

Наше правило обновления обучения TD в основном подразумевает:

Значение состояния = значение состояния + скорость обучения (вознаграждение + коэффициент скидки (значение следующего состояния) — значение состояния)

Резюме обучения временной разнице

В этой статье мы рассмотрели правило обновления обучения TD и то, как обучение с разницей во времени используется для оценки значения состояния. В книге дополнительно исследуется алгоритм прогнозирования TD, чтобы читатели могли получить более четкое представление о методе обучения TD. Освойте классическое RL, глубокое RL, дистрибутивное RL, обратное RL и многое другое с помощью OpenAI Gym и TensorFlow с Deep Reinforcement Learning with Python, 2nd Edition Судхарсана Равичандиран.

Об авторе

Судхарсан Равичандиран — специалист по данным и энтузиаст искусственного интеллекта. Он имеет степень бакалавра информационных технологий Университета Анны. Его область исследований сосредоточена на практической реализации глубокого обучения и обучения с подкреплением, включая обработку естественного языка и компьютерное зрение. Он является автором открытого исходного кода и любит отвечать на вопросы о Stack Overflow.

Хотите узнать больше о новых методах обработки данных? Зарегистрируйтесь на Платформе обучения Ai+, чтобы узнать о тенденциях в науке о данных и получить навыки, необходимые для получения желаемой работы. Вот несколько интересных недавних сеансов:

Наука о данных в отрасли: непрерывная доставка для машинного обучения с помощью инструментов с открытым исходным кодом | Команда ThoughtWorks, Inc.

Данные, ввод-вывод и TensorFlow: создание надежного конвейера данных для машинного обучения: Юн Тан, доктор философии | Технический директор | МобильныйУтюг

Непрерывно развертываемое машинное обучение: Макс Хамбер | ведущий инструктор | Генеральная Ассамблея