- Q-обучение
-
Q-learning (Q-обучение) — метод, применяемый в искусственном интеллекте при агентном подходе. Относится к экспериментам вида oбучение с подкреплением. На основе получаемого от среды вознаграждения агент формирует функцию полезности Q, что впоследствии дает ему возможность уже не случайно выбирать стратегию поведения, а учитывать опыт предыдущего взаимодействия со средой. Одно из преимуществ Q-обучения — то, что оно в состоянии сравнить ожидаемую полезность доступных действий, не формируя модели окружающей среды. Применяется для ситуаций, которые можно представить в виде марковского процесса принятия решений.
Содержание
Aлгоритм Q — learning
- Init (Инициализация):
- for each s and a do Q[s, a] = RND // 0..1
- Observe (Наблюдение):
- s' = s // Запомнить предыдущие состояние
- a' = a // Запомнить предыдущие действие
- s = FROM_SENSOR // Получить текущие состояние с сенсора
- r = FROM_SENSOR // Получить вознаграждение за предыдущее действие
- Update (Обновление ценности):
- Q[s',a'] = Q[s',a'] + LF * (r + DF * MAX(Q,s) — Q[s',a'])
- Decision (Выбор действия):
- a = ARGMAX(Q, s)
- TO_ACTIVATOR = a
- GO TO 2
Обозначения
- LF — это фактор обучения. Чем он выше, тем сильнее агент доверяет новой информации.
- DF — это фактор дисконтирования. Чем он меньше, тем меньше агент задумывается о выгоде от будущих своих действий.
Функция MAX(Q,s)
- max = minValue
- for each a of ACTIONS(s) do
- if Q[s, a] > max then max = Q[s, a]
- return max
Функция ARGMAX(Q,s)
- amax = First of ACTION(s)
- for each a of ACTION(s) do
- if Q[s, a] > Q[s, amax] then amax = a
- return amax
Литература
Ссылки
- В Викиверситете есть материалы по теме Q-learning
- Проработанный пример
Категория:- Агентный подход
- Init (Инициализация):
Wikimedia Foundation. 2010.