exponenta event banner

Агенты Q-Learning

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

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

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

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

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

КритикАктер

Критик Q (S, A) функции Q-value, созданный с помощьюrlQValueRepresentation

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

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

Критическая функция

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

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

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

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

Для создания агента Q-learning:

  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 = y Q (S, A)

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

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

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

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

См. также

|

Связанные темы