Алгоритм глубокой Q-сети (DQN) является онлайновым методом обучения с подкреплением без моделей и без политики. Агент DQN является агентом обучения с подкреплением на основе ценностей, который обучает критика оценивать текущее или будущее вознаграждения. DQN является вариантом Q-обучения. Для получения дополнительной информации о Q-обучении см. Раздел «Агенты Q-обучения».
Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Reinforcement Learning Agents.
Агенты DQN могут быть обучены в окружениях со следующими пространствами наблюдений и действий.
Пространство наблюдений | Пространство действий |
---|---|
Непрерывный или дискретный | Дискретный |
Агенты DQN используют следующее представление критика.
Критик | Актер |
---|---|
Критик функции Q (S, A), которую вы создаете | Агенты DQN не используют актёра. |
Во время обучения агент:
Обновляет свойства критика в каждый временной шаг во время обучения.
Исследует пространство действий с помощью эпсилоново-жадных исследований. Во время каждого контрольного интервала агент либо выбирает случайное действие с вероятностью ϵ либо выбирает действие жадно относительно функции ценности с вероятностью 1- ϵ. Это жадное действие является действием, для которого функция ценности является наибольшей.
Сохраняет прошлые опыты с помощью буфера циклического опыта. Агент обновляет критика на основе мини-пакета впечатлений, случайным образом выбранных из буфера.
Чтобы оценить функцию ценности, агент DQN поддерживает две функциональные аппроксимации:
Критик Q (S, A) - критик берет наблюдение S и действие A как входы и возвращает соответствующее ожидание долгосрочного вознаграждения.
Целевой критик Q' (S, A) - Чтобы улучшить стабильность оптимизации, агент периодически обновляет целевой критик на основе последних значений параметров критика.
И Q (S, A), и Q' (S, A) имеют одинаковую структуру и параметризацию.
Для получения дополнительной информации о создании критиков для приближения функции ценности, см., Создают политику и представления функции ценности.
Когда обучение завершено, настроенная функциональная аппроксимация хранится в Q критика (S, A).
Можно создать агента DQN с представлением критика на основе наблюдений и спецификаций действия от окружения. Для этого выполните следующие шаги.
Создайте спецификации наблюдений для вашего окружения. Если у вас уже есть объект интерфейса окружения, можно получить эти спецификации, используя getObservationInfo
.
Создайте спецификации действия для вашего окружения. Если у вас уже есть объект интерфейса окружения, можно получить эти спецификации, используя getActionInfo
.
При необходимости укажите количество нейронов в каждом обучаемом слое или использовать ли слой LSTM. Для этого создайте объект опции инициализации агента с помощью rlAgentInitializationOptions
.
При необходимости задайте опции агента, используя rlDQNAgentOptions
объект.
Создайте агента с помощью rlDQNAgent
объект.
Кроме того, можно создать представления актёра и критика и использовать эти представления для создания агента. В этом случае убедитесь, что входная и выходная размерности представлений актёра и критика совпадают с соответствующими спецификациями действий и наблюдений окружения.
Создайте критика, используя rlQValueRepresentation
объект.
Задайте опции агента, используя rlDQNAgentOptions
объект.
Создайте агента с помощью rlDQNAgent
объект.
Агенты DQN поддерживают критиков, которые используют рекуррентные глубокие нейронные сети в качестве функциональной аппроксимации.
Для получения дополнительной информации о создании актёров и критиков для приближения функций, смотрите Создать политику и Представления функции ценности.
Агенты DQN используют следующий алгоритм настройки, в котором они обновляют свою модель критика на каждом временном шаге. Чтобы сконфигурировать алгоритм настройки, задайте опции используя rlDQNAgentOptions
объект.
Инициализируйте Q критика (s, a) со случайными значениями параметров θQ и инициализируйте целевого критика с теми же значениями:.
Для каждого временного шага обучения:
Для текущей S наблюдения выберите A случайных действий с ϵ вероятностей. В противном случае выберите действие, для которого функция ценности критика является наибольшей.
Чтобы задать ϵ и его скорость распада, используйте EpsilonGreedyExploration
опция.
Выполните действие A. Наблюдайте за R вознаграждения и следующими S' наблюдения.
Сохраните опыт (S, A, R, S') в буфере опыта.
Пробуйте случайную мини-партию M события (Si, Ai, Ri, S'i) от буфера опыта. Чтобы задать M, используйте MiniBatchSize
опция.
Если S'i является терминальным состоянием, задайте yi целевого значения функции Ri. В противном случае установите его на
Чтобы установить коэффициент скидки γ, используйте DiscountFactor
опция. Чтобы использовать double DQN, установите UseDoubleDQN
опция для true
.
Обновите параметры критика путем одноэтапной минимизации L потерь во всех выборочных опытах.
Обновите параметры целевого критика в зависимости от метода целевого обновления Для получения дополнительной информации смотрите Методы целевого обновления.
Обновите порог вероятности, ϵ для выбора случайного действия на основе скорости затухания, заданной в EpsilonGreedyExploration
опция.
Агенты DQN обновляют свои параметры целевого критика с помощью одного из следующих методов целевого обновления.
Сглаживание - обновляйте целевые параметры в каждый временной шаг с помощью τ коэффициента сглаживания. Чтобы задать коэффициент сглаживания, используйте TargetSmoothFactor
опция.
Периодический - Периодически обновляйте целевые параметры без сглаживания (TargetSmoothFactor = 1
). Чтобы задать период обновления, используйте TargetUpdateFrequency
параметр.
Периодическое сглаживание - периодически обновляйте целевые параметры с сглаживанием.
Чтобы сконфигурировать целевой метод обновления, создайте rlDQNAgentOptions
Объекту и установите TargetUpdateFrequency
и TargetSmoothFactor
параметры, как показано в следующей таблице.
Метод обновления | TargetUpdateFrequency | TargetSmoothFactor |
---|---|---|
Сглаживание (по умолчанию) | 1 | Меньше 1 |
Периодический | Больше 1 | 1 |
Периодическое сглаживание | Больше 1 | Меньше 1 |
[1] Мних, Владимир, Корай Кавуккуоглу, Дэвид Сильвер, Алекс Грейвс, Иоаннис Антоноглу, Даан Верстра, и Мартин Ридмиллер. «Игра в Atari с глубоким обучением с подкреплением». ArXiv:1312.5602 [Cs], 19 декабря 2013 года. https://arxiv.org/abs/1312.5602.
rlDQNAgent
| rlDQNAgentOptions