Temporal Difference Learning

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 29. September 2022 um 08:51 Uhr durch imported>Anonym~dewiki(31560) (Die Gleichung ist so falsch (Siehe englische Version dieses Artikels). Es wird im aktuellen Schritt belohnt. Die Belohnung ändert den aktuellen Status-Wert, welcher sich dann in die vorhergehenden Zustände fortpflanzt. Im aktuellen Zustand ist die Belohnung ungleich 0, aber es gibt noch keinen Wert des Folgezustands (=0). In den vorhergehenden Zuständen ist die Belohnung = 0, aber der Wert aus dem Folgezustand ungleich 0.).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Temporal Difference Learning (auch TD-Learning) ist eine Methode des bestärkenden Lernens. Beim bestärkenden Lernen erhält ein Agent nach einer Reihe von Aktionen eine Belohnung und passt seine Strategie an, um die Belohnung zu maximieren. Ein Agent mit einem TD-Learning-Algorithmus macht die Anpassung nicht erst, wenn er die Belohnung erhält, sondern nach jeder Aktion auf Basis einer geschätzten erwarteten Belohnung.

Modell

Wie bei anderen Algorithmen des bestärkenden Lernens ist die Interaktion des Agenten mit seiner Umwelt als Markow-Entscheidungsproblem beschrieben.

Der Agent besitzt eine Funktion V, die einen bestimmten Zustand bewertet (englisch

state-value function

). Zur Verbesserung seiner Strategie π (englisch

policy

) nähert er V mit jeder Iteration dem idealen an.

Frühere Methoden mussten auf die Belohnung am Ende einer Episode warten, um zu wissen, wie gut die Strategie war, um die Funktion anzupassen. TD-Methoden dagegen aktualisieren ihre Bewertungsfunktion nach jeder Aktion mit der beobachteten Belohnung r (die auch null sein kann) und der durch die derzeitige Bewertungsfunktion geschätzte erwartete Belohnung. Dieser Prozess heißt Bootstrapping und dabei wird mit jeder Iteration die Schätzung genauer.

Bei dem einfachsten Algorithmus wählt der Agent in jeder Iteration eine Aktion anhand seiner Strategie, beobachtet die Belohnung und passt die Bewertungsfunktion mit folgender Formel an:

,

wobei α für die Lernrate und γ für den Diskontierungsfaktor steht.

Die Lernrate gibt an, inwieweit neue Werte die derzeitige Bewertungsfunktion anpassen. Es ist mathematisch bewiesen, dass der Algorithmus zu einem Optimum konvergiert, wenn die Lernrate anfangs groß ist und allmählich kleiner wird. Genau heißt das, wenn die beiden Bedingungen

Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. Server problem.“): {\displaystyle \sum _{i=1}^{\infty }\alpha _{i}=\infty } und Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \sum_{i=1}^\infty \alpha_i^2 < \infty}

erfüllt sind.[1] In der Praxis wählt man häufig eine kleine konstante Lernrate, welche die Bedingung zwar nicht erfüllt, sich im Falle einer veränderlichen Umwelt jedoch besser eignet.

Der Diskontierungsfaktor gewichtet die zukünftigen Belohnungen. Ein kleiner Wert lässt den Agenten kurzsichtiger und ein großer Wert weitsichtiger handeln.

Die Strategie des Agenten kann dabei abhängig sein von der Bewertungsfunktion. Eine prominente Strategie ist die ε-greedy policy. Hierbei wählt der Agent entweder die aus seiner Sicht erfolgversprechendste Aktion (gemäß Bewertungsfunktion) oder eine zufällige Aktion. Der Parameter ε mit Werten zwischen 0 und 1 gibt die Wahrscheinlichkeit an, mit der der Agent eher eine Zufallsaktion anstatt die beste Aktion wählt.

Algorithmen

Q-Learning

Q-Learning ist eine Variante von TD-learning, bei welcher der Agent den Nutzen einer Aktion bewertet, anstelle eines Zustandes. Die erlernte Funktion Q(s,a) heißt demzufolge

action-value function

. 1989 führte Chris Watkins diesen Algorithmus erstmals ein.[2] Den Konvergenzbeweis erbrachte er gemeinsam mit Peter Dayan im Jahr 1992.

