Алгоритм итерации по постоянному значению при Марковском обучении - PullRequest
2 голосов
/ 01 апреля 2019

В алгоритме итерации подходящего значения Эндрю Нга, который я подробно описал ниже, он попытается найти лучшее действие одного состояния s (i) на шаге 3. Когда агент находился в s (i), мы выполнить возможное действие a (1) и мы перешли к s (i) '.

Мой вопрос: как мы можем снова вернуться к s (i) и выполнить 2-е возможное действие a (2)? Предположим, мы используем этот алгоритм для управления вертолетом, я думаю, что мы не можем легко вернуть состояние обратно.

Алгоритм

1. Randomly sample m states s(1), s(2), . . . s(m) ∈ S.
2. Initialize θ := 0.
3. Repeat {
    For i = 1, . . . , m {
        For each action a ∈ A {
            Sample s′ 1, . . . , s′ k ∼ Ps(i)a (using a model of the MDP).
            Set q(a) = k1 Pk j=1 R(s(i)) + γV (s′ j)
            // Hence, q(a) is an estimate of R(s(i))+γEs′∼P
            s(i)a[V (s′)].
        }
        Set y(i) = maxa q(a).
        // Hence, y(i) is an estimate of R(s(i))+γ maxa Es′∼P
        s(i)a[V (s′)].
   }
   // In the original value iteration algorithm (over discrete states)
   // we updated the value function according to V (s(i)) := y(i).
   // In this algorithm, we want V (s(i)) ≈ y(i), which we’ll achieve
   // using supervised learning (linear regression).
   Set θ := arg minθ 1 2 Pm i=1 θT φ(s(i)) − y(i)2
}

1 Ответ

0 голосов
/ 02 апреля 2019

Обратите внимание, что алгоритм, на который вы ссылаетесь, описанный в разделе 4.2.2, является частью "родительского" раздела 4.2. Аппроксимация функции значения . И первый раздел 4.2.1 Использование модели или симуляции .

В первом разделе мы можем прочитать:

Для разработки алгоритма аппроксимации функции стоимости предположим, что у нас есть модель или симулятор для MDP. Неофициально, симулятор черный ящик, который принимает в качестве входных данных любое (непрерывное значение) состояние s_t и действие a_t и выводит следующее состояние s_{t+1}, выбранное в соответствии с состоянием вероятности перехода P_{s_t, a_t}

Следовательно, алгоритм предполагает, что вы можете использовать де-модель / симулятор для симуляции того, что вы применяете все возможные действия к одному и тому же состоянию. Как вы заметили, если у вас есть реальная среда (т. Е. Не модель и не симулятор), например, вертолет, невозможно применить несколько действий к одному и тому же состоянию, потому что после применения действия состояние изменится.

...