Im folgenden Kapitel soll das Themengebiet des bestärkenden Lernens theoretisch fundiert werden. Das bestärkende Lernen ordnet sich dem maschinellen Lernen unter, welches wiederum der Methodenwelt der künstlichen Intelligenz angehört. In Abschnitt 3.1 wird deshalb zunächst das bestärkende Lernen in die Themengebiete der künstlichen Intelligenz und des maschinellen Lernens eingeordnet. Zur besseren Abgrenzung werden zudem kurz die angrenzenden maschinellen Lernparadigmen »überwachtes Lernen« und »unüberwachtes Lernen« erläutert. Abschnitt 3.2 skizziert das Grundprinzip des bestärkenden Lernens und führt ferner eine Taxonomie ein, gemäß welcher die Methoden des bestärkenden Lernens in dieser Arbeit klassifiziert werden. Die beiden Hauptkategorien dieser Taxonomie bilden das gradientenabhängige und das gradientenfreie bestärkende Lernen, die wiederum in den Abschnitten 3.3 und 3.4 separat erläutert werden. Die im Rahmen dieser Arbeit untersuchten Lernalgorithmen werden für das Training von sogenannten künstlichen neuronalen Netzen verwendet. Ein Exkurs hinsichtlich des Aufbaus und der Funktionsweise von künstlichen neuronalen Netzen ist als Anhang A dem elektronischen Zusatzmaterial beigefügt.

3.1 Einordnung in die künstliche Intelligenz und in das maschinelle Lernen

Das bestärkende Lernen ist ein Teilgebiet des maschinellen Lernens, welches sich wiederum als Teilgebiet der künstlichen Intelligenz versteht (Nilsson 2010). Der Begriff »Künstliche Intelligenz« (KI) ist nicht eindeutig definiert. In der wissenschaftlichen Literatur finden sich eine Vielzahl von Erklärungsversuchen. Ertel (2016, S. 1 ff.) diskutiert einige Definitionen von KI, die im Laufe der Zeit entstanden sind. Gemäß dem Autor spiegelt die folgende Definition von Rich (1983, S. 2) am ehesten die moderne Vorstellung von KI wider: „Artificial Intelligence is the study of how to make computers do things at which, at the moment, people are better“. Sinngemäß übersetzt: Künstliche Intelligenz beschäftigt sich mit der Frage, wie Computer Aufgaben erledigen können, in denen Menschen derzeit noch besser sind. Diese Definition scheint angemessen, da sie ebenfalls aktuelle Trends in der KI-Forschung reflektiert, z. B. jüngste Fortschritte in der computergestützten Bild- und Spracherkennung. Bei beiden Aufgaben handelt es sich um Beispiele, bei welchen der Mensch dem Computer stets überlegen war. Neben maschinellen Lernen umfasst KI u. a. Methoden der Logik und Wissensrepräsentation (z. B. Aussage- und Prädikantenlogik, semantische Netze), des Suchens und Problemlösens (z. B. Tiefen- und Breitensuche, (Meta-)Heuristiken) sowie des probabilistischen Schließens (z. B. Bayes‘sche Netze, Fuzzy-Logik) (Ertel 2016; Russell und Norvig 2016).

Der Begriff »Maschinelles Lernen« (ML) wurde erstmals von Samuel (1959) erwähnt, der ein Computerprogramm für das Spiel »Checkers« schrieb, welches aus vergangenen Spielzügen eine eigene Spielstrategie erlernt. Der Autor definiert ML als „field of study that gives computers the ability to learn without being explicitly programmed“. Sinngemäß übersetzt: ML beschäftigt sich mit Methoden, die einem Computer die Fähigkeit geben, Handlungsweisen zu erlernen, ohne diese explizit zu programmieren. Samuels Intention, ML zu nutzen, um den Programmieraufwand zu reduzieren, ist auch heute noch eines der Leitmotive der Forschung und Entwicklung von ML-Methoden. Eine aktuellere Definition von ML stammt von Mitchell (1997, S. 2): „A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.“ Sinngemäß übersetzt: Ein Computerprogramm lernt aus Erfahrung \(E\), in Bezug auf eine Aufgabe \(T\) und ein Leistungsmaß P, wenn sich seine Leistung bei \(T\) gemessen an \(P\) mit der Erfahrung \(E\) verbessert. In der Praxis bedeutet dies, dass mithilfe von ML-Methodens Daten analysiert werden können, um Muster zu erkennen und Zusammenhänge zu erforschen und auf Basis dieser Erkenntnisse Prognosen aufzustellen sowie Entscheidungen zu treffen. Wie Abbildung 3.1 zeigt, existieren drei grundsätzliche ML-Paradigmen – darunter das bestärkende Lernen –, welche für unterschiedliche Probleme und Aufgaben angewandt werden. Im Folgenden sollen die Grundzüge der an das bestärkende Lernen angrenzenden Paradigmen »überwachtes Lernen« und »unüberwachtes Lernen« dargelegt werden.

Abbildung 3.1
figure 1

Paradigmen des maschinellen Lernens (in Anlehnung an Swamynathan 2019, S. 83)

3.1.1 Überwachtes Lernen als angrenzendes Paradigma

Grundvoraussetzung zur Anwendung einer überwachten Lernstrategie ist ein Trainingsdatensatz \(X \cup Y\), bei dem jeder Eintrag \(i\) aus Merkmalen \(x_{i} \in X\) (Eingangsgrößen) und einer zugehörigen Beobachtung \(y_{i} \in Y\) (Ausgangsgröße, auch »Label« genannt) besteht. Auf Basis dieser Daten wird nun mithilfe eines Modells \(h_{\theta }\) versucht eine Funktion zu approximieren, welche so präzise wie möglich von \(X\) auf \(Y\) abbildet \(h_{\theta } :X \to Y\) (Mello und Ponti 2018, S. 5). Die Bezeichnung »Überwachtes Lernen« rührt daher, dass iterativ Prädiktionen mithilfe des anzulernenden Modells für beliebige Eingaben aus \(X\) generiert, diese mit der jeweils zugehörigen erwarteten Ausgabe aus \(Y\) verglichen und schließlich die Modellparameter \(\theta\), basierend auf den Fehler zwischen der Prädiktion \(h_{\theta } \left( {x_{i} } \right)\) und erwarteter Ausgabe \(y_{i}\), anpasst werden (z. B. mithilfe eines Gradientenabstiegsverfahrens). Abbildung 3.2 illustriert den Prozess des überwachten Lernens (a) und veranschaulicht diesen am Beispiel eines einfachen linearen Regressionsmodells (b).

Abbildung 3.2
figure 2

Prozess des überwachten Lernens (a) am Beispiel eines einfachen linearen Regressionsproblems (b)

Überwachte Lernstrategien können sowohl für Regressions- als auch Klassifikationsprobleme angewandt werden. Bei einem Regressionsproblem ist die Zielstellung, eine kontinuierliche Funktion zu approximieren, die möglichst präzise den Zusammenhang zwischen eingehenden Merkmalen und einer zu beobachtenden Ausgangsgröße beschreibt, z. B. die Vorhersage von Umsatzzahlen (Beobachtung) in Abhängigkeit von saisonalen, geografischen und / oder demografischen Daten (Merkmale). Hingegen wird bei einem Klassifikationsproblem die Approximation einer kontinuierlichen (bei binären Klassifikationsproblemen) oder diskreten Funktion (bei nichtbinären Klassifikationsproblemen) angestrebt, die auf Basis eingehender Merkmale eine möglichst eindeutige Klassenzuordnung aus einer definierten Menge an Klassen trifft. Ein Beispiel für eine binäre Klassifikationsaufgabe ist das Anlernen eines E-Mail-Spamfilters, welcher eine E-Mail als Spam (\(= 1)\) oder nicht Spam (\(= 0\)) klassifiziert. Ein Beispiel für eine nichtbinäre Klassifikationsaufgabe ist das Anlernen eines Bilderkennungsmodells, welches basierend auf Pixeldaten (Merkmale) und einer definierten Anzahl vorgegebener Klassen entscheiden soll, was auf dem Bild dargestellt wird (Swamynathan 2019, S. 83).

3.1.2 Unüberwachten Lernens als angrenzendes Paradigma

Beim unüberwachten Lernen besteht der Trainingsdatensatz lediglich aus Eingangsmerkmalen \(X\), ohne dass eine erwartete Ausgabe \(Y\) bekannt ist. Die Lernaufgabe besteht darin, in den Eingangsmerkmalen Ähnlichkeiten und Differenzen zu erkennen und hierauf basierend eine Gruppierung der Daten abzuleiten. Da im Vergleich zum überwachten Lernen keine erwartete Ausgabe bekannt ist, wird beim unüberwachten Lernen mithilfe von Ähnlichkeits- und Distanzmaßen die zugrundeliegende Struktur des Datensatzes untersucht. Auf diese Weise können unbekannte Relationen und Zusammenhänge in den Daten entdeckt werden (vgl. Celebi und Aydin 2016).

Typische Anwendungen für das unüberwachte Lernen sind Clusteranalysen, Dimensionsreduktion sowie Anomaliedetektion in Datensätzen. Bei einer Clusteranalyse werden Daten hinsichtlich ihrer (Un-)Ähnlichkeit bewertet und gruppiert. Beispielsweise können Kunden auf Basis hinterlegter Stammdaten (Geschlecht, Alter, Wohnort u. v. m.) segmentiert werden. Die in einer Clusteranalyse ermittelten Gruppen können darüber hinaus verwendet werden, um Anomalien in Datenströmen zu entdecken, z. B. durch Überprüfung, ob sich ein Datenpunkt außerhalb der kritischen Distanz zu allen bestehenden Clusterzentren befindet. Zielstellung einer Dimensionsreduktion ist es, einen großen multidimensionalen Eingangsdatensatz auf einen kleineren Dimensionsraum zu komprimieren, um z. B. Schlüsselvariablen mit dem größten Informationsgehalt zu identifizieren (Swamynathan 2019, S. 83 f.).

Abbildung 3.3 zeigt den Prozess des unüberwachten Lernens (a) am konkreten Beispiel einer Clusteranalyse (b). Weitgehend lässt sich das Prozessmodell ebenfalls auf die Anomaliedetektion sowie viele Dimensionsreduktionsverfahren übertragen. Analog zur Clusteranzahl muss bspw. beim Dimensionsreduktionsverfahren »Hauptkomponentenanalyse« die Anzahl der Hauptkomponenten festgelegt werden, auf welche ein Datensatz reduziert werden soll (Dunteman 1989).

Abbildung 3.3
figure 3

Prozess des unüberwachten Lernens (a) am Beispiel einer Clusteranalyse (b)

3.2 Grundprinzip und Taxonomie des bestärkenden Lernens

Das bestärkende Lernen (RL – vom englischen Begriff »Reinforcement Learning«) stellt neben dem überwachten und unüberwachten Lernen das dritte ML-Paradigma dar. RL hat einen psychologiewissenschaftlichen Ursprung im konditionierenden Lernen sowie ingenieurwissenschaftliche Wurzeln in der Kontrolltheorie und -optimierung (Sutton und Barto 2018, S. 13). Vor diesem Hintergrund ändern sich einige Begriffe, die für das überwachte und unüberwachte Lernen in Abschnitt 3.1.1 bzw. 3.1.2 eingeführt wurden. In RL werden ein anzulernendes Modell als »Agent«, in das Modell eingehende Daten als »Zustand« und die Modellausgabe als »Aktion« bezeichnet. Des Weiteren wird unter dem Agentenbegriff ebenfalls das RL-Verfahren mitsamt dessen Modellen, Untermethoden und Datenstrukturen subsumiert. Mit diesem Wissen kann nun das Grundprinzip von RL erläutert werden.

Die Grundidee von RL besteht darin, einen Agenten anzulernen, der mit seiner Umgebung interagiert. Der Agent wird durch ein ML-Modell repräsentiert, z. B. eine Tabelle, eine regelbasierte Logik, eine parametrisierbare Funktion oder ein künstliches neuronales Netz (KNN). Die modernsten und ebenfalls im Rahmen dieser Arbeit untersuchten RL-Methoden ordnen sich dem sogenannten tiefen bestärkenden Lernen (DRL – vom englischen Begriff »Deep Reinforcement Learning«) zu. DRL-Methoden zeichnen sich dadurch aus, dass der Agent stets durch ein KNN mit mehreren versteckten Schichten repräsentiert wird (vgl. François-Lavet et al. 2018, S. 219 f.). Ein Exkurs hinsichtlich des Aufbaus und der Funktionsweise von KNN ist als Anhang A dem elektronischen Zusatzmaterial beigefügt. Der Agent übersetzt Zustände seiner Umgebung (Eingangsgrößen) in Aktionen (Ausgangsgrößen). Jedes Mal, wenn der Agent eine Aktion ausführt, geht die Umgebung in einen Folgezustand über, für welchen der Agent die nächste Aktion auswählen muss. Im Gegensatz zum überwachten Lernen sind keine erwarteten Ausgaben für die Anwendung von RL-Methoden erforderlich. Jedoch verzichten RL-Methoden nicht gänzlich auf Trainingslabels wie das unüberwachte Lernen, sondern generieren diese während des Trainingsprozesses mithilfe einer sogenannten Belohnungsfunktion. Die Belohnungsfunktion bewertet die Aktionen eines Agenten mit positiven (Belohnung) oder negativen Werten (Bestrafung). Ziel des Agenten ist es, über die Zeit die erhaltene Belohnung zu maximieren bzw. die erhaltene Bestrafung zu minimieren. Auf diese Weise lernt der Agent, die beste Aktion für einen gegebenen Zustand zu prognostizieren (Sutton und Barto 2018, S. 48; François-Lavet et al. 2018, S. 234; Lorenz 2020, S. 4).

Um die Funktionsprinzipien von RL-Methoden im Detail darzulegen und in einem Prozessmodell analog zum überwachten (Abbildung 3.2 (a)) und unüberwachten Lernen (Abbildung 3.3 (a)) darzustellen, muss im Folgenden eine Fallunterscheidung getroffen werden. In dieser Arbeit werden RL-Methoden in gradientenabhängige und gradientenfreie Ansätze untergliedert. Bezogen auf die inhaltliche Ausrichtung der Übersichts- und Grundlagenliteratur, z. B. (Sutton und Barto 2018; Arulkumaran et al. 2017; François-Lavet et al. 2018; Lorenz 2020), repräsentieren gradientenabhängige Verfahren die traditionelle Sicht auf RL. Darüber hinaus werden im Rahmen dieser Arbeit ML-Methoden untersucht, die ebenfalls durch Belohnung / Bestrafung lernen, jedoch keine Gradienten erfordern, um die Parameter eines ML-Modells zu aktualisieren. Diese Methoden werden im Folgenden als gradientenfreie Verfahren bezeichnet. Gradientenabhängige und gradientenfreie Ansätze können ferner ansatzspezifisch klassifiziert werden. Abbildung 3.4 präsentiert eine Taxonomie von RL-Methoden, welche dieser Arbeit zugrunde gelegt wird. In den folgenden Abschnitten sollen die gradientenabhängigen und gradientenfreien RL-Ansätze zzgl. ihrer untergeordneten Kategorien näher beleuchtet und anhand von konkreten Methoden erklärt werden.

Abbildung 3.4
figure 4

Taxonomie von bestärkenden Lernverfahren

3.3 Gradientenabhängiges bestärkendes Lernen

Gradientenabhängige RL-Verfahren trainieren einen Agenten in Richtung der Gradienten von dessen Parametern, die sich auf Basis der Differenz zwischen der Agentenausgabe und der aus der Belohnungsfunktion resultierenden erwarteten Ausgabe berechnen. Gradientenabhängige RL-Verfahren untergliedern sich in modellbasierte und modellfreie Ansätze.

In modellbasierten Ansätzen lernt der Agent ein Modell der Umgebung, mit welchem Entscheidungen vorausgeplant werden, bevor diese in der tatsächlichen Umgebung Anwendung finden. Ein populäres Verfahren dieser Art ist der Monte-Carlo-Tree-Search (MCTS) -Algorithmus (Coulom 2006). Ausgehend vom aktuellen Zustand konstruiert MCTS einen Entscheidungsbaum, wobei Knoten Zustände und Kanten Aktionen repräsentieren. Die kumulierten Belohnungen werden in den jeweiligen Knoten gespeichert, wodurch der Agent erfolgsversprechende Aktionen im Voraus kennt. MCTS funktioniert ebenfalls ohne den Einsatz von ML-Methoden, indem der Entscheidungsbaum durch zufällige Aktionen konstruiert wird. Bei Problemen mit großen Zustandsräumen kommt die konventionelle MCTS an ihre rechnerischen Grenzen, z. B. beim Brettspiel »Go«, in welchem ca. \(250^{150}\) unterschiedliche Sequenzen von Spielzügen existieren. In diesem Fall kann mithilfe von ML-Verfahren die Effizienz der Exploration des Entscheidungsbaums erhöht werden. Zum einem, indem der Agent erfahrungsbasiert anstatt randomisiert Aktionen wählt, um zu entscheiden, ob und welche Baumverzweigungen ausgelotet werden, zum anderen, indem der Agent lernt, die Vorteilhaftigkeit eines Zustands zu bewerten, um frühzeitig zu entscheiden, ob Baumverzweigungen weiter ausgelotet werden sollen (Silver et al. 2016; Silver et al. 2017). Die MCTS ist nur für RL-Probleme mit diskreten Aktionsräumen anwendbar, d. h. dass das ML-Modell durch ein Klassifikator-KNN (vgl. Abbildung A-1 (b) in Anhang A im elektronischen Zusatzmaterial) oder ein anderes Klassifikationsmodell repräsentiert wird. Für RL-Probleme mit kontinuierlichem Aktionsraum, bei welchen das ML-Modell durch ein Regressor-KNN (vgl. Abbildung A-1 (a) in Anhang A im elektronischen Zusatzmaterial) oder ein anderes Regressionsmodell repräsentiert wird, kann bspw. der Trajectory-Optimization-Algorithmus als modellbasierter Ansatz verwendet werden. Sofern das RL-Problem als vollständig differenzierbares Modell abbildbar ist, kann eine Entscheidungspolitik analytisch berechnet werden, indem die erhaltenen Belohnungen entlang der Sequenz von getroffenen Aktionen zu beobachteten Zuständen rückpropagiert werden. Für stochastische Umgebungen, bei welchen der Folgezustand für eine gewählte Aktion variieren kann, ist es möglich ein Modell auf Basis eines Gauß-Prozesses oder eines tiefen KNN anzulernen, welches die stochastische Dynamik der Umgebung approximiert und mit dessen Hilfe verschiedene Aktionssequenzen im Voraus evaluiert werden können (François-Lavet et al. 2018, S. 265 f.). Die Funktionsweise von modellbasierten Ansätzen trägt der Zielstellung dieser Arbeit keine Rechnung, RL-Methoden für die echtzeitfähige Produktionsablaufplanung verfügbar zu machen. Aufgrund der Tatsache, dass die mit der Produktionsablaufplanung verbundenen Allokations- und Sequenzierungsprobleme diskreter Natur sind, käme theoretisch MCTS als modellbasierter Ansatz in Frage. Praktisch erfordert die iterative Auswertung von Lösungen und hierauf basierend die Konstruktion eines Entscheidungsbaums eine hohe Rechenzeit und schließt somit den echtzeitfähigen Einsatz von MCTS aus. Aus diesem Grund werden modellbasierte RL-Ansätze von einer detaillierteren Betrachtung ausgeschlossen.

Hingegen lernen modellfreie Ansätze ausschließlich aufgrund der direkten Interaktion mit der Umgebung und der erhaltenen Belohnung. Gradientenabhängige modelfreie Ansätze untergliedern sich in aktionsnutzen-bewertende, entscheidungspolitik-approximierende und hybride Verfahren. Diese werden in den Abschnitten 3.3.3, 3.3.4 und 3.3.5 näher erläutert. Grundvoraussetzung für die Anwendung gradientenabhängiger Verfahren ist, dass die Umgebung, mit welcher der Agent interagiert, ein sogenanntes Markov-Entscheidungsproblem repräsentiert.

3.3.1 Markov-Entscheidungsproblem

Ein Markov-Entscheidungsproblem (MEP) formalisiert einen zeitdiskreten stochastischen Steuerungsprozess als mathematisches Modell. Es existieren verschiedene MEP-Definitionen, u. a. von Hu und Yue (2008), Chang et al. (2013) und François-Lavet et al. (2018). Allen Definitionen liegt zugrunde, dass ein MEP mindestens durch einen 4-Tupel \(\left( {{\mathcal{S}},{ \mathcal{A}},{\mathcal{T}},{\mathcal{R}}} \right)\) beschrieben wird, wobei

  • \({\mathcal{S}}\) die Menge möglicher Zustände repräsentiert,

  • \({\mathcal{A}}\) die Menge möglicher Aktionen repräsentiert, wobei es sich um eine Obermenge der möglichen Aktionen für einen Zustand \(S_{t} \in {\mathcal{S}}\) handeln kann \({\mathcal{A}} \supseteq {\mathcal{A}}\left( {S_{t} } \right)\),

  • \({\mathcal{T}}:{\mathcal{S}} \times {\mathcal{A}} \times {\mathcal{S}} \to \left[ {0, 1} \right]\) die Übergangsfunktion repräsentiert, welche die Wahrscheinlichkeit angibt, von einem beliebigen Zustand \(S_{t} \in {\mathcal{S}}\) durch die Auswahl einer Aktion \(A_{t} \in {\mathcal{A}}\) in einen Folgezustand \(S_{t + 1} \in {\mathcal{S}}\) überzugehen, und

  • \({\mathcal{R}}:{\mathcal{S}} \times {\mathcal{A}} \times {\mathcal{S}} \to {\mathbb{R}}\) die Belohnungsfunktion repräsentiert, die den Übergang von einem beliebigen Zustand \(S_{t} \in {\mathcal{S}}\) in einen Folgezustand \(S_{t + 1} \in {\mathcal{S}}\) durch Auswahl einer Aktion \(A_{t} \in {\mathcal{A}}\left( {S_{t} } \right)\) bewertet.

Ferner liegt nur dann ein MEP vor, wenn die sogenannte »Markov-Eigenschaft« gilt, d. h. dass die Übergangswahrscheinlichkeit zu einem Folgezustand \(S_{t + 1}\) und die erhaltene Belohnung \(R_{t + 1}\) lediglich vom aktuellen Zustand \(S_{t}\) und der gewählten Aktion \(A_{t}\) abhängen, nicht jedoch von Zuständen und Aktionen beeinflusst werden, die weiter zurück in der Vergangenheit liegen. Es gilt somit \(p{(}S_{t + 1} , R_{t + 1} {|} S_{t} , A_{t} )\) (Sutton und Barto 2018, S. 48). Vor diesem Hintergrund gestaltet sich die Interaktion zwischen Agent und Umgebung gemäß Abbildung 3.5.

Abbildung 3.5
figure 5

Prozess des gradientenabhängigen bestärkenden Lernens (in Anlehnung an Sutton und Barto 2018, S. 48)

Die Interaktion verläuft in diskreten Zeitschritten \(t = 0, 1, 2, \ldots , T\). Zu jedem Zeitschritt \(t\) beobachtet der Agent den Zustand der Umgebung \(S_{t}\) und wählt eine Aktion \(A_{t} \in {\mathcal{A}}\left( {S_{t} } \right)\). Durch Anwendung einer Aktion erhöht sich die Zeit inkrementell \(t + 1\) und die Umgebung geht in den Folgezustand \(S_{t + 1}\) über. Zeitgleich wird eine Belohnung \(R_{t + 1}\) für die im vergangenen Zeitschritt gewählte Aktion \(A_{t}\) ausgegeben. Zum Zweck der Übersichtlichkeit und Verständlichkeit vernachlässigt Abbildung 3.5, dass zum Zeitpunkt \(t\) (sofern \(t \ne 0)\) eine Belohnung \(R_{t}\) für die Aktion \(A_{t - 1}\) ausgegeben wird.

3.3.2 Nutzenfunktion

Im Allgemeinen verfolgen gradientenabhängige RL-Ansätze die Zielstellung, ausgehend von einem aktuellen Zeitpunkt \(t\), die Summe der in Zukunft erhaltenen Belohnungen \(G_{t} = R_{t + 1} + R_{t + 2} + \ldots + R_{T}\) durch Auswahl geeigneter Aktionen zu maximieren. Hierbei werden gewöhnlich zukünftige Belohnungen mit einem Faktor \(0 < \gamma \le 1\) exponentiell zum Zeitschritt diskontiert, sodass gilt:

$$G_{t} = R_{t + 1} + \gamma R_{t + 2} + \gamma^{2} R_{t + 3} + \ldots = \mathop \sum \limits_{k = 1}^{\infty } \gamma^{k - 1} R_{t + k}$$
(3.1)

Zum einen hat die Diskontierung einen mathematischen Hintergrund, weil in nichtterminierten Umgebungen, in welchen kein definierter Endzustand existiert (z. B. ein Produktionssystem mit rollierendem Auftragshorizont), die Summe erhaltener Belohnungen ohne Diskontierung gegen unendlich laufen würde. Damit ein RL-Verfahren konvergiert, ist es jedoch notwendig, dass die Summe erhaltener Belohnung gegen einen Grenzwert verläuft. Zum anderen werden oftmals auch in terminierten Umgebungen Belohnungen diskontiert, um Belohnungen in naher Zukunft gegenüber Belohnungen in ferner Zukunft zu priorisieren (Pardo et al. 2018; Sutton und Barto 2018, S. 54 f.)

Die von gradientenabhängigen RL-Ansätzen verfolgte Zielstellung stellt somit ein dynamisches Stufenoptimierungsproblem dar, welches theoretisch mithilfe von DP-Verfahren (siehe Abschnitt 2.3.3.1) exakt gelöst werden kann. Die optimale kumulierte Belohnung \(G_{t}^{*}\), gemessen ab dem aktuellen Zeitschritt \(t\), ergibt sich aus der Sequenz von Aktionen, welche die erhaltene Belohnung in Summe maximiert.

$$G_{t}^{*} = \mathop {{\text{max}}}\limits_{{\left\{ {a_{k} } \right\}_{k = t}^{\infty } }} \mathop \sum \limits_{k = t}^{\infty } \gamma^{k - 1} {\mathcal{R}}(S_{k} , a_{k} )$$
(3.2)

Es sei darauf hingewiesen, dass diejenige Aktion in Zeitschritt \(k\), die in \(k + 1\) die maximale Belohnung ausschüttet, nicht zwingend die optimale Auswahl darstellt. Aufgrund der Tatsache, dass aus unterschiedlichen Aktionen unterschiedliche Folgezustände resultieren, kann z. B. die Auswahl einer schlechteren Aktion zu einem Folgezustand führen, in dem wiederum die beste Aktion eine wesentlich höhere Belohnung verspricht als die jeweils maximal verfügbare Belohnung in anderen Zuständen. Hieraus resultiert ein komplexer Entscheidungsbaum, der im äußersten Fall \({\mathcal{A}}^{T}\) potenzielle Lösungen für den Zeithorizont \(T\) enthält, unter der Annahme, dass in jedem Zustand \(S_{t}\) alle Aktionen \({\mathcal{A}}\) zur Auswahl stehen. Der Lösungsraum wächst somit exponentiell in Abhängigkeit vom betrachteten Zeithorizont. In vielen Problemen sind der Zustands- und Aktionsraum sowie der betrachtete Zeithorizont zu groß, als dass alle möglichen Entscheidungssequenzen zur Identifizierung des Optimums in annehmbarer Zeit durchprobiert werden können. Um dieses Problem zu lösen, machen sich DP-Verfahren im Allgemeinen und RL-Verfahren im Speziellen das Optimalitätsprinzip von Bellman zu Nutze, welches für alle dynamischen Optimierungsprobleme gilt, die als MEP modelliert werden können. Es besagt (Bellman 1957, S. 83): „An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision“. Sinngemäß übersetzt: Eine optimale Entscheidungspolitik besitzt die Eigenschaft, dass, unabhängig von dem initialen Zustand und der ersten Entscheidung, die verbleibenden Entscheidungen eine optimale Entscheidungspolitik in Abhängigkeit von der ersten Entscheidung des resultierenden Folgezustands bilden müssen. Hieraus folgt, dass sich eine optimale Entscheidungspolitik aus optimalen Teilpolitiken zusammensetzt (Lew und Mauch 2007, S. 5). Formel (3.2) kann somit wie folgt umformuliert werden, sodass die erste Entscheidung zum Zeitpunkt \(t\) von allen zukünftigen Entscheidungen ab \(k = \left( {t + 1, t + 2, \ldots , T} \right)\) separiert wird.

$$G_{t}^{*} = \mathop {\max }\limits_{{a_{t} }} {\mathcal{R}}(S_{t} ,{ }a_{t} ) + \gamma \left( {\mathop {{\text{max}}}\limits_{{\left\{ {a_{k} } \right\}_{k = t + 1}^{\infty } }} \mathop \sum \limits_{k = t + 1}^{\infty } \gamma^{k - 1} {\mathcal{R}}(S_{k} ,{ }a_{k} )} \right)$$
(3.3)

Bei Betrachtung von Formel (3.2) und (3.3) wird ersichtlich, dass Formel (3.2) dem rechten Term in Formel (3.3) für \(k = t + 1\) entspricht. Formel (3.2) für \(k = t + 1\) kann wiederum in Formel (3.3) überführt werden. Hieraus folgt, dass es sich bei Formel (3.3) um eine rekursive Funktion handelt, die wie folgt vereinfacht werden kann.

$$v_{*} \left( {S_{t} } \right) = \mathop {\max }\limits_{{a_{t} }} {\mathcal{R}}(S_{t} , a_{t} ) + \gamma v_{*} \left( {S_{t + 1} } \right)$$
(3.4)

Es handelt sich bei Formel (3.4) um die sogenannte Bellman-Gleichung, wobei \(v_{*} \left( {S_{t} } \right)\) für einen beobachteten Zustand \(S_{t}\) die Gesamtbelohnung in der Zukunft unter Einhaltung der optimalen Entscheidungspolitik wiedergibt. Die Funktion von \(v_{*} \left( {S_{t + 1} } \right)\) wird auch als Zustandsnutzenfunktion (unter optimaler Entscheidungspolitik \(*\)) genannt, da sie den Nutzen \(V\) (vom englischen Begriff »Value«) eines Zustands bewertet. Die Bellman-Gleichung ist eine Funktionalgleichung (vgl. Dempe und Schreier 2006, S. 210; Domschke et al. 2015, S. 172), d. h. eine Gleichung, die aus einer endlichen Anzahl von unbekannten Funktionen und unabhängigen Variablen besteht (Aczél 1960, S. 19). Die Lösung der Bellman-Gleichung bedeutet die unbekannte Funktion \(V\) zu ermitteln, welche ausgehend von einem Anfangszustand die maximal mögliche Belohnung in der Zukunft berechnet (Sutton und Barto 2018, S. 60).

Vor diesem Hintergrund versuchen gradientenabhängige RL-Verfahren durch Interaktion mit der Umgebung und auf Basis erhaltener Belohnungen die Nutzenfunktion zu approximieren. Es existieren zwei Varianten von Nutzenfunktionen (Sutton und Barto 2018, S. 58). Die Zustandsnutzenfunktion \(v_{\pi } \left( s \right)\) schätzt die kumulierte zukünftige Belohnung, ausgehend von Zustand \(s\) und unter Anwendung von Entscheidungspolitik \(\pi\).

$$v_{\pi } \left( s \right) = {\mathbb{E}}_{\pi } {[}G_{t} {|} S_{t} = s] = {\mathbb{E}}_{\pi } \left[ {\mathop \sum \limits_{k = 1}^{\infty } \gamma^{k - 1} R_{t + k} | S_{t} = s} \right]$$
(3.5)

Hierbei definiert \({\mathbb{E}}_{\pi } \left[ \cdot \right]\) den Erwartungswert für eine Zufallsvariable. Im Fall von Formel (3.5) handelt es sich um den Erwartungswert der kumulierten zukünftigen Belohnung ab Zeitpunkt \(t\), unter der Voraussetzung, dass der Agent Entscheidungspolitik \(\pi\) anwendet. Die zweite Variante ist die Aktionsnutzenfunktion \(q_{\pi } \left( {s,a} \right)\), die ausgehend von einem Zustand \(s\) die kumulierte zukünftige Belohnung für die Auswahl von Aktion \(a\) schätzt, unter der Annahme, dass nach Anwendung von Aktion \(a\) die Entscheidungspolitik \(\pi\) weiterverfolgt wird.

$$q_{\pi } \left( {s,{ }a} \right) = {\mathbb{E}}_{\pi } {[}G_{t} { | }S_{t} = s,{ }A_{t} = a] = { }{\mathbb{E}}_{\pi } \left[ {\mathop \sum \limits_{k = 1}^{\infty } \gamma^{k - 1} R_{t + k} { }|{ }S_{t} = s,{ }A_{t} = a} \right]$$
(3.6)

Ob, welche und wie eine Nutzenfunktion angewandt wird, ist abhängig von der jeweiligen RL-Verfahrensklasse. Im Folgenden sollen diese erklärt und anhand einiger Beispiele demonstriert werden.

3.3.3 Aktionsnutzen-bewertende Verfahren

Die Zielstellung von aktionsnutzen-bewertenden (ANB) RL-Verfahren besteht darin die Aktionsnutzenfunktion \(q_{\pi } \left( {s, a} \right)\) für ein sequenzielles Entscheidungsproblem zu erlernen. Die eigentliche Entscheidungspolitik wird von der gelernten Aktionsnutzenfunktion abgeleitet (François-Lavet et al. 2018, S. 242). In der Regel wird die Aktion mit dem höchsten prognostizierten Aktionsnutzen ausgewählt, d. h. mit der höchsten prognostizierten kumulierten Belohnung in der Zukunft. Im Folgenden soll das Prinzip der ANB-Verfahren anhand des DQN-Algorithmus erklärt werden.

Der DQN (Deep Q-Networks) -Algorithmus wurde erstmals von Mnih et al. (2013) vorgestellt. Bekannter jedoch ist der Folgeartikel (Mnih et al. 2015), in welchem die Methode detaillierter erklärt wird. DQN baut konzeptionell auf dem Q-Learning-Algorithmus von Watkins (1989) auf. Sowohl DQN als auch das klassische Q-Learning beruhen auf der Annahme, dass der Aktionsraum eines Agenten endlich und diskret ist. Für einen gegebenen Zustand bewerten beide Algorithmen die Vorteilhaftigkeit jeder möglichen Aktion. Der Agent wählt entweder die Aktion mit dem höchsten Nutzen oder eine zufällige Aktion. Die Auswahl der Aktion mit dem höchsten Nutzen repräsentiert die von der Aktionsnutzenfunktion abgeleitete Entscheidungspolitik. Die Auswahl zufälliger Aktionen ist notwendig, um den Lösungsraum zu erkunden. Mit fortschreitender Zeit sinkt jedoch die Wahrscheinlichkeit, eine zufällige Aktion zu wählen. Der Hauptunterschied zwischen dem Q-Learning- und dem DQN-Verfahren liegt im verwendeten Agentenmodell. Beim Q-Learning wird der Agent i. d. R. durch eine Tabelle dargestellt (Watkins und Dayan 1992). Hingegen wird bei DQN der Agent durch ein tiefes KNN repräsentiert. Darüber hinaus besitzt DQN einige weitere Komponenten, die den Lernprozess unterstützen. Abbildung 3.6 illustriert die Architektur und den Ablauf des DQN-Algorithmus.

