Q-обучение

Q-learning (Q-обучение) — метод, применяемый в искусственном интеллекте при агентном подходе. Относится к экспериментам вида oбучение с подкреплением. На основе получаемого от среды вознаграждения агент формирует функцию полезности Q, что впоследствии дает ему возможность уже не случайно выбирать стратегию поведения, а учитывать опыт предыдущего взаимодействия со средой. Одно из преимуществ Q-обучения — то, что оно в состоянии сравнить ожидаемую полезность доступных действий, не формируя модели окружающей среды. Применяется для ситуаций, которые можно представить в виде марковского процесса принятия решений.

Содержание

Aлгоритм Q — learning

  1. Init (Инициализация):
    1. for each s and a do Q[s, a] = RND // 0..1
  2. Observe (Наблюдение):
    1. s' = s // Запомнить предыдущие состояние
    2. a' = a // Запомнить предыдущие действие
    3. s = FROM_SENSOR // Получить текущие состояние с сенсора
    4. r = FROM_SENSOR // Получить вознаграждение за предыдущее действие
  3. Update (Обновление ценности):
    1. Q[s',a'] = Q[s',a'] + LF * (r + DF * MAX(Q,s) — Q[s',a'])
  4. Decision (Выбор действия):
    1. a = ARGMAX(Q, s)
    2. TO_ACTIVATOR = a
  5. GO TO 2

Обозначения

  • LF — это фактор обучения. Чем он выше, тем сильнее агент доверяет новой информации.
  • DF — это фактор дисконтирования. Чем он меньше, тем меньше агент задумывается о выгоде от будущих своих действий.

Функция MAX(Q,s)

  1. max = minValue
  2. for each a of ACTIONS(s) do
    1. if Q[s, a] > max then max = Q[s, a]
  3. return max

Функция ARGMAX(Q,s)

  1. amax = First of ACTION(s)
  2. for each a of ACTION(s) do
    1. if Q[s, a] > Q[s, amax] then amax = a
  3. return amax

Литература

  • Стюарт Рассел, Питер Норвиг, «ИИ — современный подход»

Ссылки


Q-обучение.

© 2021–2023 sud-mal.ru, Россия, Барнаул, ул. Денисова 68, +7 (3852) 74-95-52