Der Algorithmus sieht vor, dass der Agent zum aktuellen Zustand s eine Aktion a gemäß seiner Strategie ausführt und die daraus resultierende Belohnung r erhält. Aus dem Folgezustand s' nimmt der Agent die erfolgversprechendste Aktion a' gemäß seiner derzeitigen Bewertungsfunktion als zukünftige Belohnung an. Anhand dieser passt er seine Bewertungsfunktion nach folgender Formel an:

Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. Server problem.“): {\displaystyle Q(s,a)\leftarrow (1-\alpha )Q(s,a)+\alpha {\big (}r+\gamma \max _{a'}Q(s',a'){\big )}}

Da die Annahme, die zukünftige Belohnung entspräche der bestmöglichen Aktion, von der Strategie (zum Beispiel ε-greedy) abweichen kann, spricht man von einem off-policy-Algorithmus.

SARSA

SARSA steht für

state-action-reward-state-action

und ist ebenfalls ein Algorithmus zum Erlernen einer

action-value function

. Im Gegensatz zu Q-Learning bleibt der Agent allerdings bei der Berechnung seiner Folgeaktion seiner Strategie treu (on-policy). G. A. Rummery und M. Niranjan erwähnten den Algorithmus erstmals 1994. Die von Rich Sutton vorgeschlagene und nur in der Fußnote erwähnte Bezeichnung SARSA setzte sich durch.[3]

Ein Agent, der SARSA implementiert, führt zum aktuellen Zustand s eine Aktion a gemäß seiner Strategie aus und erhält eine Belohnung r. Im Folgezustand s' wählt er nun wieder eine Aktion a' gemäß seiner Strategie und nimmt dessen Bewertung als zukünftigen Gewinn, um die Bewertungsfunktion nach folgender Formel anzupassen:

Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. Server problem.“): {\displaystyle Q(s,a)\leftarrow (1-\alpha )Q(s,a)+\alpha {\big (}r+\gamma Q(s',a'){\big )}}

TD-Lambda

TD(λ) ist eine Erweiterung des Algorithmus mit „

eligibility traces

“. Beim ursprünglichen Algorithmus bewirkt eine Aktion nur die Anpassung der Bewertungsfunktion für den zuletzt besuchten Zustand. TD(λ) dagegen passt die Werte mehrerer besuchter Zustände an. Dazu besitzt jeder Zustand ein numerisches Attribut, das angibt, in welchem Maße seine Bewertung zur Änderung berechtigt ist. Wird ein Zustand besucht, geht das Attribut auf 1, und mit jeder Iteration zerfällt es exponentiell mit der Zerfallsrate λ.

Diese Erweiterung schlug so die Brücke zwischen TD-Learning und früheren Monte-Carlo-Methoden. Wird 1 für λ gewählt, zerfällt das Berechtigungsattribut nicht und am Ende der Episode werden alle besuchten Zustände anhand der beobachteten Belohnung angepasst. Dies entspricht dem Vorgehen von Monte-Carlo-Algorithmen. Dagegen ist TD(0) der klassische TD-Algorithmus. In der Praxis eignet sich meist ein Mittelweg zwischen diesen beiden Extremen, bei der mehrere Zustände angepasst werden.

Die Erweiterung kann auch auf SARSA und Q-Learning angewandt werden. Die Algorithmen werden dann SARSA(λ) und Q(λ) bezeichnet.

Konkrete Anwendungen

Einer der bekanntesten Anwendungen TD-Lernens ist TD-Gammon. In den 1980er Jahren entwickelte Gerald Tesauro das Programm, das Backgammon auf Niveau menschlicher Experten spielt. Er implementierte dabei den TD-Lambda-Algorithmus mit einem Perzeptron zur Approximation der Bewertungsfunktion. Die Änderung des neuronalen Netzes erfolgte durch Backpropagation.[4][5]

Einzelnachweise

  1. Peter Dayan, Terrence J. Sejnowski: TD(λ) Converges with Probability 1. In: Machine Learning. Nr. 14, 1994, S. 295–301 (PDF [abgerufen am 22. April 2016]).
  2. Chris Watkins: Learning from Delayed Rewards. Ph.D. Thesis. 1989 (PDF [abgerufen am 26. April 2016]).
  3. G. A. Rummery, M. Niranjan: On-line Q-Learning Using Connectionist Systems. 1994, S. 6 (PDF [abgerufen am 26. April 2016]).
  4. Gerald Tesauro: Practical Issues in Temporal Difference Learning. In: Machine Learning. Nr. 8, 1992, S. 257–277 (PDF [abgerufen am 25. April 2016]).
  5. Gerald Tesauro: Temporal difference learning and TD-Gammon. In: Commun. ACM. Band 38, Nr. 3, 1995, S. 58–68, doi:10.1145/203330.203343.