Изменения

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

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

117 байт убрано, 22:50, 13 января 2019
Нет описания правки
=== Постановка задачи обучения с подкреплением ===
[[File:Simple_RLRL.png|thumb|RL-схема]]
<i>S</i> - множество состояний среды <br />
Обозначения
* LF — это фактор обучения<tex>S</tex> -- множество состояний* <tex>A</tex> -- множество действий* <tex>R = S * A \rightarraw R</tex> -- функция награды* <tex>T = S * A -> S</tex> -- функция перехода* <tex>\alpha \in [0, 1]</tex> -- learning rate (обычно 0. Чем 1) // чем он выше, тем сильнее агент доверяет новой информации.* DF — это фактор дисконтирования. Чем <tex>\gamma \in [0, 1]</tex> -- discounting factor // чем он меньше, тем меньше агент задумывается о выгоде от будущих своих действий.
'''fun''' initQ-learning(<tex>S, A, R, T, \alpha, \gamma</tex>): '''for''' <tex> s \forall s and in S</tex>: '''for''' <tex> a\in A</tex>: Q[s, ][a] = rand()  '''funwhile''' observe()Q не сошелся: s' = <tex> \any s \in S<// Запомнить предыдущие состоянияtex> a' = a // Запомнить предыдущие действия s = get_from_sensor() // Получить текущие состояния с сенсора r = get_from_sensor() // Получить вознаграждение за предыдущее действие  '''funwhile''' q-update()s не конечное состояние: Q[ <tex>\pi(s', ) = \argmax_{a'] = }{Q[s', a'] + LF * (r + DF * MAX(Q,s) — Q[s',a'])  '''fun''' decision():} a = ARGMAX<tex>\pi(Q, s)</tex> TO_ACTIVATOR r = a# '''Repeat''': GO TO 2 ???  '''fun'' maxR(Qs, sa): max s' = minValue for each a of ACTIONST(s, a) do if Q[s, '][a] > max: max = (1 - \alpha) Q[s, '][a] return max '''fun'' argmax+ \alpha * (Q, s): amax = First of ACTION(s) for each r + \gamma * \max_{a of ACTION(s) do if '}{Q[s, a'] > Q[s, amaxa']:}) amax s = as' return amaxQ
77
правок

Навигация