RL-Zhao-(8)-Value-Based03: Q-Learning-Funktionsnäherung [Ziel: Berechnen Sie die optimalen Parameter der „Wertfunktion“ und den optimalen Aktionswert, der durch diese „Wertfunktion“ berechnet wird]

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
我们知道:
„TD-Lernen“ mit „Wertfunktionsnäherung“:
w t + 1 = w t + α t [ r t + 1 + γ v ^ ( s t + 1 , w t ) − v ^ ( s t , w t ) ] ∇ w v ^ ( s t , w t ) \color{red} {w_{t+1}=w_t+\alpha_t\left[r_{t+1}+\gamma\hat{v}(s_{t+1},w_t)-\hat{v}(s_t,w_t)\ rechts]\nabla_w\hat{v}(s_t,w_t)} Int+1=Int+At[rt+1+CIn^(st+1,Int)In^(st,Int)]wIn^(st,Int)

„Sarsa算法“ mit „Wertfunktion angenähert“:
w t + 1 = w t + α t [ r t + 1 + γ q ^ ( s t + 1 , a t + 1 , w t ) − q ^ ( s t , a t , w t ) ] ∇ w q ^ ( s t , a t , w t ) \color{red}{w_{t +1}=w_t+\alpha_t\left[r_{t+1}+\gamma\hat{q}(s_{t+1},a_{t+1},w_t)-\hat{q}(s_t, a_t,w_t)\right]\nabla_w\hat{q}(s_t,a_t,w_t)} Int+1=Int+At[rt+1+CQ^(st+1,At+1,Int)Q^(st,At,Int)]wQ^(st,At,Int)

In ähnlicher Weise kann tabellarisches Q-Learning auch auf den Fall der Wertfunktionsnäherung erweitert werden. Die Q-Wert-Aktualisierungsregel lautet:

„Q-learning算法“ mit „Wertfunktionsnäherung“:

w t + 1 = w t + α t [ r t + 1 + γ max ⁡ a ∈ A ( s t + 1 ) q ^ ( s t + 1 , a , w t ) − q ^ ( s t , a t , w t ) ] ∇ w q ^ ( s t , a t , w t ) \color{red}{w_{t+1}=w_t+\alpha_t}\left[r_{t+1}+\gamma\max_{a\in\mathcal{A}(s_{t +1})}\hat{q}(s_{t+1},a,w_t)-\hat{q}(s_t,a_t,w_t)\right]\nabla_w\hat{q}(s_t,a_t, w_t)Int+1=Int+At[rt+1+CaA(st+1)maxQ^(st+1,a,Int)Q^(st,At,Int)]wQ^(st,At,Int)

Dies ist derselbe Algorithmus wie Sarsa mit Funktionsnäherung, außer q ​​​​^ ( s t + 1 , a t + 1 , w t ) \hat{q}\left(s_ {t+1 },a_{t+1},w_t\right) Q^(st+1,At+1,Int) 被替换为 m a x a ∈ A ( s t + 1 ) q ^ ( s t + 1 , a , w t ) \mathrm{max }_{a\in\mathcal{A}(s_{t+1})}\hat{q}\left(s_{t+1},a,w_t\right) maxaA(st+1)Q^(st+1,a,Int)

Fügen Sie hier eine Bildbeschreibung ein
Q-Learning mit Funktionsnäherungs-Pseudocode (On-Policy-Version):

Für jede Episode machen wir Folgendes:

  • Wenn der aktuelle Zustand s t s_t istStEs ist noch nicht der Zielzustand, dann führen wir die folgenden Operationen aus. Diese Aufgabe besteht eigentlich darin, dass ich von einem Zustand aus beginne und dann nur noch einen guten Weg zum Zielzustand finden muss. Der erste Schritt besteht also darin, die Daten zu generieren:

    • Ich bin s t s_t StWenn , muss ich dies auf π t ( s t ) π_t(s_t) basierenPit(st) Aktion nach Strategie a t a_t At und interagieren Sie dann mit der Umgebung, um r t + 1 , s t + 1 r_{t+1},s_{t+1} zu erhaltenRt+1,St+1
    • 然后根据这个数据下面我们来做Wertaktualisierung:
      w t + 1 = w t + α t [ r t + 1 + γ max ⁡ a ∈ A ( s t + 1 ) q ^ ( s t + 1 , a , w t ) − q ^ ( s t , a t , w t ) ] ∇ w q ^ ( s t , a t , w t ) w_{t+1}\quad=\quad w_{t}\quad+\quad \alpha_{t}\left[r_{t+1}+\gamma\max_{a\in\mathcal{A}(s_{t+1})}\hat{q}(s_{t+1}, a,w_{t})-\hat{q}(s_t,a_t,w_t)\right]\nabla_w\hat{q}(s_t,a_t,w_t) Int+1=Int+At[rt+1+CaA(st+1)maxQ^(st+1,a,Int)Q^(st,At,Int)]wQ^(st,At,Int)
      Beachten Sie, dass wir hier nicht direkt aktualisieren q ^ ( s t + 1 , a t + 1 ) \hat{q}(s_ { t+1},a_{t+1}) Q^(st+1,At+1),不是要计算 q ^ ( s t + 1 , a t + 1 ) \hat{q}(s_{t+1 },a_{t+1}) Q^(st+1,At+1) sollte gleich nichts sein, aber wir möchten seinen Gewichtsparameter w w w, das ist der einzige Unterschied zum vorherigen tabellarischen Sarsa.
  • Damit können wir eine Richtlinienaktualisierung durchführen, die genau der gleichen ist wie die vorherige tabellarische Sarsa. Das heißt, ich werde bei s t s_t wählenStUnter allen Aktionen erhält die Aktion mit dem größten Aktionswert eine relativ große Wahrscheinlichkeit. Die Strategie hier ist ε-Greedy, und andere Aktionen erhalten eine relativ kleine Wahrscheinlichkeit.

    • Es ist erwähnenswert, dass ich in der vorherigen tabellarischen Situation tatsächlichdirekt zum Index gehen könnte, um dies zu erhalten< a i=3> q ^ ( s t + 1 , a t + 1 ) \hat{q}(s_{t+1},a_{t+1}) Q^(st+1,At+1)
    • Jetzt muss ich einige Berechnungen durchführen. Ersetzen Sie dieses s und das entsprechende a in dieser"Wertfunktion" und führen Sie die Berechnungen durch. Die Wert dieser Funktion q ^ ( s t + 1 , a t + 1 ) \hat{q}(s_{t+1},a_{t+1}) Q^(st+1,At+1) und dann vergleichen;
      Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein




Referenzmaterialien:
[Reinforcement Learning] Mathematische Grundlagen des Reinforcement Learning: Wertfunktionsnäherung
6. Wertfunktionsnäherung a>
Vorlesung 6: Wertfunktionsnäherung (Wertfunktionsnäherung)

Supongo que te gusta

Origin blog.csdn.net/u013250861/article/details/135027523
Recomendado
Clasificación