Der Trainingsprozess gestaltet sich wie folgt: Durch die Interaktion zwischen dem Agenten und seiner Umgebung werden BeobachtungenFootnote 1 generiert, die im Erfahrungsspeicher gesammelt werden. Eine Beobachtung ist ein 5-Tupel, bestehend aus dem Zustand \(S_{t}\), der gewählten Aktion \(A_{t}\), der erhaltenen Belohnung \(R_{t + 1}\), dem resultierenden Folgezustand \(S_{t + 1}\) und dem Binärwert \(ENDE_{t + 1}\), der signalisiert, ob die Umgebung in \(S_{t + 1}\) terminiert. Immer dann, wenn eine neue Beobachtung dem Erfahrungsspeicher hinzugefügt wird (und sofern der Erfahrungsspeicher bereits eine ausreichende Anzahl an Beobachtungen enthält), wird ein Trainingsschritt durchgeführt. Zu diesem Zweck wird ein Los mit zufälligen Beobachtungen aus dem Erfahrungsspeicher generiert. Die Zustände \(S_{t}\) und Folgezustände \(S_{t + 1}\) werden vorwärts durch zwei unterschiedlich parametrisierte KNN \(q_{\pi } \left( {s,a;\theta } \right)\) und \(q_{\pi } \left( {s,a;\theta^{ - } } \right)\) propagiert, um die entsprechenden Aktionsnutzen \(Q_{t}\) und \(Q_{t + 1}\) zu bestimmen. Beide KNN haben zum Ziel, die Aktionsnutzenfunktion \(q_{\pi }\) zu approximieren. Das KNN \(q_{\pi } \left( {s,a;\theta } \right)\) repräsentiert den anzulernenden Agenten, der auch außerhalb des Trainingsprozesses eingesetzt werden soll. Bei \(q_{\pi } \left( {s,a;\theta^{ - } } \right)\) handelt es sich um eine Kopie von \(q_{\pi } \left( {s,a;\theta } \right)\), dessen trainierbaren Parameter maximal \(c\) Zeitschritte in der Vergangenheit von \(q_{\pi } \left( {s,a;\theta } \right)\) liegen. Das KNN \(q_{\pi } \left( {s,a;\theta^{ - } } \right)\) kommt lediglich während des Trainings zum Einsatz. \(Q_{t}\) und \(Q_{t + 1}\) sind \(\left| {\mathcal{A}} \right|\)-dimensionale Vektoren, wobei jedes Vektorelement die erwartete kumulierte Belohnung in der Zukunft für die Auswahl der entsprechenden Aktion beschreibt. \(Q_{t}\) und \(Q_{t + 1}\) werden für die Berechnung eines Fehlersignals verwendet, das mittels Backpropagation durch das KNN \(q_{\pi } \left( {s,a;\theta } \right)\) rückgeführt wird. Vor diesem Hintergrund werden für die Berechnung von \(Q_{t}\) und \(Q_{t + 1}\) unterschiedlich parametrisierte KNN verwendet, um unerwünschte Korrelationen zwischen \(Q_{t}\) und \(Q_{t + 1}\) und damit einhergehend Oszillationen und Divergenzen im Trainingsprozess zu vermeiden. Im Vergleich zum konventionellen Q-Learning, das ohne einen zusätzlichen Ziel-Aktionsnutzenfunktion-Approximator \(q_{\pi } \left( {s,a;\theta^{ - } } \right)\) arbeitet und bei welchem eine Veränderung von \(Q_{t}\) oftmals zu einer ähnlichen und gleichgerichteten Veränderung von \(Q_{t + 1}\) führt, wird auf diese Weise der Trainingsprozess stabilisiert.

Abbildung 3.6
figure 6

DQN-Architektur und algorithmischer Ablauf (in Anlehnung an Lang et al. 2020a)

Die Berechnung des Fehlersignals erfolgt in zwei Schritten. Im ersten Schritt wird die Zielgröße \(U_{t}\) für den Nutzen der gewählten Aktion \(Q_{{t,A_{t} }}\) mit der folgenden Formel geschätzt.

$$U_{t} = R_{t + 1} + \left( {1 - ENDE_{t + 1} } \right) \gamma \max Q_{t + 1}$$
(3.7)

Formel (3.7) entspricht der Bellman-Gleichung (3.4), wobei die Rekursivfunktion des zweiten Terms durch \(\max Q_{t + 1}\) angenähert wird. Des Weiteren bildet Formel (3.7) zwei Fälle ab. Sofern die Umgebung in \(S_{t + 1}\) terminiert (\(ENDE_{t + 1} = 1)\), wird lediglich die Belohnung \(R_{t + 1}\) als Trainingslabel verwendet. Andernfalls wird zusätzlich die diskontierte maximal erwartete Belohnung für den Folgezustand \(S_{t + 1}\) aufaddiert. Der Fehler der Ausgabeschicht \(L\) des Agenten berechnet sich wie folgt.

$$\delta^{\left( L \right)} = \left( {U_{t} - Q_{{t, A_{t} }} } \right)^{2}$$
(3.8)

Durch das Backpropagation-Verfahren werden nun die Gradienten von \(q_{\pi } \left( {s,a;\theta } \right)\) ermittelt und die Parameter des KNN aktualisiert. Das geschilderte Lernverfahren wird als »Temporal-Difference (TD) Learning« bezeichnet. Es zeichnet sich dadurch aus, dass für die Berechnung des Fehlersignals nicht die tatsächlich kumulierte Belohnung in der Zukunft \(G_{t}\), sondern lediglich der prognostizierte Aktionsnutzen im darauffolgenden Zeitschritt \(t + 1\) berücksichtigt wird (Sutton und Barto 2018, S. 119). Der Lernprozess wiederholt sich für jeden Zeitschritt über mehrere EpisodenFootnote 2. Der Ziel-Aktionsnutzenfunktion-Approximator \(q_{\pi } \left( {s,a;\theta^{ - } } \right)\) wird aktualisiert, indem dessen Parameter nach \(n\) Zeitschritten (wobei \(n\) freiwählbar ist, jedoch größer eins sein sollte) durch die Parameter des Aktionsnutzenfunktion-Approximator \(q_{\pi } \left( {s,a;\theta } \right)\) überschrieben werden.

Bei DQN handelt es sich um eine sogenannte Off-Policy-Methode, d. h., dass der Algorithmus nicht mit Trainingsbeispielen lernt, die aus der aktuellen Entscheidungspolitik \(\pi\) resultieren. Wie bereits beschrieben generiert DQN stattdessen Trainingslose aus dem Erfahrungsspeicher, der ebenfalls Beobachtungen enthalten kann, die der Agent mit vergangenen Parametern \(\theta^{ - }\) gesammelt hat. Hingegen ist die ursprüngliche Version des SARSA-Algorithmus, die ebenfalls zu den ANB-Methoden zählt, als On-Policy-Methode klassifiziert, da diese auf einen Erfahrungsspeicher verzichtet und ausschließlich mit Beobachtungen trainiert, die mit den aktuellen Parametern \(\theta\) gesammelt wurden.

3.3.4 Entscheidungspolitik-approximierende Verfahren

In entscheidungspolitik-approximierenden (EPA) Verfahren verfolgt das Agentenmodell die Zielstellung die Entscheidungspolitik direkt zu lernen. Hieraus resultiert, dass die Auswahl einer Aktion \(a\) nicht mehr ausschließlich vom aktuellen Zustand \(s\), sondern ebenfalls von den momentanen Agentenparametern \(\theta\) abhängt, sodass die Entscheidungspolitik als \(\pi (a|s,\theta )\) definiert ist. Im Gegensatz zu ANB-Verfahren wird die Entscheidungspolitik nicht mehr implizit aus einer angelernten Aktionsnutzenfunktion abgeleitet, sondern explizit durch den Agenten repräsentiert. Die Ausgabe des Agenten entspricht somit nicht mehr der erwarteten zukünftigen kumulierten Belohnung für jede mögliche Aktion (Sutton und Barto 2018, S. 321). Stattdessen repräsentiert sie bei deterministischen Verfahren die unmittelbare Aktion. Hingegen wird bei stochastischen Verfahren die Agentenausgabe als Parameter einer Wahrscheinlichkeitsverteilung interpretiert, mit welcher zufällige Aktionen generiert werden (vgl. Silver et al. 2014). Bei Problemen mit diskreten Aktionsräumen werden i. d. R. die Parameter einer multinominalen Verteilung gesucht, während bei kontinuierlichen Problemen gewöhnlich die Parameter einer Normalverteilung prognostiziert werden (Arulkumaran et al. 2017).

Vor diesem Hintergrund sind die Lernkonzepte von ANB- und EPA-Verfahren grundlegend unterschiedlich. Während bei ANB-Verfahren der Fehler zwischen den erwarteten und prädiktierten Aktionsnutzen mittels Gradientenabstieg minimiert werden soll, haben EPA-Verfahren das Ziel, auf Basis einer agentenparameterabhängigen Performanzfunktion \(J\left( \theta \right)\) die Güte einer Entscheidungspolitik per Gradientenaufstieg zu maximieren.

$$\theta ^{\prime} = \theta + \alpha \widehat{\nabla J\left( \theta \right)}$$
(3.9)

Hierbei entsprechen \(\theta\) bzw. \(\theta ^{\prime}\) den Agentenparametern vor bzw. nach der Aktualisierung, \(\alpha\) der Lernrate und \(\widehat{\nabla J\left( \theta \right)}\) dem Gradienten einer geschätzten Performanzfunktion (Sutton und Barto 2018, S. 322). Das Hauptproblem von EPA-Verfahren ist, dass die Performanzfunktion \(J\left( \theta \right)\) unbekannt ist. Gesucht wird eine Funktion, welche die kumulierte Belohnung über alle Zustände und Aktionen in Abhängigkeit von den Agentenparametern \(\theta\) maximiert, sodass eine gradientenabhängige Änderung der Agentenparameter zu einer Verbesserung der Entscheidungspolitik führt. Anders ausgedrückt wird eine \(\theta\)-abhängige Variante von Formel (3.3) gesucht, welche die optimale Gesamtbelohnung \(G_{t}^{*}\) ermittelt. Für stochastische EPA-Verfahren adressieren Sutton et al. (1999) dieses Problem mit dem »Policy Gradient Theorem«, das den folgenden mathematischen Zusammenhang beweist.

$$\nabla J\left( \theta \right) \propto \mathop \sum \limits_{s} \left( {\mu \left( s \right)\mathop \sum \limits_{a} q_{\pi } \left( {s, a} \right)\nabla \pi \left( {a{|}s;\theta } \right)} \right)$$
(3.10)

Formel (3.10) besagt, dass sich der Gradient der unbekannten Performanzfunktion \(\nabla J\left( \theta \right)\) proportional verhält zum Summenprodukt der Eintrittswahrscheinlichkeit eines Umgebungszustands \(\mu \left( s \right)\) sowie des inneren Summenprodukts der prognostizierten Aktionsnutzen \(q_{\pi } \left( {s, a} \right)\) und der Gradienten der Entscheidungspolitik \(\nabla \pi (a|s;\theta )\). Um nun eine Entscheidungspolitik \(\pi \left( {a{|}s;\theta } \right)\) zu approximieren, ist es nicht notwendig, die Eintrittswahrscheinlichkeiten des kompletten Zustandsraums (äußere Summe über \(s\)), geschweige denn den Nutzen jeder Aktion in jedem Zustand (innere Summe über \(a\)) zu kennen. Zunächst kann sich die Tatsache zu Nutze gemacht werden, dass sich die Wahrscheinlichkeit für den Eintritt eines Zustands \(\mu \left( s \right)\) folgendermaßen berechnet (Sutton und Barto 2018, S. 199).

$$\mu \left( s \right) = \frac{\eta \left( s \right)}{{\mathop \sum \nolimits_{s^{\prime}} \eta \left( {s^{\prime}} \right)}}$$
(3.11)

Hierbei repräsentiert \(\eta \left( s \right)\) eine Funktion, die wiedergibt, wie oft ein Zustand \(s\) eingetreten ist. Demzufolge wirkt \(\mu \left( s \right)\) als gewichtender Koeffizient, der sich über die äußere Summe von Formel (3.10) zu eins aufaddiert. Die folgende Formel (3.12) verdeutlicht, dass die rechte Seite von Formel (3.10) einem gewichteten Mittelwert über den Zustandsraum \({\mathcal{S}}\) entspricht. Ferner folgt hieraus in Formel (3.13), dass sich ein auf Zustandsstichproben (\(S_{t}\)) basierender Erwartungswert \({\mathbb{E}}_{\pi } \left[ \cdot \right]\) ebenfalls proportional zum Performanzgradienten verhalten muss (vgl. Sutton und Barto 2018, S. 326).

$$\nabla J\left( \theta \right) \propto \mathop \sum \limits_{s} \left( {\mu \left( s \right)\mathop \sum \limits_{a} q_{\pi } \left( {s, a} \right)\nabla \pi \left( {a{|}s;\theta } \right)} \right)$$
(3.10)
$$\propto \mathop \sum \limits_{s} \left( {\frac{{\eta \left( s \right)\mathop \sum \nolimits_{a} q_{\pi } \left( {s, a} \right)\nabla \pi (a|s;\theta )}}{{\mathop \sum \nolimits_{s^{\prime}} \eta \left( {s^{\prime}} \right)}}} \right)$$
(3.12)
$$\propto {\mathbb{E}}_{\pi } \left[ {\mathop \sum \limits_{a} q_{\pi } \left( {S_{t} , a} \right)\nabla \pi \left( {a{|}S_{t} ;\theta } \right)} \right]$$
(3.13)

