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

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

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

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

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

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

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

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

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

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

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

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

Учебный алгоритм

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

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

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

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

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

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

        A=max AQ(S,A)

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

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

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

        y=R+γmax AQ(S',A)

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

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

        ΔQ=yQ(S,A)

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

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

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

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

Смотрите также

|

Похожие темы