Агенты Q-обучения

Алгоритм Q-обучения является онлайновым методом обучения с подкреплением без моделей и без политики. Агент Q-обучения является агентом обучения с подкреплением на базе ценностей, который обучает критика оценивать текущее или будущее вознаграждения.

Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Reinforcement Learning Agents.

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

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

Агенты Q используют следующее представление критика.

КритикАктер

Критик функции Q (S, A), которую вы создаете используя rlQValueRepresentation

Агенты Q не используют актёра.

Во время обучения агент исследует пространство действий, используя эпсилоново-жадные исследования. Во время каждого контрольного интервала агент выбирает случайное действие с ϵ вероятностей, в противном случае он выбирает действие жадно относительно функции ценности с вероятностью 1- ϵ. Это жадное действие является действием, для которого функция ценности является наибольшей.

Функция критика

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

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

Когда обучение завершено, настроенная функциональная аппроксимация хранится в Q критика (S, A).

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

Чтобы создать агента Q-обучения:

  1. Создайте критика, используя rlQValueRepresentation объект.

  2. Задайте опции агента, используя rlQAgentOptions объект.

  3. Создайте агента с помощью rlQAgent объект.

Алгоритм настройки

Агенты Q-обучения используют следующий алгоритм настройки. Чтобы сконфигурировать алгоритм настройки, задайте опции используя rlQAgentOptions объект.

  • Инициализируйте Q критика (S, A) со случайными значениями.

  • Для каждого эпизода тренировки:

    1. Установите начальный S наблюдения.

    2. Повторите следующее для каждого шага эпизода, пока S не станет конечным состоянием.

      1. Для текущей S наблюдения выберите A случайных действий с ϵ вероятностей. В противном случае выберите действие, для которого функция ценности критика является наибольшей.

        A=argmaxAQ(S,A)

        Чтобы задать ϵ и его скорость распада, используйте EpsilonGreedyExploration опция.

      2. Выполните действие A. Наблюдайте за R вознаграждения и следующими S' наблюдения.

      3. Если S' является терминальным состоянием, задайте y целевого значения функции R. В противном случае установите его на

        y=R+γmaxAQ(S',A)

        Чтобы установить коэффициент скидки γ, используйте DiscountFactor опция.

      4. Вычислите обновление параметра критика.

        ΔQ=yQ(S,A)

      5. Обновите критика, используя α скорости обучения.

        Q(S,A)=Q(S,A)+αΔQ

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

      6. Установите S наблюдения равной S'.

См. также

|

Похожие темы