Darüber hinaus kann auch die innere Summe über \(a\) durch Formulierung eines Erwartungswerts eliminiert werden. Analog zu Formel (3.12) ist hierfür eine gewichtete Mittelung über den Zustandsraum \({\mathcal{A}}\) erforderlich. Als Gewichtungskoeffizient eignet sich der Term \(\pi \left( {a{|}s;\theta } \right)\), siehe Formel (3.14). Nun kann, wie in Formel (3.15) dargestellt, ein auf Aktionsstichproben (\(A_{t}\)) basierender Erwartungswert kalkuliert werden, der sich ebenfalls proportional zum Performanzgradienten verhält. Aus Formel (3.6) ist bereits bekannt, dass für einen eingetretenen Zustand \(S_{t}\) und eine gewählte Aktion \(A_{t}\) der Aktionsnutzen \(q_{\pi } \left( {S_{t} , A_{t} } \right)\) dem Erwartungswert der kumulierten Gesamtbelohnung \({\mathbb{E}}_{\pi } \left[ {G_{t} } \right]\) ab Zeitpunkt \(t\) entspricht. Sofern die Umgebung irgendwann in einem finalen Zustand \(S_{T}\) terminiert, kann die Gesamtbelohnung \(G_{t}\) durch Anwendung der Entscheidungspolitik \(\pi\) ab \(S_{t}\) bis \(S_{T}\) beobachtet werden. Vor diesem Hintergrund ist das Training eines Approximators der Aktionsnutzenfunktion \(q_{\pi } \left( {s, a} \right)\) nicht notwendig, siehe Formel (3.16). Ausgehend von Formel (3.13) kann die rechte Seite des ursprünglichen Policy Gradient Theorem (3.10) wie folgt vereinfacht werden (vgl. Sutton und Barto 2018, S. 327).

$$\nabla J\left( \theta \right) \propto {\mathbb{E}}_{\pi } \left[ {\mathop \sum \limits_{a} q_{\pi } \left( {S_{t} , a} \right)\nabla \pi \left( {a{|}S_{t} ;\theta } \right)} \right]$$
(3.13)
$$\propto {\mathbb{E}}_{\pi } \left[ {\mathop \sum \limits_{a} \left( {\frac{{\pi (a|S_{t} ;\theta )q_{\pi } \left( {S_{t} ,a} \right) \nabla \pi (a|S_{t} ;\theta )}}{{\mathop \sum \nolimits_{a^{\prime}} \pi (a^{\prime}|S_{t} ;\theta )}}} \right)} \right]$$
(3.14)
$$\propto {\mathbb{E}}_{\pi } \left[ {q_{\pi } \left( {S_{t} , A_{t} } \right)\frac{{\nabla \pi (A_{t} |S_{t} ;\theta )}}{{\pi (A_{t} |S_{t} ;\theta )}}} \right]$$
(3.15)
$$\propto {\mathbb{E}}_{\pi } \left[ {G_{t} \frac{{\nabla \pi (A_{t} |S_{t} ;\theta )}}{{\pi (A_{t} |S_{t} ;\theta )}}} \right]$$
(3.16)

Formel (3.16) findet u. a. im REINFORCE-Algorithmus (Williams 1988, 1992) Anwendung, um die Parameter eines EPA-Agenten zu aktualisieren. Bezugnehmend auf Formel (3.9) definiert sich die Aktualisierungsvorschrift im REINFORCE-Algorithmus gemäß Formel (3.17), wobei der Gradient in Abhängigkeit vom Zeitschritt mit \(\gamma^{t}\) diskontiert wird. Der Einfachheit halber wird in der Literatur der Gradient oftmals in der verkürzten logarithmischen Form angegeben, siehe Formel (3.18). Dies ist zulässig, da \(\nabla \ln x\) und \(\nabla {{x}}/x\) äquivalent zueinander sind (Sutton und Barto 2018, S. 327 f.).

$$\theta_{t + 1} = \theta_{t} + \alpha \gamma^{t} G_{t} \frac{{\nabla \pi (A_{t} |S_{t} ;\theta )}}{{\pi (A_{t} |S_{t} ;\theta )}}$$
(3.17)
$$= \theta_{t} + \alpha \gamma^{t} G_{t} \nabla \log \pi (A_{t} |S_{t} ;\theta )$$
(3.18)

Der Ablauf des REINFORCE-Algorithmus ist vergleichsweise einfach. Zunächst wird die Entscheidungspolitik \(\pi (a|s;\theta )\) (Agent) mit beliebigen \(\theta\)-Werten initialisiert. Danach werden die folgenden Schritte wiederholt, bis der Agent zu einer lokalen optimalen Entscheidungspolitik konvergiert: (i) Der Agent und die Umgebung interagieren über eine vollständige Episode (von \(t = 0\) bis \(T\)) miteinander, wobei der Agent die aktuelle Entscheidungspolitik \(\pi (a|s;\theta )\) verfolgt. Die dabei resultierende Trajektorie \(S_{0} , A_{0} , R_{1} , S_{1} , A_{1} , R_{2} , \ldots , S_{T - 1} , A_{T - 1} , R_{T}\) wird gespeichert. (ii) Die Trajektorie wird für jeden Zeitschritt durchlaufen, wobei in jedem Zeitschritt die kumulierte Belohnung \(G_{t}\) gemäß Formel (3.1) berechnet wird und die Agentenparameter \(\theta\) gemäß Formel (3.18) aktualisiert werden. (iii) Die Umgebung wird in den Anfangszustand \(S_{0}\) zurückversetzt.

Der erste Nachteil von REINFORCE ist dessen geringe Konvergenzgeschwindigkeit. Das Verfahren muss gewöhnlich eine hohe Anzahl von Episoden durchlaufen, da die Monte-Carlo-basierte Schätzung des Gradienten einer hohen Varianz unterliegt (Sutton et al. 1999; François-Lavet et al. 2018, S. 256).

Der zweite Nachteil von REINFORCE ist, dass der Agent lediglich eine stochastische Entscheidungspolitik erlernen kann. Wie bereits erwähnt gilt das Policy Gradient Theorem in Formel (3.10) nur für stochastische EPA-Verfahren. Darüber hinaus existiert das Policy Gradient Theorem für deterministischen EPA-Verfahren, welches von Silver et al. (2014) hergeleitet und in Formel (3.19) dargestellt ist. Um eine proportionale Verhältnismäßigkeit zum Performanzgradienten herzustellen, wird zusätzlich der Gradient der Aktionsnutzenfunktion benötigt.

$$\nabla J\left( \theta \right) \propto {\mathbb{E}}_{\pi } \left[ {\nabla \pi \left( {s;\theta } \right)\nabla q_{\pi } \left( {s, a} \right)} \right]$$
(3.19)

Da REINFORCE die Aktionsnutzen nicht funktional schätzt, sondern direkt durch Interaktion mit der Umgebung ermittelt, besitzt das Verfahren keine Informationen über die Aktionsnutzenfunktion (respektive ihres Gradienten) und kann demzufolge nicht für das Anlernen von deterministischen Entscheidungspolitiken eingesetzt werden.

Im Folgenden soll eine dritte Art von gradientenabhängigen modellfreien RL-Verfahren diskutiert werden, welche die beiden Nachteile adressiert.

3.3.5 Actor-Critic-Verfahren

Actor-Critic (AC) -Verfahren kombinieren die Vorteile von ANB- und EPA-Verfahren, indem sie zwei ML-Modelle lernen: Das sogenannte »Actor«-Modell, das die Entscheidungspolitik und gleichzeitig den mit der Umwelt interagierenden Agenten repräsentiert, sowie das sogenannte »Critic«-Modell, das verfahrensabhängig entweder die Zustandsnutzenfunktion \(v_{\pi } \left( {s;\theta } \right)\) oder die Aktionsnutzenfunktion \(q_{\pi } \left( {s,a;\theta } \right)\) erlernt. Im Gegensatz zu klassischen EPA-Verfahren wie REINFORCE sind AC-Verfahren zum Lernen nicht auf die tatsächliche Gesamtbelohnung \(G_{t}\) angewiesen. Sie müssen demzufolge keine vollständige Episode der Umgebung beobachten. Stattdessen verwenden sie das Critic-Modell, um die kumulierte Belohnung in der Zukunft zu prognostizieren, sowie TD-Techniken zur Generierung von Lernsignalen. Somit sind AC-Verfahren nicht auf episodische RL-Probleme beschränkt, sondern können ebenfalls für Probleme angewandt werden, bei welchen die Umgebung in keinem finalen Zustand \(S_{T}\) terminiert. Erste Steuerungsansätze, die nach dem AC-Prinzip arbeiten, werden bereits in den Arbeiten von Witten (1977) und Barto et al. (1983) diskutiert. Die Bezeichnung »Actor-Critic«, die als Oberbegriff ebensolche hybriden RL-Verfahren zusammenfasst, wurde mutmaßlich durch Williams und Baird III (1993) eingeführt und insbesondere durch die Arbeiten von Sutton et al. (1999) sowie von Konda und Borkar (1999) bzw. Konda und Tsitsiklis (1999) etabliert.

Die im ersten Absatz referenzierten Arbeiten beziehen sich im weitesten Sinne auf das ursprüngliche AC-Konzept, in welchem das Critic-Modell die Zustandsnutzenfunktion \(v_{\pi } \left( {s;\theta_{C} } \right)\) und das Actor-Modell eine stochastische Entscheidungspolitik \(\pi (a|s;\theta_{A} )\) lernt. Im Folgenden werden diese Verfahren als stochastische AC-Verfahren bezeichnet. Wie eingangs erwähnt sind AC-Verfahren im Allgemeinen nicht auf die tatsächliche Gesamtbelohnung \(G_{t}\) zur Verbesserung der Entscheidungspolitik angewiesen. Im Kontrast zum REINFORCE-Algorithmus verwenden stochastische AC-Verfahren im Speziellen das vereinfachte Policy Gradient Theorems in Formel (3.13), um die Parameter des Actor-Modells zu optimieren. Ferner nutzen stochastische AC-Verfahren gewöhnlich »N-Step-Bootstrapping« (Sutton und Barto 2018, S. 141) zur Generierung der erwarteten Aktionsnutzen \(U_{k}\) (entspricht dem ersten Term \(q_{\pi } \left( {S_{t} ;a} \right)\) in Formel (3.13)). N-Step-Bootstrapping repräsentiert eine Verallgemeinerung des TD-Lernverfahrens, welches bereits für den DQN-Algorithmus in Abschnitt 3.3.3 beschrieben wurde. Ausgehend von einem beliebigen Zustand \(S_{t}\) erstellt das Actor-Modell eine partielle Trajektorie über \(n\) Zeitschritte \(S_{t}\), \(A_{t}\), \(R_{t + 1}\), \(S_{t + 1}\), \(A_{t + 1}\), \(R_{t + 2}\), …, \(S_{{t + \left( {n - 1} \right)}}\), \(A_{{t + \left( {n - 1} \right)}}\), \(R_{t + n}\), \(S_{t + n}\). Das Critic-Modell prognostiziert für alle beobachteten Zustände die Zustandsnutzen \(V_{k} = v_{\pi } \left( {S_{k} } \right) \forall k = \left( {t, \ldots ,t + n} \right)\). Aufgrund der Tatsache, dass für die Zeitschritte \(t\) bis \(t + \left( {n - 1} \right)\) die gewählten Aktionen des Actor-Modells bekannt sind, können durch Rückwärtsrechnung, ausgehend vom letzten Zustandsnutzen \(V_{t + n}\), die Zielwerte der Aktionsnutzen wie folgt ermittelt werden.

