Агенты градиента политики

Алгоритм градиента политики (PG) является онлайновым, методом изучения укрепления на политике без моделей. Агент PG является основанным на политике агентом изучения укрепления, который непосредственно вычисляет оптимальную политику, которая максимизирует долгосрочное вознаграждение.

Для получения дополнительной информации о различных типах агентов изучения укрепления смотрите, что Укрепление Изучает Агенты.

Агенты PG могут быть обучены в средах со следующими пробелами наблюдения и действия.

Пространство наблюденийПробел действия
Непрерывный или дискретныйДискретный

Во время обучения, агента PG:

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

  • Завершает полный учебный эпизод с помощью текущей политики перед учением из опыта и обновлением параметров политики.

Агент и функции критика

Агенты PG представляют политику с помощью функции агента approximator μ (S). Агент берет наблюдение S и выводит вероятности принятия каждых мер на пробеле действия когда в S состояния.

Чтобы уменьшать отклонение во время оценки градиента, агенты PG могут использовать базовую функцию значения, которая оценивается с помощью функции критика approximator, V (S). Критик вычисляет функцию значения для данного состояния наблюдения.

Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают политику и Представления Функции Значения.

Создание агента

Создать агент PG:

  1. Создайте объект представления агента.

  2. Если вы используете базовую функцию, создаете объект представления критика.

  3. Задайте опции агента с помощью функции rlPGAgentOptions.

  4. Создайте агент с помощью функции rlPGAgent.

Для получения дополнительной информации смотрите rlPGAgent и rlPGAgentOptions.

Учебный алгоритм

Агенты PG используют REINFORCE (градиент политики Монте-Карло) алгоритм или с или без базовой линии. Чтобы сконфигурировать учебный алгоритм, задайте опции с помощью rlPGAgentOptions.

Алгоритм REINFORCE

  1. Инициализируйте агента μ (S) со случайными значениями параметров θμ.

  2. Для каждого учебного эпизода сгенерируйте опыт эпизода следующей политикой агента μ (S). Чтобы выбрать действие, агент генерирует вероятности для каждого действия на пробеле действия, затем агент случайным образом выбирает действие на основе распределения вероятностей. Агент принимает меры, пока он не достигает терминального состояния, ST. Опыт эпизода состоит из последовательности:

    S0,A0,R1,S1,,ST1,AT1,RT,ST

    Здесь, St является наблюдением состояния, At+1 является мерами, принятыми от того состояния, St+1 является следующим состоянием, и Rt+1 является вознаграждением, полученным для перемещения от St до St+1.

  3. Для каждого состояния в последовательности эпизода; то есть, для t = 1, 2, …, T-1, вычисляют возврат Gt, который является обесцененным будущим вознаграждением.

    Gt=k=tTγktRk

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

    dθμ=t=1T1Gtθμlnμ(St|θμ)

  5. Обновите параметры агента путем применения градиентов.

    θμ=θμ+αdθμ

    Здесь, α является темпом обучения агента. Задайте темп обучения, когда вы создадите представление агента путем установки опции LearnRate в объекте rlRepresentationOptions. Для простоты этот шаг показывает обновление градиента с помощью основного стохастического спуска градиента. Фактический метод обновления градиента зависит от оптимизатора, заданного с помощью rlRepresentationOptions.

  6. Повторите шаги 2 - 5 для каждого учебного эпизода, пока обучение не будет завершено.

REINFORCE с базовым алгоритмом

  1. Инициализируйте агента μ (S) со случайными значениями параметров θμ.

  2. Инициализируйте критика V (S) со случайными значениями параметров θQ.

  3. Для каждого учебного эпизода сгенерируйте опыт эпизода следующей политикой агента μ (S). Опыт эпизода состоит из последовательности:

    S0,A0,R1,S1,,ST1,AT1,RT,ST

  4. Для t = 1, 2, …, T:

    • Вычислите возврат Gt, который является обесцененным будущим вознаграждением.

      Gt=k=tTγktRk

    • Вычислите функцию преимущества δt с помощью базовой оценки функции значения от критика.

      δt=GtV(St|θV)

  5. Накопите градиенты для сети критика.

    dθV=t=1T1δtθVV(St|θV)

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

    dθμ=t=1T1δtθμlnμ(St|θμ)

  7. Обновите параметры критика θV.

    θV=θV+βdθV

    Здесь, β является темпом обучения критика. Задайте темп обучения, когда вы создадите представление критика путем установки опции LearnRate в объекте rlRepresentationOptions.

  8. Обновите параметры агента θμ.

    θμ=θμ+αdθμ

  9. Повторите шаги 3 - 8 для каждого учебного эпизода, пока обучение не будет завершено.

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

Ссылки

[1] Р. Дж. Уильямс, “Простые статистические следующие за градиентом алгоритмы для ассоциативного изучения укрепления", Машинное обучение, издание 8, выпуск 3-4, стр 229-256, 1992.

Смотрите также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте