Агент критика агента (AC) реализует критика агента преимущества (A2C) алгоритм [1], который является онлайновым, методом изучения укрепления на политике без моделей. Цель этого метода состоит в том, чтобы оптимизировать политику (агент) непосредственно и обучить критика оценивать возврат или будущие вознаграждения.
Для получения дополнительной информации о различных типах агентов изучения укрепления смотрите, что Укрепление Изучает Агенты.
Агенты AC могут быть обучены в средах со следующими пробелами наблюдения и действия.
Пространство наблюдений | Пробел действия |
---|---|
Непрерывный или дискретный | Дискретный |
Во время обучения, агента AC:
Оценочные вероятности принятия каждых мер на пробеле действия и случайным образом выбирают действия на основе распределения вероятностей.
Взаимодействует со средой для нескольких шагов с помощью текущей политики прежде, чем обновить свойства критика и агент.
Чтобы оценить политику и функцию значения, агент AC поддерживает две функции approximators:
Агент μ (S) — Агент берет наблюдение S и выводит вероятности принятия каждых мер на пробеле действия когда в S состояния.
Критик V (S) — Критик берет наблюдение S и выводит соответствующее ожидание обесцененного долгосрочного вознаграждения.
Когда обучение завершено, обученная оптимальная политика хранится в агенте μ (S).
Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают политику и Представления Функции Значения.
Создать агент AC:
Создайте объект представления агента.
Создайте объект представления критика.
Задайте опции агента с помощью функции rlACAgentOptions
.
Создайте агент с помощью функции rlACAgent
.
Для получения дополнительной информации смотрите rlACAgent
и rlACAgentOptions
.
Агенты AC используют следующий учебный алгоритм. Чтобы сконфигурировать учебный алгоритм, задайте опции с помощью rlACAgentOptions
.
Инициализируйте агента μ (S) со случайными значениями параметров θμ.
Инициализируйте критика V (S) со случайными значениями параметров θV.
Для каждого учебного эпизода сгенерируйте события N следующим текущая политика. Последовательность опыта эпизода состоит из:
Здесь, St является наблюдением состояния, At является мерами, принятыми от того состояния, St+1 является следующим состоянием, и Rt+1 является вознаграждением, полученным для перемещения от St до St+1.
Когда в St состояния, агент вычисляет вероятность принятия каждых мер на пробеле действия с помощью μ (St) и случайным образом выбирает действие At на основе распределения вероятностей.
Для каждого учебного эпизода, который не содержит терминальное состояние, N равен значению опции NumStepsToLookAhead
. В противном случае N является меньше, чем NumStepsToLookAhead
и SN являются терминальным состоянием.
Для каждого шага эпизода t = 1, 2, …, N вычисляет возврат Gt, который является суммой вознаграждения за тот шаг и обесцененного будущего вознаграждения. Если SN является терминальным состоянием, обесцененное будущее вознаграждение включает обесцененную функцию значения состояния, вычисленное использование сети V критика.
Здесь, b является 0
, если SN является терминальным состоянием и 1
в противном случае.
Чтобы задать коэффициент дисконтирования γ, используйте опцию DiscountFactor
.
Накопите градиенты для сети агента следующим градиент политики, чтобы максимизировать ожидаемое обесцененное вознаграждение.
Здесь, функция преимущества.
Накопите градиенты для сети критика путем минимизации потери среднеквадратичной погрешности между функцией ориентировочной стоимости V (t) и вычисленным целевым возвратом Gt через все события N. Если опция EntropyLossWeight
больше, чем нуль, то дополнительные градиенты накапливаются, чтобы минимизировать энтропийную функцию потерь.
Обновите параметры агента путем применения градиентов.
Здесь, α является темпом обучения агента. Задайте темп обучения, когда вы создадите представление агента путем установки опции LearnRate
в объекте rlRepresentationOptions
.
Обновите параметры критика путем применения градиентов.
Здесь, β является темпом обучения критика. Задайте темп обучения, когда вы создадите представление критика путем установки опции LearnRate
в объекте rlRepresentationOptions
.
Повторите шаги 3 - 8 для каждого учебного эпизода, пока обучение не будет завершено.
Для простоты этот агент и обновления критика в этом алгоритме показывают обновление градиента с помощью основного стохастического спуска градиента. Фактический метод обновления градиента зависит от оптимизатора, заданного с помощью rlRepresentationOptions
.
[1] Mnih, V, и др. "Асинхронные методы для глубокого изучения укрепления", Международная конференция по вопросам Машинного обучения, 2016.
rlACAgent
| rlACAgentOptions
| rlRepresentation