$$U_{k} = \left\{ {\begin{array}{ll}V_{k} ,& falls~k = t + n \\R_{k + 1} + \gamma U_{k + 1}& sonst \end{array}} \quad \forall k = \left( { t + n, \ldots ,t} \right) \right.$$
(3.20)

Von den Ziel-Aktionsnutzen \(U_{k}\) werden die prognostizierten Zustandsnutzen \(V_{k}\) subtrahiert. Das Ergebnis ist der sogenannte »Advantage«. Auf Basis der Advantage-Werte können nun die Lernsignale für das Actor- und Critic-Modell generiert werden. Wie bereits erwähnt basiert die Parameteroptimierung des Actor-Modells auf dem Policy Gradient Theorem in Formel (3.13). Anstelle der prognostizierten Aktionsnutzen \(q_{\pi } \left( {S_{t} , a} \right)\) werden die Advantage-Werte zur Berechnung des Lernsignals verwendet. Hierbei repräsentieren die Advantage-Werte nichts Anderes als die Aktionsnutzen, die durch Subtraktion der prognostizierten Zustandsnutzen normalisiert wurden, um (im Gegensatz zum konventionellen REINFORCE-Algorithmus) die Varianz des Lernsignals zu reduzieren und somit das Konvergenzverhalten während des Trainings zu verbessern. Analog zur Berechnung des Fehlers der Agentenausgabe im DQN-Algorithmus (Formel (3.8)) ermittelt sich das Lernsignal des Critic-Modells durch Quadrieren des Advantages. Das geschilderte Lernprinzip wird ebenfalls von modernen DRL-Algorithmen verwendet, z. B. dem »Advantage Actor-Critic« (A2C) -Algorithmus sowie dessen asynchron parallelisierte Variante, dem A3C-Algorithmus (Mnih et al. 2016). Eine ausführliche Beschreibung des A2C-Algorithmus ist als Anhang B dem elektronischen Zusatzmaterial beigefügt.

Darüber hinaus existieren weitere stochastische AC-Verfahren, welche nach demselben Prinzip Advantage-Werte berechnen und das Critic-Modell aktualisieren, jedoch andere Konzepte zum Anlernen des Actor-Modells verfolgen. Dazu zählen z. B. der »Trust Region Policy Optimization« (TRPO) -Algorithmus (Schulman et al. 2015) sowie der auf derselben Idee basierende, jedoch mathematisch einfachere »Proximal Policy Optimization« (PPO) -Algorithmus (Schulman et al. 2017). Im Gegensatz zum A2C- und A3C-Algorithmus ändern TRPO und PPO die Parameter des Actor-Modells nicht ausschließlich auf Basis der aktuellen Entscheidungspolitik. Beide Verfahren basieren auf der Überlegung, dass bereits kleinste Veränderungen der Agentenparameter zu großen Veränderungen in der Entscheidungspolitik führen können. Vor diesem Hintergrund vergleichen TRPO und PPO für dieselbe Sequenz von Zuständen die Eintrittswahrscheinlichkeiten der jeweils gewählten Aktion \(A_{t}\) unter der aktuellen Entscheidungspolitik \(\pi (a|s;\theta\)) und unter den veralteten Entscheidungspolitik \(\pi (a|s;\theta^{ - } )\). Für die Gradientenbestimmung werden die Eintrittswahrscheinlichkeiten \(\pi (A_{t} |S_{t} ;\theta )\) und \(\pi (A_{t} |S_{t} ;\theta^{ - } )\) ins Verhältnis gesetzt und mit dem Advantage gewichtet. Das Ergebnis ist der sogenannte »Surrogate-Advantage«, welcher anstelle des Policy Gradient Theorem in Formel (3.13) für die Generierung des Actor-Lernsignals verwendet wird. Konkret verfolgen das TRPO- und PPO-Verfahren unterschiedliche Berechnungsvorschriften zur Bildung des Lernsignals. Der TRPO-Algorithmus löst näherungsweise mittels Taylor-Reihenentwicklung ein nichtlineares Optimierungsproblem, welches die Maximierung des Surrogate-Advantage postuliert, unter der Nebenbedingung, dass der Abstand zwischen \(\pi (A_{t} |S_{t} ;\theta )\) und \(\pi (A_{t} |S_{t} ;\theta^{ - } )\), gemessen über die Kullback-Leibler-Divergenz (Kullback und Leibler 1951), kleiner gleich einer benutzerdefinierten Schranke ist. Hingegen wendet der PPO-Algorithmus ein einfaches Clipping-Verfahren auf den Surrogate-Advantage an, um eine zu starke positive bzw. negative Differenz zwischen \(\pi (a|S_{t} ;\theta )\) und \(\pi (a|S_{t} ;\theta^{ - } )\) durch eine konstante obere bzw. untere Schranke zu begrenzen. Der PPO-Algorithmus wird in Kapitel 6 für ein Problem der Produktionsablaufplanung untersucht. Aus diesem Grund ist eine ausführliche Beschreibung des PPO-Algorithmus als Anhang C dem elektronischen Zusatzmaterial beigefügt.

Neben den stochastischen AC-Verfahen hat sich aufbauend auf dem deterministischen Policy Gradient Theorem (Silver et al. 2014) ein weiteres AC-Konzept etabliert, bei welchem das Actor-Modell eine deterministische Entscheidungspolitik \(\pi (s;\theta\)) und das Critic-Modell die Aktionsnutzenfunktion \(q_{\pi } (s,a;\theta\)) erlernt. Das erste und wohl populärste Verfahren dieser Art, das mehrschichtige KNN zur Repräsentation des Actor- und Critic-Modells verwendet, ist der »Deep Deterministic Policy Gradient« (DDPG) –Algorithmus (Lillicrap et al. 2015). Stellvertretend für die deterministischen EPA-Verfahren wird der DDPG-Algorithmus in Anhang D im elektronischen Zusatzmaterial detailliert dargelegt.

3.4 Gradientenfreies bestärkendes Lernen

Gemäß der dieser Arbeit zugrundeliegenden Taxonomie (Abbildung 3.4) existieren neben gradientenabhängigen RL-Verfahren ebenfalls gradientenfreie RL-Verfahren, deren Eigenschaften im Folgenden dargelegt werden. Es sei an dieser Stelle erwähnt, dass es keinen wissenschaftlichen Konsens hinsichtlich der Einteilung von RL-Verfahren in gradientenabhängige und gradientenfreie Ansätze zu geben scheint. In einigen Grundlagen- und Übersichtswerken finden gradientenfreie RL-Ansätze keine Erwähnung, z. B. (Sutton und Barto 2018; François-Lavet et al. 2018; Lorenz 2020), während andere populäre Arbeiten im Bereich diese explizit aufführen, z. B. (Schulman et al. 2015; Arulkumaran et al. 2017). Ein ausführlicher Übersichtsartikel zu gradientenfreien RL-Verfahren wurde erst jüngst von Qian und Yu (2021) unter der Bezeichnung »Derivative-Free Reinforcement Learning« (zu Deutsch: „Ableitungsfreies Bestärkendes Lernen“) veröffentlicht. Nach besten Wissen handelt es sich hierbei um die derzeit einzige Übersichtsarbeit zu diesem Thema. Wie in Kapitel 6 dieser Arbeit noch aufgezeigt wird, scheinen für einige Probleme der Produktionsablaufplanung gradientenfreie gegenüber gradientenabhängigen Methoden überlegen zu sein. Aus diesem Grund werden gradientenfreie RL-Ansätze in dieser Arbeit ebenfalls berücksichtigt.

Ihrer Bezeichnung entsprechend verzichten gradientenfreie RL-Verfahren auf die Berechnung von Gradienten für das Training von Agenten. Stattdessen verwenden sie stochastische bzw. stochastisch-heuristische Verfahren, mit welchen sie den Parameterraum größtenteils zufällig durchsuchen, anstatt sich – wie bei gradientenabhängigen Verfahren üblich – gerichtet zu einer (lokalen) optimalen Lösung zu bewegen. Ein weiterer Unterschied ist die Art und Frequenz der Belohnungsvergabe. Während in gradientenabhängigen RL-Ansätzen der Agent für jede Aktion eine Belohnung erhält, wird in gradientenfreien Ansätzen lediglich am Ende der Episode eine Belohnung vergeben. Der Grund ist, dass alle gradientenabhängigen RL-Methoden ein differenzierbares Lernsignal benötigen, von welchem sie die Gradienten der Agentenparameter ableiten, um diese zu optimieren. Die Zielfunktionen zur Optimierung von Produktionsablaufplänen (siehe Abschnitt 2.3.1.3) sind i. d. R. nicht differenzierbar. Stattdessen setzen gradientenabhängige RL-Methoden zur Generierung eines Lernsignals auf TD-Lernverfahren (siehe S. 45), bei welchen die Gradienten auf Basis der Differenz zwischen der erwarteten kumulierten Gesamtbelohnung \(V_{t}\), ausgehend vom aktuellen Zustand \(S_{t}\), und der erwarteten kumulierten Gesamtbelohnung \(V_{t + 1}\), ausgehend vom darauffolgenden Zustand \(S_{t + 1}\), berechnet werden. Das Optimierungsproblem wird auf diese Weise auf das Teilproblem reduziert, den Prognosefehler zwischen der erwarteten kumulierten Gesamtbelohnung zum aktuellen und zum darauffolgenden Zeitpunkt zu minimieren.

Weil hingegen gradientenfreie RL-Verfahren die Parameter eines Agenten stochastisch aktualisieren, sind diese nicht auf ein differenzierbares Lernsignal angewiesen und können somit eine Lösung unmittelbar anhand des eigentlichen Optimierungskriteriums bewerten. Dementsprechend unterscheidet sich ebenfalls die Interaktion zwischen Agent und Umwelt. Obgleich zur Lösungsgenerierung weiterhin eine Sequenz von Zuständen und Aktionen durchlaufen wird, ist es nicht notwendig für jede Aktion eine Belohnung zu berechnen. Wie in Abbildung 3.7 dargestellt, bewertet die Umgebung stattdessen die Güte von vollständigen Lösungskandidaten mit einer sogenannten »Fitness«, wobei diese i. d. R. kongruent mit der zu optimierenden Zielfunktion ist (Qian und Yu 2021).

Abbildung 3.7
figure 7

Prozess des gradientenfreien bestärkenden Lernens

Hierfür wird zu Beginn jeder Episode eine Kopie des Agentenmodells mit dem aktuellen Parameterbild als Steuerungslogik in die Umgebung eingebettet. Darauffolgend wird die Episode durchlaufen und die Zielfunktion berechnet. Das Ergebnis wird als Fitness-Wert an den Agenten zurückgemeldet, worauf der Agent seine Parameter aktualisiert. Die Aktualisierung der Parameter ist stets zufallsbasiert und entweder unabhängig oder teilweise abhängig vom Fitness-Wert. Im zweiten Fall kann der Fitness-Wert bspw. als Indikator dienen, um den Bereich des Lösungsraums einzugrenzen, aus welchem die nächste Zufallsstichprobe gezogen werden soll.

Ein weiterer Unterschied zu gradientenabhängigen RL-Verfahren ist, dass die Probleme, auf die gradientenfreie RL-Verfahren angewandt werden, keinem Markov-Entscheidungsproblem entsprechen müssen, weil das Training unabhängig von der Transitionsdynamik stattfindet.

Entsprechend der Taxonomie bestärkender Lernverfahren (Abbildung 3.4) werden in dieser Arbeit gradientenfreie RL-Verfahren in modellsuchende und parameteroptimierende Verfahren kategorisiert (in Anlehnung an Qian und Yu 2021) sowie ferner in hybride Verfahren, welche die Eigenschaften der beiden erstgenannten Verfahrensklassen vereinen. Auf die ersten beiden Verfahrensarten soll im folgenden Unterabschnitt lediglich kurz eingegangen werden. Darauffolgend wird in Abschnitt 3.4.2 der Algorithmus »NeuroEvolution of Augmenting Topologies« (NEAT) als Vertreter der hybriden Verfahren detailliert erläutert. NEAT vereint alle charakteristischen Eigenschaften modellsuchender und parameteroptimierender Verfahren, sodass der Algorithmus geeignet ist, um die Arbeitsweise gradientenfreier RL-Verfahren im Allgemeinen zu veranschaulichen.

3.4.1 Modellsuchende und parameteroptimierende Verfahren

Modellsuchende Verfahren können als Pendant der gradientenabhängigen modellbasierten RL-Verfahren betrachtet werden. Sie zeichnen sich dadurch aus, dass sie iterativ die Parameter eines stochastischen Modells anpassen, welches entweder der Generierung von Lösungskandidaten dient oder welches die Agentenumgebung auf bestimmte Weise approximiert. Mithilfe der komplexeren und laufzeitaufwändigeren Agentenumgebung wird die wahre Lösungsgüte der Kandidaten bewertet und das stochastische Modell aktualisiert. Die Kreuzentropie-Methode, die Bayes‘sche Optimierung und klassifikationsbasierte Ansätze sind typische Vertreter für modellsuchende Verfahren.

Die Kreuzentropie-Methode (Rubinstein 1997; 1999) verwendet als stochastisches Modell eine beliebige Wahrscheinlichkeitsverteilung mit zufällig initialisierten Parametern. Hierbei kann es sich bspw. um eine (multivariate) Normalverteilung mit den Parametern \(\mu\) (Mittelwert) und \(\sigma\) (Standardabweichung) oder um eine Multinominalverteilung mit den Parametern \(n_{1} , \ldots n_{K}\) (Anzahl Beobachtungen für die Klassen 1 bis \(K\)) bzw. \(p_{1} , \ldots p_{K}\) (Wahrscheinlichkeit für die Klassen 1 bis \(K\)) handeln. Das stochastische Modell dient der Generierung von Lösungskandidaten. Über mehrere Iterationen werden jeweils mehrere zufällige Lösungskandidaten durch die gewählte Wahrscheinlichkeitsverteilung generiert und mithilfe der Agentenumgebung bewertet. Die besten Lösungskandidaten einer Iteration werden zur Aktualisierung der Modellparameter verwendet. In der darauffolgenden Iteration wird das aktualisierte Modell für die Generierung neuer Lösungskandidaten verwendet.

Die Bayes‘sche Optimierung (BO) (Mockus 1975; 1989) konstruiert ein probabilistisches Modell der Agentenumgebung, das der Vorevaluierung von Lösungskandidaten dient. Das stochastische Modell wird gewöhnlich durch einen Gauß-Prozess repräsentiert. Analog zur Kreuzentropie-Methode aktualisiert BO das probabilistische Modell durch die stichprobenartige Evaluation von Lösungskandidaten mithilfe der Agentenumgebung. Das BO-Verfahren unterscheidet sich von der Kreuzentropie-Methode insbesondere durch zwei Aspekte. Erstens dient das BO-konstruierte probabilistische Modell nicht der Generierung von Lösungskandidaten, sondern der Prognose der Lösungsgüte von Kandidaten. Im Gegensatz zur Kreuzentropie-Methode werden Lösungskandidaten bspw. durch eine Rastersuche über den Eingabedatenraum (Bergstra et al. 2011), via Monte-Carlo-Simulation (Snoek et al. 2012) oder mittels anderer Verfahren (Shahriari et al. 2016) generiert. Zweitens werden Lösungskandidaten nicht in arbiträrer Reihenfolge durch die Agentenumgebung evaluiert, sondern mithilfe einer sogenannten Akquisitionsfunktion ausgewählt. Die Akquisitionsfunktion bestimmt die nächste zu evaluierende Lösung aus der Menge von Lösungskandidaten, z. B. gemäß der höchsten Wahrscheinlichkeit für eine Verbesserung (Kushner 1964) oder gemäß der höchsten erwarteten Verbesserung (Mockus et al. 1978). Das BO-Verfahren ist ebenfalls im Rahmen der in Kapitel 5 vorgestellten Methode von Bedeutung. Neben anderen Verfahren wird es für die Optimierung von Hyperparametern im Zuge des Agententrainings (Abschnitt 5.3.6) vorgeschlagen. Ergänzend zu dieser kurzen Erklärung ist aus diesem Grund eine detaillierte Beschreibung des BO-Verfahrens als Anhang E dem elektronischen Zusatzmaterial beigefügt.

Klassifikationsbasierte Ansätze bilden die dritte Kategorie modellsuchender Verfahren. Ähnlich zur Kreuzentropie-Methode werden Lösungskandidaten zufällig generiert. Das gesuchte Modell dient jedoch nicht der Generierung, sondern der Klassifikation von qualitativ hochwertigen und minderwertigen Lösungskandidaten. Das Klassifikationsmodell wird anhand der Evaluation von Lösungskandidaten in der Agentenumgebung trainiert. Im Einsatz soll das Klassifikationsmodell Lösungen herausfiltern, deren Evaluation durch die berechnungsaufwändige Agentenumgebung nicht rentabel sind. Des Weiteren soll anhand der Kategorisierung prognostiziert werden, in welchen Regionen des Lösungsraums sich die erfolgversprechendsten Lösungskandidaten befinden. Auf diese Weise steuert das Klassifikationsmodell die Suche nach neuen Lösungen (Qian und Yu 2021). Ein Beispiel für klassifikationsbasierte Verfahren ist der RACOS (Randomized Coordinate Shrinking) -Algorithmus (Yu et al. 2016) bzw. dessen Variation SRACOS (Hu et al. 2017), welche speziell für sequenzielle Entscheidungsprobleme entwickelt wurde.

Hingegen verfolgen parameteroptimierende Verfahren die Zielstellung, geeignete Parameter für ein bekanntes Agentenmodell (z. B. KNN, Polynomfunktion u. v. m.) zu identifizieren, um auf diese Weise ein gegebenes Problem bestmöglich zu lösen. In den letzten Jahren wurden diesbezüglich insbesondere evolutionäre Algorithmen untersucht. Diese Ansätze werden unter dem Begriff »Neuro-Evolution« zusammengefasst. Bereits in den 1990er Jahren wurden Neuro-Evolution-Methoden für das Training einfacher KNN-Topologien untersucht. Stellvertretend sei auf die Arbeiten von Belew et al. (1990), Kitano (1990) und Whitley et al. (1990) verwiesen. Darüber hinaus wurden in den letzten Jahren Algorithmen entwickelt, welche sich ebenfalls zur Parametrisierung von tiefen mehrschichtigen KNN eignen (Such et al. 2017; Gangwani und Peng 2018). Neben evolutionären Algorithmen wurden in der Vergangenheit auch andere Metaheuristiken für die Parametrisierung von KNN untersucht, z. B. Simulated Annealing (Sexton et al. 1999). Eine ausführliche Übersicht zum Einsatz von Metaheuristiken für die Optimierung von KNN-Parametern findet sich in (Sharda et al. 2006).

3.4.2 Hybride Verfahren – NeuroEvolution of Augmenting Topologies

Gradientenfreie hybride RL-Verfahren können sowohl Agentenmodelle konstruieren als auch deren Parameter trainieren. Ferner sind sie ebenfalls in der Lage, die Struktur und / oder Parameter von gegebenen Modellen zu optimieren. Die bekanntesten hybriden Verfahren basieren auf evolutionären Algorithmen, dienen der Konstruktion sowie Parametrisierung von KNN-basierten Agentenmodellen und werden unter der Abkürzung »TWEANN« (Topology and Weight Evolving Artificial Neural Network) zusammengefasst (Stanley und Miikkulainen 2002b). Analog zu rein parameteroptimierenden Neuro-Evolution-Ansätzen reichen erste TWEANN-Verfahren ebenfalls bis in die 1990er Jahre zurück (Dasgupta und McGregor 1992; Mandischer 1993; Zhang und Mühlenbein 1993; Angeline et al. 1994; u. v. m.).

Eines der populärsten TWEANN-Verfahren ist »NeuroEvolution of Augmenting Topologies« (NEAT), das von Stanley und Miikkulainen (2002a; 2002b, 2002c) entwickelt wurde. Im Rahmen dieser Arbeit soll NEAT als Stellvertreter der gradientenfreien RL-Verfahren untersucht werden. NEAT gehört zur Familie der genetischen Algorithmen, deren Grundprinzipien bereits in Abschnitt 2.3.3.3 skizziert wurden. Insbesondere aufgrund der folgenden vier Eigenschaften gilt NEAT als der erste Neuro-Evolution-Algorithmus, der die Topologie eines KNN effizient adaptieren kann (Stanley 2004):

1) Flexible Enkodierung von Genomen zur Laufzeit

