Изменения

Перейти к: навигация, поиск

Обучение с подкреплением

3367 байт добавлено, 22:06, 13 января 2019
м
Нет описания правки
<tex>arm_bonus</tex> - это бонусное значение, которые показывает, насколько недоисследована эта рука по сравнению с остальными. Он вычисляется следующим образом:
<tex>arm_bonus = \sqrt{\frac{2 \cdot \logln{total_count}}{arm_count}} </tex>
<tex>total_count</tex> - это суммарное количество использований всех рук, а <tex>arm_count</tex> - это количество использований данной руки.
== Q-learning ==
 
'''Q-обучение''' (Q-learning) — метод, применяемый в [[Искусственный интеллект|искусственном интеллекте]] при [[Агентный подход|агентном подходе]]. Относится к экспериментам вида [[Обучение с подкреплением|oбучение с подкреплением]]. На основе получаемого от среды вознаграждения [[Интеллектуальный агент|агент]] формирует [[Функция полезности|функцию полезности]] Q, что впоследствии дает ему возможность уже не случайно выбирать стратегию поведения, а учитывать опыт предыдущего взаимодействия со средой. Одно из преимуществ Q-обучения — то, что оно в состоянии сравнить ожидаемую [[Полезность (экономика)|полезность]] доступных действий, не формируя модели окружающей среды. Применяется для ситуаций, которые можно представить в виде [[Марковский процесс принятия решений|марковского процесса принятия решений]].
 
=== Aлгоритм Q-learning ===
[[File:Q-Learning.png|thumb|313px|Процесс Q-обучения]]
# '''Initialization''' (Инициализация):
## for each s and a do Q[s, a] = RND // инициализируем функцию полезности Q от действия а в ситуации s как случайную для любых входных данных
# '''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
# '''Repeat''': 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
 
== Ссылки ==
* [http://www.machinelearning.ru/wiki/images/archive/3/35/20121120213057%21Voron-ML-RL-slides.pdf Обучение с подкреплением (Reinforcement Learning) К.В.Воронцов]
* [https://pryazhnikov.com/ru/bandit-algorithms-for-website-optimization/ Обзор книги «Bandit Algorithms for Website Optimization»]
* [https://en.wikipedia.org/wiki/Q-learning Q-learning]
* [https://medium.freecodecamp.org/an-introduction-to-q-learning-reinforcement-learning-14ac0b4493cc An introduction to Q-Learning: reinforcement learning]
77
правок

Навигация