138 lines
8.0 KiB
TeX
138 lines
8.0 KiB
TeX
\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 $<S,A,P,R,\gamma>$
|
|
\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}, hat aber viele Schnittstellen zu den verschiedensten Wissenschaften.\\
|
|
\includegraphics[width = .5\textwidth]{reinforcement_learning_einordnung.png}
|
|
\includegraphics[width = .5\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}
|
|
|
|
\section{Q-Learning}
|
|
\label{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 =.9\textwidth]{q-learning.png} \\
|
|
Für die Auswahl des Pfades wird häufig der $\epsilon$-greedy (\ref{epsilon-greedy}) Algorithmus verwendet.\\
|
|
\begin{tabular}{|p{.465\textwidth}|p{.465\textwidth}|}
|
|
\hline
|
|
\textbf{Vorteile} & \textbf{Herausforderungen}\\
|
|
\hline
|
|
\begin{itemize}
|
|
\item lernt nach jedem Schritt
|
|
\item lernt ohne Erreichen eines Zielzustands
|
|
\item benötigt kein Modell für die Aktionsauswahl
|
|
\end{itemize} &
|
|
\begin{itemize}
|
|
\item Funktioniert es auch ohne Simulation?
|
|
(bisher ist das Reinforcement Learning vor allem in simulierten Umgebungen angewendet worden (z.B. Spiele))
|
|
\item Wie geht man mit großen Zustandsräumen um?
|
|
\end{itemize}\\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\subsection{Exploration vs Exploitation}
|
|
\label{exploration vs exploitation}
|
|
Nach zufälliger Durchsuchung gelangt der Agent irgendwann durch Zufall zu einem positiven Ergenis.
|
|
Nun steht er allerdings vor einem Dilemma.
|
|
Soll er den Weg mit bekannt hohem Nutzen (\ref{rl: value}) gehen (Exploitation) oder noch nicht ausprobierte Aktionen versuchen (Exploration)?
|
|
Der Vorteil der Exploration ist, dass ein besserer Weg als der bereits bekannte gefunden werden kann,
|
|
wohingegen die Exploitation den Vorteil eines sicheren Rewards (\ref{rl}) hat.
|
|
|
|
\subsubsection{$\epsilon$-greedy}
|
|
\label{epsilon-greedy}
|
|
\begin{wrapfigure}{h}{.5\textwidth}
|
|
\vspace{-15mm}
|
|
\includegraphics[width = .5\textwidth]{epsilon-greedy.png}
|
|
\end{wrapfigure}
|
|
Ein Algorithmus, der einen Mittelweg zwischen beiden Lösungen darstellt ist der $\epsilon$-greedy-Algorithmus.
|
|
Hierbei wird mit einer von $\epsilon$ abhängigen Wahrscheinlichkeiten ein zufälliger Weg anstatt des besten bekannten Weges gewählt.\\ |