Im Unterschied zu anderen neuroevolutionären Ansätzen ist die Kodierung von NEAT-Genomen dynamisch erweiterbar, d. h. nicht auf eine feste Dimension beschränkt. Jedes Genom besteht aus einer Reihe von neuronalen und synaptischen Genen. Ein neuronales Gen enthält alle Informationen eines Neurons, respektive dessen Bias-Wert und Aktivierungsfunktion. Darüber hinaus besitzt jedes neuronale Gen eine ID, über welche ebenfalls Rückschluss darüber gezogen werden kann, ob es sich um ein Eingabeneuron (\(I)\), ein verstecktes Neuron (\(H)\) oder ein Ausgabeneuron (\(O\)) handelt. Ein synaptisches Gen besitzt ebenfalls eine ID, aus der die miteinander verbundenen Neuronen abgeleitet werden können. Des Weiteren besitzt jedes synaptische Gen eine Gewichtung und einen Status (aktiviert/ deaktiviert). Ferner besitzt es eine Innovationsnummer. Die Innovationsnummer dient als Indikator, ob zwei Genome miteinander gekreuzt werden können. Das Konzept des Kreuzung und die Rolle der Innovationsnummer wird im Rahmen der zweiten Eigenschaft genauer erläutert. NEAT wendet zwei Arten von Mutationen an, um Genome zu erweitern und auf diese Weise die Struktur von KNN anzupassen. Eine synaptische Mutation erzeugt eine neue synaptische Verbindung zwischen zwei zuvor unverbundenen Neuronen, während eine neuronale Mutation eine bestehende Verbindung deaktiviert und stattdessen ein neues Neuron hinzufügt, das jeweils eine synaptische Verbindung zu den zuvor verbundenen Neuronen pflegt.

Abbildung 3.8 veranschaulicht die Kodierung von Genomen in NEAT sowie ein Beispiel für eine neuronale und eine synaptische Mutation. Im gezeigten Beispiel erfährt das ursprüngliche Genom (linke Abbildung) zunächst eine neuronale Mutation, durch welche zwischen dem Eingabeneuron \(I2\) und dem Ausgabeneuron \(O1\) ein neues verstecktes Neuron \(H1\) entsteht und die Verbindungen \(\left( {I1, H1} \right)\) und \(\left( {H1, O1} \right)\) einhergehen (mittlere Abbildung). Nachfolgend durchläuft das Genom eine synaptische Mutation, durch welche die zusätzliche Verbindung \(\left( {I2, H1} \right)\) geschaffen wird (rechte Abbildung). Die dynamische Enkodierung von NEAT-Genomen zeichnet sich durch eine hohe Effizienz und Skalierbarkeit aus, weil die Größe eines Genoms der exakten Menge enkodierter Informationen entspricht und das Genom beliebig um weitere Gene erweitert werden kann, wenn in Folge von genetischen Operationen neue Informationen hinzukommen. Diesbezüglich unterscheidet sich NEAT von älteren Neuro-Evolution-Verfahren, bei welchen die Genomgröße fix ist und für nicht verwendete Gene Speicherplatz vorreserviert wird.

Abbildung 3.8
figure 8

Genetische Enkodierung und Mutationen in NEAT (in Anlehnung an Lang et al. 2021b)

2) Rekombination von unterschiedlichen KNN-Topologien

