Как можно применять градиенты политики в случае нескольких непрерывных действий?


11

Оптимизация политики в доверенных регионах (TRPO) и Proximal Policy Optimization (PPO) - это два передовых алгоритма градиента политики.

При использовании одного непрерывного действия обычно вы используете некоторое распределение вероятностей (например, гауссово) для функции потерь. Черновая версия:

L(θ)=log(P(a1))A,

где A является преимуществом вознаграждений, P(a1) характеризуется μ и σ2 которые выходят из нейронной сети, как в среде маятника, здесь: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57h40 /main.py .

Проблема в том, что я не могу найти ни одной статьи о 2+ непрерывных действиях, использующих градиенты политики (не методы критика актера, которые используют другой подход путем передачи градиента из Q-функции).

Знаете ли вы, как сделать это, используя TRPO для 2 непрерывных действий в среде LunarLander ?

Является ли следующий подход правильным для функции потери градиента политики?

L(θ)=(logP(a)+logP(a2))A

Ответы:


6

Как вы уже сказали, действия, выбранные Actor-Critic, обычно происходят из нормального распределения, и агент должен найти подходящее среднее значение и стандартное отклонение на основе текущего состояния. Во многих случаях этого одного распределения достаточно, потому что требуется только 1 непрерывное действие. Однако по мере того, как такие области, как робототехника, становятся все более интегрированными с ИИ, ситуации, когда требуются 2 или более непрерывных действия, становятся растущей проблемой.

Существует 2 решения этой проблемы: первое и наиболее распространенное - для каждого непрерывного действия существует отдельный агент, изучающий свое собственное одномерное среднее значение и стандартное отклонение. Часть его состояния включает в себя действия других агентов, чтобы дать контекст того, что делает вся система. Мы обычно делаем это в моей лаборатории, и вот статья, в которой описывается этот подход с тремя агентами-критиками, работающими вместе, чтобы двигать руку робота.

n2nn+n2nn×n

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


1
Джейден, спасибо за отличный ответ. 1. Я пробовал многоагентную архитектуру, но она не очень эффективна. Занимает гораздо больше времени, чтобы сходиться. 2. Теперь многомерное распределение кажется мне очевидным, спасибо.
Эвальдс Уртанс

1
В зависимости от приложения и архитектуры (если это глубокая сеть) агенты могут совместно использовать низкоуровневые функции, а затем разветвлять их на собственные функции-значения. Кроме того, наличие 1 критика и нескольких актеров - также способ увеличить архитектуру.
Джейден Травник

В данный момент я хотел бы применить ваши предложения к TRPO (только методы градиента политики), а не к критике актеров. Я не очень уверен в передаче градиента от критика к актеру - во многих реализациях, которые я видел, похоже, что он не должен работать, даже если он сходится.
Эвальдс Уртанс

1
Извините за этот нубский вопрос: как это применяется в методах критика субъекта (где субъект может выполнять несколько одновременных непрерывных действий), когда субъект выполняет функцию политики и обучается методом градиента политики? @JadenTravnik Не могли бы вы объяснить это в ответе под новым заголовком?
Гокул NC
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.