Алгоритм градиента политики (PG) - это метод обучения без моделей, онлайн, на уровне политики. Агент PG - это агент обучения усилению на основе политики, который использует алгоритм ENERGENCE для поиска оптимальной политики, которая максимизирует ожидаемое совокупное долгосрочное вознаграждение.
Дополнительные сведения о различных типах агентов обучения усилению см. в разделе Агенты обучения усилению.
Агенты PG могут обучаться в средах со следующими пространствами наблюдения и действий.
| Пространство наблюдения | Пространство действий |
|---|---|
| Дискретный или непрерывный | Дискретный или непрерывный |
Агенты PG используют следующие представления актера и критика.
| Критик (если используется базовая линия) | Актер |
|---|---|
Критик функции значения V (S), который создается с помощью | Stochastic policy actor δ (S), который создается с помощью |
Во время обучения агент PG:
Оценивает вероятности принятия каждого действия в пространстве действия и случайным образом выбирает действия на основе распределения вероятностей.
Завершает полный учебный эпизод с использованием текущей политики перед изучением опыта и обновлением параметров политики.
Если UseDeterministicExploitation опция в rlPGAgentOptions имеет значение true действие с максимальной вероятностью всегда используется в sim и generatePolicyFunction. Это приводит к детерминированному поведению моделируемого агента и сгенерированной политики.
Агенты PG представляют политику, используя аппроксиматор (S) функции актера. Актер принимает наблюдение S и возвращает вероятности принятия каждого действия в пространстве действия, когда находится в состоянии S.
Чтобы уменьшить дисперсию во время оценки градиента, агенты PG могут использовать функцию базового значения, которая оценивается с использованием аппроксиматора критической функции V (S). Критик вычисляет функцию значения для данного состояния наблюдения.
Дополнительные сведения о создании актеров и критиков для аппроксимации функций см. в разделе Создание представлений политик и функций значений.
Можно создать агент PG с представлениями актера и критика по умолчанию на основе спецификаций наблюдения и действий из среды. Для этого выполните следующие действия.
Создайте спецификации наблюдения для среды. Если у вас уже есть объект интерфейса среды, вы можете получить эти спецификации с помощью getObservationInfo.
Создание спецификаций действий для среды. Если у вас уже есть объект интерфейса среды, вы можете получить эти спецификации с помощью getActionInfo.
При необходимости укажите количество нейронов в каждом обучаемом уровне или следует ли использовать уровень LSTM. Для этого создайте объект параметра инициализации агента с помощью rlAgentInitializationOptions.
При необходимости укажите параметры агента с помощью rlPGAgentOptions объект.
Создание агента с помощью rlPGAgent объект.
Кроме того, можно создавать представления актера и критика и использовать эти представления для создания агента. В этом случае убедитесь, что входные и выходные размеры представлений актера и критика соответствуют соответствующим спецификациям действия и наблюдения среды.
Создание представления актера с помощью rlStochasticActorRepresentation объект.
Если используется функция опорной структуры, создайте критика с помощью rlValueRepresentation объект.
Укажите параметры агента с помощью rlPGAgentOptions объект.
Создание агента с помощью rlPGAgent объект.
Дополнительные сведения о создании актеров и критиков для аппроксимации функций см. в разделе Создание представлений политик и функций значений.
Агенты PG используют алгоритм ENERGORY (градиент политики Монте-Карло) с базовой линией или без нее. Чтобы настроить алгоритм обучения, укажите параметры с помощью rlPGAgentOptions объект.
Инициализируйте актера λ (S) со случайными значениями параметров
Для каждого учебного эпизода генерируйте опыт эпизода, следуя актерской политике (S). Чтобы выбрать действие, исполнитель генерирует вероятности для каждого действия в пространстве действия, затем агент случайным образом выбирает действие на основе распределения вероятностей. Агент выполняет действия до тех пор, пока не достигнет состояния терминала ST. Опыт эпизода состоит из последовательности
AT − 1, RT, ST
Здесь St - это наблюдение состояния, At - действие, взятое из этого состояния, St + 1 - это следующее состояние, а Rt + 1 - это вознаграждение, полученное за переход из St в St + 1.
Для каждого состояния в последовательности эпизодов, то есть для t = 1, 2,..., T-1, вычислить возврат Gt, который является дисконтированным будущим вознаграждением.
Накапливайте градиенты для сети акторов, следуя градиенту политики, чтобы максимизировать ожидаемое вознаграждение со скидкой. Если EntropyLossWeight больше нуля, затем накапливаются дополнительные градиенты для минимизации функции потерь энтропии.
)
Обновите параметры актера, применив градиенты.
Здесь α - скорость обучения актёра. Укажите скорость обучения при создании представления актера, задав значение LearnRate опции в rlRepresentationOptions объект. Для простоты на этом шаге показано обновление градиента с использованием базового стохастического градиентного спуска. Фактический метод обновления градиента зависит от оптимизатора, указанного с помощью rlRepresentationOptions.
Повторяйте шаги 2-5 для каждого учебного эпизода до завершения обучения.
Инициализируйте актера λ (S) со случайными значениями параметров
Инициализируйте критик V (S) случайными значениями Q параметров.
Для каждого учебного эпизода генерируйте опыт эпизода, следуя актерской политике (S). Опыт эпизода состоит из последовательности
AT − 1, RT, ST
Для t = 1, 2,..., T:
Рассчитайте возврат Gt, который является дисконтированным будущим вознаграждением.
Вычислите функцию δt преимущества, используя оценку функции базового значения от критика.
St 'startV)
Накапливайте градиенты для сети критиков.
)
Накапливайте градиенты для сети актера. Если EntropyLossWeight больше нуля, затем накапливаются дополнительные градиенты для минимизации функции потерь энтропии.
)
Обновите критические параметры startV.
βdü V
Здесь β - скорость обучения критика. Укажите скорость обучения при создании критического представления, установив LearnRate опции в rlRepresentationOptions объект.
Обновите параметры актера
Повторяйте шаги 3-8 для каждого учебного эпизода до завершения обучения.
Для простоты, актёр и критик обновления в этом алгоритме показывают обновление градиента с использованием базового стохастического градиентного спуска. Фактический метод обновления градиента зависит от оптимизатора, указанного с помощью rlRepresentationOptions.
[1] Уильямс, Рональд Дж. «Простые статистические алгоритмы, следующие за градиентом для обучения с усилением коннекционизма». Машинное обучение 8, № 3-4 (май 1992): 229-56. https://doi.org/10.1007/BF00992696.