Eine Kreuzung von Genomen, die unterschiedliche KNN-Topologien repräsentieren, ist nicht immer realisierbar. Sofern sich zwei Genome hinsichtlich ihrer Neuronen-Anzahl unterscheiden, können im Zuge von deren Kreuzung u. U. ebensolche Gene ausgewählt werden, aus welchen eine nicht realisierbare KNN-Topologie resultieren würde. Diese Situation tritt bspw. dann auf, wenn das Nachkommen-Genom von einem der beiden Eltern-Genome ein synaptisches Gen erbt, zu dem es nicht die beiden neuronalen Gene besitzt, welche die zu verbindenden Neuronen repräsentieren. Um unzulässige Kreuzungen zu vermeiden, wird in NEAT der Ursprung jedes synaptischen Gens durch eine eindeutige Innovationsnummer nachgehalten. Darüber hinaus ist es nicht notwendig, ebenfalls den Ursprung von neuronalen Genen zu überwachen, da die ID eines synaptischen Gens bereits alle notwendigen Informationen über die Topologie eines KNN enthält, d. h. welche Neuronen existieren und wie diese untereinander verbunden sind. Bei der Kreuzung zweier Genome wählt NEAT nach dem Zufallsprinzip übereinstimmende synaptische Gene aus, d. h. Gene, die in beiden Elterngenomen vorhanden sind. Für die übrigen Gene, die sich unterscheiden, berücksichtigt NEAT nur die Gene des Elterngenoms mit der besseren Fitness. Falls beide Elternteile die gleiche Fitness besitzen, fügt NEAT die nicht übereinstimmenden synaptischen Gene beider Elternteile dem Nachkommen-Genom hinzu. Abbildung 3.9 veranschaulicht eine beispielhafte Kreuzung zwischen zwei Genomen, die sich partiell hinsichtlich ihrer synaptischen Gene unterscheiden. Im Beispiel stimmen die synaptischen Gene mit den Innovationsnummern 1 und 2 überein. Es wird angenommen, dass NEAT zufällig beide übereinstimmenden synaptischen Gene ausgewählt hat, um das Nachkommen-Genom zu konstruieren. Des Weiteren berücksichtigt NEAT alle nicht übereinstimmenden Gene im Nachkommen-Genom, was darauf hindeutet, dass die Eltern-Genome die gleiche Fitness besitzen. Die gekreuzten synaptischen Genome implizieren, dass das Nachkommen-Genom das neuronale Gen \(H1\) vom ersten Eltern-Genom sowie das neuronale Gen \(H2\) vom zweiten Eltern-Genom übernehmen muss.

3) Spezifizierung der Genom-Population

Sofern ein Genom eine topologische Veränderung durchläuft, ist es möglich, dass dieses nicht mit der Fitness von solchen Genomen konkurrieren kann, die über mehrere Generationen keine strukturellen Veränderungen durchliefen und ihre synaptischen Gewichte für dieselbe Topologie optimieren konnten. Um zu verhindern, dass topologisch veränderte Genome fitnessbedingt sofort aus der Population eliminiert werden, unterteilt NEAT die Gesamtpopulation in verschiedene Spezies gemäß von topologischen Ähnlichkeiten. Auf diese Weise konkurrieren nur topologisch ähnliche Genome innerhalb ihrer Spezies miteinander. Die (Un-)Ähnlichkeit zwischen zwei Genomen wird über ein Distanzmaß quantifiziert, wobei die Berechnung der genetischen Distanz von der jeweiligen Implementierung abhängt. Im Folgenden werden die Berechnungsvorschriften der Open-Source-Implementierung »NEAT-Python« (McIntyre et al. 2017a) angeführt, welche ebenfalls für die Experimente in Kapitel 6 verwendet wird.

$$D = d_{n} + d_{s}$$
(3.21)
$$d_{n} = \frac{1}{{\max \left( {N_{1} , N_{2} } \right)}}*\left( {c_{sim} * \mathop \sum \limits_{i = 1}^{{N_{1} }} \mathop \sum \limits_{j = 1}^{{N_{2} }} Dist_{n} \left( {n_{i} , n_{j} } \right) + c_{diff} *\mathop \sum \limits_{i = 1}^{{N_{1} }} \mathop \sum \limits_{j = 1}^{{N_{2} }} Diff\left( {n_{i} , n_{j} } \right)} \right)$$
(3.22)
$$d_{s} = \frac{1}{{\max \left( {S_{1} , S_{2} } \right)}}*\left( {c_{sim} * \mathop \sum \limits_{i = 1}^{{S_{1} }} \mathop \sum \limits_{j = 1}^{{S_{2} }} Dist_{s} \left( {s_{i} , s_{j} } \right) + c_{diff} * \mathop \sum \limits_{i = 1}^{{S_{1} }} \mathop \sum \limits_{j = 1}^{{S_{2} }} Diff\left( {s_{i} , s_{j} } \right)} \right)$$
(3.23)

Hierbei bezeichnen \(D\), \(d_{n}\) und \(d_{s}\) die gesamte, neuronale und synaptische genetische Distanz. Die neuronale und die synaptische genetische Distanz werden auf die gleiche Weise berechnet. Beide Distanzen resultieren im Wesentlichen aus zwei Termen, die durch die benutzerdefinierten Koeffizienten \(c_{sim}\) und \(c_{diff}\) gewichtet werden. Beide Terme iterieren mittels einer Doppelsumme über alle neuronalen bzw. synaptischen Gene der zu vergleichenden Genome. Die Intention des ersten Terms ist die Berechnung und Summation der Distanzen zwischen denjenigen Genen, die jeweils die gleiche ID besitzen. Innerhalb der Doppelsumme wird zu diesem Zweck eine neuronale bzw. synaptische Distanzfunktion \(Dist_{n} \left( { \cdot , \cdot } \right)\) bzw. \(Dist_{s} \left( { \cdot , \cdot } \right)\) aufgerufen. Die exakten Berechnungsvorschriften beider Distanzfunktionen sind für das weitere Verständnis nicht notwendig und werden deshalb im Folgenden nur kurz beschrieben. Zusammengefasst berechnen beide Funktionen nur dann eine Distanz ungleich null, wenn die verglichenen Gene die gleiche ID besitzen. In diesem Fall basiert die Distanz in \(Dist_{n} \left( { \cdot , \cdot } \right)\) u. a. auf dem absoluten Betrag zwischen den Bias-Werten der verglichenen neuronalen Gene. Ferner wird die Distanz um jeweils eins inkrementiert, sofern sich bspw. die Aktivierungsfunktion oder Netzeingabefunktion unterscheiden. \(Dist_{s} \left( { \cdot , \cdot } \right)\) kalkuliert im Wesentlichen den absoluten Betrag zwischen den synaptischen Gewichten der verglichenen Gene. Auch hier wird die Distanz für jede nichtnumerische Eigenschaft um jeweils eins inkrementiert, sofern diese bei beiden Genomen unterschiedlich ausgeprägt ist. Die Intention des zweiten, durch den Koeffizienten \(c_{diff}\) gewichteten Terms ist die Berechnung der Anzahl derjenigen Gene, die nicht die gleiche ID besitzen und somit grundsätzlich verschieden sind. Zu diesem Zweck gibt die Funktion \(Diff\left( { \cdot , \cdot } \right)\) den Wert eins bzw. null zurück, wenn die verglichenen Gene unterschiedliche bzw. gleiche IDs besitzen. Die lineare Kombination beider Terme wird schließlich durch die maximale Anzahl der Neuronen bzw. Synapsen der verglichenen Genome dividiert. In jeder Generation berechnet NEAT für jedes Genom die Zugehörigkeit zu einer Spezies neu. Für jede Spezies bleibt nur das Genom mit der höchsten Fitness als Referenzvertreter der Spezies übrig. Für alle anderen Genome iteriert NEAT über die vorhandenen Spezies und berechnet die genetische Distanz zwischen dem Genom und dem Vertreter jeder Spezies. Das Genom wird der Spezies zugeordnet, wenn der genetische Abstand eine vom Benutzer festgelegte Kompatibilitätsschwellenwert überschreitet. Kann ein Genom keiner bestehenden Spezies zugeordnet werden, erstellt NEAT eine neue Spezies mit dem Genom als Referenzvertreter.

Abbildung 3.9
figure 9

Beispiel für die Kreuzung von zwei Genomen (in Anlehnung an Lang et al. 2021b)

4) Inkrementelle Komplexifizierung von Genomen

Andere neuroevolutionäre Algorithmen weisen eine geringe Recheneffizienz auf, da sie bereits in der Anfangspopulation verschiedene Topologien berücksichtigen müssen: Zum einen, weil sie keine dynamische Erweiterung der Vektorrepräsentation der Genome zur Laufzeit erlauben, zum anderen, weil jede Veränderung der KNN-Topologie zu einem Fitnessverlust und damit einhergehend zu einem sofortigen Ausschluss des Genoms von der Population führen kann. Hierdurch entstehen bereits während der Initialisierungsphase hochdimensionale Genome. In NEAT ist die genetische Enkodierung von Genomen zur Laufzeit erweiterbar (erste Eigenschaft) und die Population gemäß topologischer Ähnlichkeiten in Spezies untergliedert (zweite Eigenschaft). Aufgrund beider Eigenschaften müssen in NEAT keine verschiedenen KNN-Topologien während der Initialisierung der Population berücksichtigt werden. Die anfänglichen Genome enthalten keine versteckten Neuronen und unterscheiden sich lediglich hinsichtlich ihrer nichtstrukturellen Parameter, z. B. hinsichtlich ihrer synaptischen Gewichte, neuronalen Bias-Werte und neuronalen Aktivierungsfunktionen. NEAT erweitert die Topologien von KNN lediglich inkrementell, wobei diejenigen Genome beibehalten werden, die mit anderen Genomen derselben Spezies konkurrieren können. Die Anzahl von versteckten Neuronen, die durch genetische Operationen hinzugefügt werden, wird durch NEAT nicht begrenzt. Demzufolge ist der Algorithmus auf Problemen beliebiger Komplexität anwendbar.

Abbildung 3.10 veranschaulicht die Funktionsweise von NEAT als Programmablaufplan. Eine Erklärung der Programmablaufplan-Notation ist als Anhang F dem elektronischen Zusatzmaterial beigefügt. Analog der Berechnungsvorschriften für die genetische Distanz in den Formeln (3.2123) orientiert sich das Ablaufschema ebenfalls an der Open-Source-Implementierung »NEAT-Python«. Im Folgenden soll der Programmablaufplan kurz erläutert werden. Während der Initialisierungsphase liest NEAT die benutzerdefinierten Hyperparameter aus einer Konfigurationsdatei ein. Darüber hinaus wird an den Algorithmus eine benutzerdefinierte Fitnessfunktion übergeben. Die Hyperparameter sind maßgeblich für die Steuerung von Kreuzungs- und Mutationsprozessen. Hingegen bewertet die Fitnessfunktion die Lösungsqualität von Genomen in Abhängigkeit getroffener Planungsentscheidungen. Sowohl die Art und Konfiguration der Hyperparameter als auch die Fitnessfunktion werden im Rahmen der zu entwickelnden Methode in Kapitel 5 ausführlich geschildert.

Bei der Initialisierung der Population erzeugt NEAT nur Genome mit Eingabe- und Ausgabeneuronen. Gemäß der Standardkonfiguration von NEAT-Python sind alle Eingabe- und Ausgabeneuronen über Synapsen miteinander verbunden. Darüber hinaus erlaubt NEAT-Python, dass zu Beginn nicht alle, sondern lediglich zufällige (oder gar keine) Eingabe- und Ausgabeneuronen miteinander verbunden sind. Zum Zweck der Übersichtlichkeit wird eine unvollständige Verbindung von Eingabe- und Ausgabeneuronen im Programablaufplan von Abbildung 3.10 nicht berücksichtigt. Nach der Bewertung der Fitness jedes Genoms bricht der Algorithmus ab, sofern ein benutzerdefiniertes Abbruchkriterium erfüllt ist, z. B. das Überschreiten einer bestimmten Anzahl von Generationen oder eines Schwellenwerts bezogen auf das Fitnesskriterium. Andernfalls evolviert NEAT die Population, indem der Algorithmus zunächst mehrere zufällige Kreuzungen zwischen Genomen durchführt, gefolgt von mehreren zufälligen Mutationen in den resultierenden Nachkommen. Neben strukturellen Mutationen (siehe Abbildung 3.8), können an Genomen auch nichtstrukturelle Mutationen vollzogen werden, z. B. hinsichtlich ihrer synaptischen Gewichte, neuronalen Bias-Werte oder neuronalen Aktivierungsfunktionen. Die Mutationen von synaptischen Gewichten und neuronalen Bias-Werten unterliegen jeweils einer um den Wert null zentrierten Normalverteilung mit einer benutzerdefinierten Standardabweichung. Im Fall einer Mutation entnimmt NEAT der jeweiligen Normalverteilung eine Zufallsstichprobe und addiert diese auf den aktuellen Parameterwert. Mögliche neuronale Aktivierungsfunktionen werden als Liste in der Konfigurationsdatei hinterlegt. Im Zuge einer Mutation wird zufällig eine neue Aktivierungsfunktion aus der Liste gewählt. Bevor der Algorithmus in die nächste Generation übergeht, wird die Population in neue Spezies entsprechend des genetischen Abstands der Genome zu den jeweiligen Referenzvertretern aufgeteilt.

Abbildung 3.10
figure 10

NEAT-Algorithmus als Programmablaufplan (in Anlehnung an Lang et al. 2021b)