Алгоритм Q-изучения является онлайновым, методом изучения укрепления вне политики без моделей. Агент Q-изучения является основанным на значении агентом изучения укрепления, который обучает критика оценивать возврат или будущие вознаграждения.
Для получения дополнительной информации о различных типах агентов изучения укрепления смотрите, что Укрепление Изучает Агенты.
Агенты Q-изучения могут быть обучены в средах со следующими пробелами наблюдения и действия.
Пространство наблюдений | Пробел действия |
---|---|
Непрерывный или дискретный | Дискретный |
Во время обучения агент исследует пробел действия с помощью жадного эпсилоном исследования. Во время каждого интервала управления агент выбирает случайное действие с вероятностью ϵ, в противном случае это выбирает действие жадно относительно функции значения с вероятностью 1-ϵ. Это жадное действие является действием, для которого функция значения является самой большой.
Чтобы оценить функцию значения, агент Q-изучения поддерживает критика Q (S, A), который является таблицей или функцией approximator. Критик берет наблюдение S и действие A как вводы и выводы соответствующее ожидание долгосрочного вознаграждения.
Для получения дополнительной информации о создании критиков для приближения функций значения смотрите, Создают политику и Представления Функции Значения.
Когда обучение завершено, обученная функция значения approximator хранится в критике Q (S, A).
Чтобы создать агент Q-изучения сначала создают объект представления критика. Затем с помощью этого представления создайте агент с помощью функции rlQAgent
.
Агенты Q-изучения используют следующий учебный алгоритм. Чтобы сконфигурировать учебный алгоритм, задайте опции с помощью rlQAgentOptions
.
Инициализируйте критика Q (S, A) со случайными значениями.
Для каждого учебного эпизода:
Установите начальное наблюдение S.
Повторите следующее для каждого шага эпизода, пока S не будет терминальным состоянием:
Для текущего наблюдения S выберите случайное действие A с вероятностью ϵ. В противном случае выберите действие, для которого функция значения критика является самой большой.
Чтобы задать ϵ и его уровень затухания, используйте опцию EpsilonGreedyExploration
.
Выполните действие A. Наблюдайте вознаграждение R и следующее наблюдение S'.
Если S' является терминальным состоянием, поставьте цель функции значения y к R. В противном случае установите его на:
Чтобы установить коэффициент дисконтирования γ, используйте опцию DiscountFactor
.
Вычислите обновление параметра критика.
Обновите критика, использующего темп обучения α.
Задайте темп обучения, когда вы создадите представление критика путем установки опции LearnRate
в объекте rlRepresentationOptions
.
Установите наблюдение S на S'.
rlQAgentOptions
| rlRepresentation