Was genau ist Bootstrapping beim Reinforcement-Lernen?

23

Offensichtlich handelt es sich beim Verstärkungslernen bei der Zeitdifferenzmethode (TD-Methode) um eine Bootstrapping-Methode. Andererseits sind Monte-Carlo-Methoden keine Bootstrapping-Methoden.

Was genau ist Bootstrapping in RL? Was ist eine Bootstrapping-Methode in RL?

nbro
quelle

Antworten:

22

Bootstrapping in RL kann als "unter Verwendung eines oder mehrerer geschätzter Werte im Aktualisierungsschritt" gelesen werden für dieselbe Art von Schätzwert" .

In den meisten TD-Update-Regeln sehen Sie so etwas wie dieses SARSA (0) -Update:

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

Der Wert Rt+1+γQ(s,a) ist eine Schätzung für den wahren Wert von Q(s,a) und wird auch als TD-Ziel bezeichnet. Dies ist eine Bootstrap-Methode, da wir teilweise einen Q-Wert verwenden, um einen anderen Q-Wert zu aktualisieren. Es gibt eine kleine Menge real beobachteter Daten in Form von Rt+1 , der unmittelbaren Belohnung für den Schritt, und auch im Zustandsübergang ss .

Im Gegensatz zu Monte Carlo könnte die entsprechende Aktualisierungsregel lauten:

Q(s,a)Q(s,a)+α(GtQ(s,a))

Wobei Gt die gesamte abgezinste Belohnung zum Zeitpunkt t , unter der Annahme, dass es in Status s begann, Aktion a ausführte und dann der aktuellen Richtlinie bis zum Ende der Episode folgte. Technisch ist Gt=k=0Tt1γkRt+k+1 wobeiTist der Zeitschritt für die endgültige Belohnung und den endgültigen Status. Insbesondere verwendet dieser Zielwert überhaupt keine vorhandenen Schätzungen (aus anderen Q-Werten), sondern nur eine Reihe von Beobachtungen (dh Belohnungen) aus der Umgebung. Somit ist garantiert, dass es sich um eine unvoreingenommene Schätzung des wahren Werts von Q(s,a) , da es sich technisch um eine Stichprobe von Q(s,a) .

Der Hauptnachteil von Bootstrapping ist, dass es in Richtung Ihrer Startwerte von Q(s,a) (oder V(s) ) voreingenommen ist. Diese sind höchstwahrscheinlich falsch, und das Aktualisierungssystem kann insgesamt instabil sein, da zu viel Selbstreferenz und nicht genügend reale Daten vorhanden sind. Dies ist ein Problem beim Lernen außerhalb der Richtlinien (z. B. Q-Learning) mithilfe neuronaler Netze.

Ohne Bootstrapping gibt es bei längeren Trajektorien häufig eine hohe Varianz , was in der Praxis bedeutet, dass Sie mehr Stichproben benötigen, bevor die Schätzungen konvergieren. Daher kann es trotz der Probleme mit dem Bootstrapping deutlich schneller lernen, wenn es zum Laufen gebracht werden kann, und es wird häufig Monte-Carlo-Ansätzen vorgezogen.

Sie können Kompromisse zwischen beprobten Monte-Carlo-Methoden und Einzelschritt-TD-Methoden eingehen, indem Sie eine Mischung von Ergebnissen aus Trajektorien unterschiedlicher Länge verwenden. Dies wird als TD ( λ ) -Lernen bezeichnet, und es gibt eine Vielzahl spezifischer Methoden wie SARSA ( λ ) oder Q ( λ ).

Neil Slater
quelle
1
Dies sollte wahrscheinlich eine andere Frage sein. Wenn Sie jedoch antworten möchten, warum genau ist und Schätzung für Q ( s , a ) ? Rt+1+γQ(s,a)Q(s,a)
nbro
1
Q(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]saQ(St+1,At+1)
1
λTD?
n1k31t4
1
@n1k31t4: Nothing prevents doing this, and it should be a valid RL approach. It would be different to TD(λ), but motivated by the same idea of trying to get good features from both algorithms. You would need to try it and compare learning efficiency with TD(λ) - you still have a hyper parameter to tune, which is the number of episodes to run MC for. A more general version would be to allow λ to change - start with λ=1 and decay it down to e.g. 0.4 or whatever value seems most optimal. However, that has 2 hyper parameters, decay rate and target for λ
Neil Slater
@NeilSlater, when using bootstrapping, can it converge? I cannot understand why it should since Q(s',a') is just an arbitrary guess which then distorts the estimate for Q(s,a). Also, why does MC have a high-variance as compared to TD?
d56
4

In general, bootstrapping in RL means that you update a value based on some estimates and not on some exact values. E.g.

Incremental Monte Carlo Policy Evaluation updates:

V(St)=V(St)+α(GtV(St))

TD(0) Policy Evaluation updates:

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

In TD(0), the return starting from state s is estimated (bootstrapped) by Rt+1+γV(St+1) while in MC we use the exact return Gt.

plopd
quelle