Агенты SARSA

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

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

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

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

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

КритикАктер

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

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

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

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

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

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

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

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

Чтобы создать агента SARSA:

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

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

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

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

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

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

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

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

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

      A=argmaxAQ(S,A)

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

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

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

      2. Выберите A' действий путем следования политике из S' состояний.

        A'=maxA'Q(S',A')

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

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

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

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

        ΔQ=yQ(S,A)

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

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

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

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

      7. Установите значение A действия в A'.

См. также

|

Похожие темы