В предыдущем блоге мы узнали, как выбор действия сразу влияет как на немедленную награду, так и на следующее состояние.

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

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

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

Политики можно разделить на два основных типа: стохастические политики и детерминированные политики.

Стохастическая политика:

· Стохастическая политика – это распределение вероятностей действий при заданном состоянии. Он назначает вероятность каждому возможному действию, и агент выбирает действия на основе этих вероятностей.

· Стохастическая политика вносит случайность в процесс принятия решений. Даже в одном и том же состоянии агент может выбирать разные действия с определенными вероятностями.

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

Детерминированная политика:

· Детерминированная политика – это сопоставление состояний непосредственно с действиями без какого-либо распределения вероятностей. Он определяет одно действие для каждого состояния.

· Детерминированные политики не предполагают случайности или вероятности. Агент всегда будет выбирать одно и то же действие для данного состояния.

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

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

В стохастической политике Крыса играет в лабиринт и пытается добраться до клетки с сыром. Эти ячейки/состояния должны иметь разные значения. Ячейки, расположенные ближе к ячейке сыра, более ценны.

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

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

Функция ценности состояния — это будущая награда, которую агент может ожидать, начиная с определенного состояния.

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

Значение действия для состояния — это ожидаемый результат, если агент выберет действие A, а затем будет следовать политике Pi.

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

Давайте посмотрим, как мы можем решить эти функции ожидания.

Уравнение Могучего Беллмана!!

Уравнение Беллмана позволяет нам оценить ценность состояний или действий на основе будущих вознаграждений.

· Уравнение Беллмана для функции значение состояния дает значение текущего состояния как сумму значений всех последующих состояний и немедленное вознаграждение.

· Уравнение Беллмана для функции ценность действия дает значение конкретной пары "состояние-действие" как сумму значений всех возможных следующих пар "состояние-действие" и вознаграждений.

Функция значения состояния с использованием уравнения Беллмана

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

Мы поймем это на примере

Представьте себе gridworld, который представляет собой простую сетку 2X2. Каждая ячейка представляет собой состояние, и агент может перемещаться из одной ячейки в другую, выполняя такие действия, как вверх, вниз, влево или вправо, или может оставаться в том же состоянии. Целевое состояние дает высокую награду. Используя уравнение Беллмана, давайте вычислим функцию значения состояния для состояния A.

· A может переместиться влево к B и получить награду +5 с вероятностью 1/4

· A может перейти в C и получить награду 0 с вероятностью 1/4

· A может остаться на том же старте и получить вознаграждение 0 с вероятностью 1/4

Точно так же мы можем вычислить V(B), V(C) и V(D). Теперь у нас есть 4 уравнения и 4 переменные. Мы можем итеративно обновлять значения функции значения состояния. Но мы не достигаем нашей цели найти лучшую политику.

Как теперь найти оптимальную политику?

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

Мы скажем, что политика Pi 1 так же хороша или лучше, чем политика Pi 2, тогда и только тогда, когда значение Pi 1 больше или равно значению Pi 2 для каждого состояния.

Оптимальная политика — это политика, которая не хуже или лучше всех других политик.

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

Если у нас есть оптимальное значение состояния, мы можем выбрать это действие и достичь оптимальной политики.

Давайте посмотрим, как мы можем получить функцию оптимального состояния.

Мы можем просто выбрать максимальные значения функции значения состояния для всех состояний.

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

Можем ли мы теперь получить оптимальную политику?

NO :(

Поскольку ранее мы решали уравнение N для переменной N с помощью линейной алгебры, а теперь в оптимальной политике, мы ввели нелинейную функцию (МАКС).

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

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

Ссылка:

Обучение с подкреплением: введение - Ричард С. Саттон и Эндрю Дж. Барто