diff --git a/Acronyms.tex b/Acronyms.tex index e637380..8713542 100644 --- a/Acronyms.tex +++ b/Acronyms.tex @@ -11,4 +11,7 @@ \acro{CSP}{Constraint Satisfaction Problem} \acro{KNF}{Konjunktive Normalform} \acro{PAC}{Probably Approximately Correct} + \acro{RL}{Reinforcement Learning} + \acro{MDP}{Markov Decision Process} + \acro{TD}{Temporal Difference} \end{acronym} \ No newline at end of file diff --git a/chapters/Maschinelles Lernen/Reinforcement Learning.tex b/chapters/Maschinelles Lernen/Reinforcement Learning.tex new file mode 100644 index 0000000..d7b5b44 --- /dev/null +++ b/chapters/Maschinelles Lernen/Reinforcement Learning.tex @@ -0,0 +1,104 @@ +\chapter{\acf{RL}} +\label{rl} + Beim \ac{RL} wir einem Agenten über mehrere Epochen ein gewünschtes Verhalten gelehrt. + Hierbei wird jeweils mit bestimmten Zielen gearbeitet, die dafür sorgen, + dass der Agent eigenständig sein Verhalten entwirft. + Das /ac{RL} unterscheidet sich von dem Supervised Learning darin, dass die Trainingsdaten nicht gelabelt sind. + D.h., dass der Agent keine Informationen darüber erhält, ob er auf einen einzelne Dateneingabe korrekt reagiert hat. + Der Agent geht also nach dem Prinzip \say{Learning by Doing} vor. + Er interagiert mit einer Umgebung (möglicherweise eine Mehragentenumgebung) und lernt die Sensordaten zu interpretieren. + Während der Interaktion erhält er Feedback (Feedback-Loop) zu seinem Handeln.\\ + \includegraphics[width = \textwidth]{reinforcement_learning_agentenmodell.png} + Eine Folge $S_0,A_0,R_0,S_1,A_1,R_1,\dots,A_T,S_T,R_T$ stellt eine Episode (einen Versuch) dar. + Der Reward ist eine abstrakte Beschreibung dafür, ob das Verhalten des Agenten gut oder schlecht ist. + Je besser die Rewardfunktion gewählt ist, desto besser und schneller lernt der Agent das gewünschte Verhalten. + Grundsätzlich gibt es hierbei zwei Ansätze: + \begin{itemize} + \item Reward beim erreichen eines Ziel (z.B. Gewinn eines Schachspiels) + \item Reward für die Verbesserung des Zustandes (z.B. Auto näher an Parklücke) + \end{itemize} + + \section{Policy $\pi$ (Taktik)} + \label{rl: policy} + \begin{wrapfigure}{b}{.4\textwidth} + \vspace{-10mm} + \includegraphics[width = .4\textwidth]{reinforcement_learning_taktik.png} + \end{wrapfigure} + Beim Lernen wird eine Taktik $\pi$ entwickelt,die das Verhalten des Agenten vollständig definiert, + indem sie den einzelnen Zuständen Aktionen zuweist. + Die entwickelte Taktik $\pi$ ist meist stationär (zeit-unabhängig). + + \section{Return $G_t$} + \label{rl: return} + Der Return $G_t$ ist die verminderte Summe der Rewards einer Episode ab Zeitpunkt $t$: + $$G_t = R_t + \gamma R_{t+1} + \gamma^2R_{t+2}+\dots = \sum^\infty_{k=0}\gamma^k R_{t+k}$$ + Hierbei ist $\gamma$ der Verminderungsfaktor (Discount Factor), der abhängig von der Anwendung ausgewählt wird: + \begin{itemize} + \item $\gamma=0:$ für ausschließlich kurzfristige Gewinne + \item $\gamma=1:$ für additive Gewinne + \item $\gamma=0,9\dots0,99:$ meist in kontinuierlichen Umgebungen sinnvoll + \end{itemize} + Wichtig ist zu beachten, dass $\gamma$ über das Konvergenzverhalten von $\pi$ entscheidet + + \section{Value $V$} + \label{rl: value} + \begin{wrapfigure}{H}{.4\textwidth} + \vspace{-5mm} + \includegraphics[width = .4\textwidth]{reinforcement_learning_value.png} + \end{wrapfigure} + Die Value eines Status gibt einen Erwartungswert für die Summe des Rewards bis zum Ende der Episode. + + \paragraph{State-Value Function} + Der erwartete Return, wenn mit einer Policy $\pi$ im Zustand $s$ gestartet wird: + $$V_\pi(s)=\mathbb{E}_\pi\left[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\dots\mid S_t=s\right]$$ + + \paragraph{Action-Value Function} + Der erwartet Return in Zustand $s$ Aktion $a$ anzuwenden und dann der Policy $\pi$ zu folgen. + $$q_\pi(a,s)=E_\pi\left[G_t\mid S_t=s, A_t=a\right]$$ + + \paragraph{Bellman-Gleichung} + Die Value-Funktion für eine Aktion kann auch mit der Bellmann-Gleichung ausgedrückt werden: + \begin{align*} + V(s)&=\mathbb{E}\left[G_t\mid S_t=s\right]\\ + &\vdots\\ + &=\mathbb{E}\left[R_{t+1}+\gamma V(S_{t+1}\mid S_t=s)\right] + \end{align*} + + \section{\acf{MDP}} + \label{mdp} + Ein \ac{MDP} ist definiert als $$ + \begin{itemize} + \item $S:$ eine endliche Menge von Zuständen + \item $A:$ eine endliche Menge von Aktionen + \item $P:$ state transition matrix (eine Matrix von State-Übergängen mit Wahrscheinlichkeiten) + $$ \mathcal{P}^a_{ss'}=\mathbb{P}\left[S_{t+1}=s'\mid S_t=s, A_t=a\right] $$ + \item $R:$ die Reward-Funktion + $$\mathcal{R}^a_s=\mathbb{E}\left[R_{t+1}\mid S_t=s,A_t=a\right]$$ + \item $\gamma:$ der Discount-Faktor + $$\gamma\in[0,1]$$ + \end{itemize} + \acp{MDP} beschreiben vollständig beobachtbare Umgebungen. + Fast alle \ac{RL}-Probleme werden als \acp{MDP} formalisiert. + Meist ist $P$ oder $R$ gesucht. + + + \section{Einordnung in Maschinelles Lernen} + \label{rl: einordnung} + Das /ac{RL} ist ein Teil des \acf{ML}.\\ + \includegraphics[width = .6\textwidth]{reinforcement_learning_einordnung.png} + Es hat viele Schnittstellen zu den verschiedensten Wissenschaften.\\ + \includegraphics[width = .8\textwidth]{reinforcement_learning_schnittstellen.png} + + \section{Active Reinforcement Learning} + \label{active reinforcement learning} + \subsection{\acf{TD} Learning} + \label{td learning} + Beim \ac{TD} Learning lernt der Agent bereits aus unvollständigen Episoden. + Man sagt: \say{learning a guess from a guess} + + \paragraph{Q-Learning} + Wenn man die Bellman-Funktion für Action-Value-Funktionen (\ref{rl: value}) einsetzt erhält man: + $$Q(s,a)=\mathbb{E}\left[R_{t+1}+\gamma Q(S_{t+1},A_{t+1})\mid S_t=s, A_t=a\right]$$ + Hieraus ergibt sich die Aktualisierungsregel für das Q-Learning + $$Q(s_t,a_t)\gets \underbrace{s_t,a_t}_{\text{old value}} + \underbrace{a}_{\text{learning rate}} \cdot \left(\overbrace{\underbrace{r_{t+1}}_{\text{reward}} + \underbrace{\gamma}_{\text{discount facotr}}\cdot\underbrace{\max_aQ(s_{t+1},a)}_{\text{estimate of optimal future value}}}^{\text{learned value}}-\underbrace{Q(s_t,a_t)_{\text{old value}}}\right)$$ + \includegraphics[width =.8\textwidth]{q-learning.png} \ No newline at end of file diff --git a/images/q-learning.png b/images/q-learning.png new file mode 100644 index 0000000..3ce6a34 Binary files /dev/null and b/images/q-learning.png differ diff --git a/images/reinforcement_learning_agentenmodell.png b/images/reinforcement_learning_agentenmodell.png new file mode 100644 index 0000000..e04b865 Binary files /dev/null and b/images/reinforcement_learning_agentenmodell.png differ diff --git a/images/reinforcement_learning_einordnung.png b/images/reinforcement_learning_einordnung.png new file mode 100644 index 0000000..1afd640 Binary files /dev/null and b/images/reinforcement_learning_einordnung.png differ diff --git a/images/reinforcement_learning_schnittstellen.png b/images/reinforcement_learning_schnittstellen.png new file mode 100644 index 0000000..3167c8d Binary files /dev/null and b/images/reinforcement_learning_schnittstellen.png differ diff --git a/images/reinforcement_learning_taktik.png b/images/reinforcement_learning_taktik.png new file mode 100644 index 0000000..ca44e95 Binary files /dev/null and b/images/reinforcement_learning_taktik.png differ diff --git a/images/reinforcement_learning_value.png b/images/reinforcement_learning_value.png new file mode 100644 index 0000000..4b597f1 Binary files /dev/null and b/images/reinforcement_learning_value.png differ diff --git a/parts/Maschinelles Lernen.tex b/parts/Maschinelles Lernen.tex index 391561d..ae3ba4d 100644 --- a/parts/Maschinelles Lernen.tex +++ b/parts/Maschinelles Lernen.tex @@ -2,4 +2,5 @@ \label{ml} \input{chapters/Maschinelles Lernen/Einführung.tex} -\input{chapters/Maschinelles Lernen/Lernbarkeit.tex} \ No newline at end of file +\input{chapters/Maschinelles Lernen/Lernbarkeit.tex} +\input{chapters/Maschinelles Lernen/Reinforcement Learning.tex} \ No newline at end of file