![Architektur des Reinforcement Learnings](https://sps-magazin.de/wp-content/uploads/2020/11/Abb_2_Architektur-des-Reinforcement-Learnings-1024x520.png)
Beim maschinellen Lernen unterscheidet man hauptsächlich zwischen drei algorithmischen Ansätzen: überwachtes Lernen (supervised learning), unüberwachtes Lernen (unsupervised learning) und bestärkendes Lernen (reinforcement learning). Beim überwachten Lernen wird dem System gezeigt wie es sich verhalten soll, sowohl die Ziele als auch das Vorgehen sind bekannt. Gesucht werden nur noch die Parameter für den Ablauf. In Analogie zur Psychologie wird quasi mit einem Lehrer gelernt, der dem System das korrekte Verhalten zeigt. Beim nicht überwachten Lernen wird nach einer Struktur in den Daten gesucht, weder das Vorgehen noch die genaue Struktur werden vorgegeben. Häufig geht es darum verschiedene Verallgemeinerungen zu treffen um Muster zu finden, beispielsweise für das Clustering oder um eine große Menge an Daten zu sortieren. Beim Reinforcement Learning sind die Ziele bekannt, das Vorgehen jedoch nicht. Es wird auch keine Verhaltensstrategie gezeigt. Das System soll eine passende Strategie zur Erreichung der Ziele selbst finden. Lernen findet nicht durch Nachahmung statt, sondern durch eigene Erfahrungen. Es befindet sich in einer unbekannten Umgebung (simuliert oder real) und bekommt Belohnungen oder Bestrafungen, um auf ein passendes Verhalten zu schließen. Die Belohnung gibt einen Anhalt dafür, wie gut die getroffene Entscheidung war. Durch die Interaktion mit der Umgebung bekommt das System neue Informationen, die helfen das Verhalten zu verbessern. Damit Erfahrungen über verschiedene Zustände und Aktionen gesammelt werden können, muss viel ausprobiert werden. In Folge wird aus den Fehlern und guten Aktionen gelernt, der Lernprozess hat einen iterativen Charakter. Die Belohnungen können auch erst verzögert gegeben und dann je nach auftretendem Zeitpunkt gewichtet werden, wenn nicht einzelne Teilziele, sondern größere Gesamtziele bekannt sind. Diese Ansätze sind wichtige Aspekte des Reinforcement Learnings. Je nach Methode wird eventuell zunächst ein Zustandsmodell der Umgebung entwickelt, um darauf basierend zu lernen. Fehlt es an Informationen über die Verhaltensstrategie, funktioniert die Methode besonders gut. Es ist nicht nötig, Regeln genau zu beschreiben, und es ist möglich aus (scheinbar) rein intuitiven Entscheidungen zu lernen. Unter Umständen werden dadurch neue Entscheidungsregeln entdeckt, die von Menschen so nicht wahrgenommen werden. Reinforcement Learning wird einerseits angewendet, um Ergebnisse in Abhängigkeit der aktuellen Situation vorherzusagen. Andererseits dient es dazu Entscheidungen zu treffen, um ein möglichst gutes Ergebnis zu erhalten.
![Vergleich des Aufbaus zwischen Hardware-in-the-Loop und Reinforcement Learning](https://sps-magazin.de/wp-content/uploads/2020/11/Abb_1_Vergleich-des-Aufbaus-zwische_20171127091750-1024x519.png)
Hardware in the Loop
Beim Aufbau des Reinforcement Learnings und einer Hardware-in-the-Loop-Simulation (HIL) gibt es Parallelen. Die Analogie besteht in der Interaktion zwischen einer agierenden, bzw. steuernden Einheit mit einer definierten Umwelt. Bei der steuerungstechnischen HIL-Simulation ist die Hardware an eine Simulation angeschlossen. Sie bekommt die prozessrelevanten Informationen von den Sensoren und sendet Signale an die Aktoren, die den Prozess durchführen. Beim Reinforcement Learning gibt es eine Umgebung mit Zuständen, welche auch eine Simulationsumgebung sein kann. Die Zustände werden an einen Agenten statt an die Steuerungen gegeben. Der Agent entscheidet sich wiederum für Aktionen, die in der Umgebung ausgeführt werden sollen. Er führt autonom Aufgaben aus, um ein Ziel zu erreichen, benötigt aber eine Zusatzinformation über die Güte seiner Aktionen. Aufgrund der Vergleichbarkeit dieses Aufbaus ist das Reinforcement Learning geeignet zum Lernen der Ablaufsteuerung. Dessen Umgebung kann direkt für die HIL-Simulation für Tests und für die Inbetriebnahme benutzt werden. Für die bestmögliche Lösung können auch verschiedene Varianten einer Anlage getestet und die gelernten Ablaufstrategien verglichen werden. Durch die Simulation können gelernte Ablaufstrategien zudem direkt verifiziert werden. Da sich die HIL-Simulation für Tests und Inbetriebnahmen von Steuerungssystemen etabliert hat, ist deren Verwendung als Umgebung für maschinelles Lernen ein natürlicher nächster Schritt. Reale Modelle sind meist teurer und starrer. Änderungen sind in der digitalen Version schneller, unkomplizierter und günstiger möglich. Außerdem ist es einfacher möglich, einzelne Bestandteile des Systems zu testen, ohne dass das Gesamtsystem funktioniert.
![Visualisierung des Anwendungsfalls der zwei Förderbänder](https://sps-magazin.de/wp-content/uploads/2020/11/Abb_3_Visualisierung-der-Simulation_20171127091752-1024x693.png)
Individuelle Steuerungslösungen
In komplexen Fertigungsprozessen werden Maschinen zwar separat gesteuert, müssen aber spezifisch als Teilprozesse zusammenarbeiten, damit ein optimaler Ablauf erreicht wird. Der Gesamtablauf ist für jede Anlage anders, hinzu kommen häufig auch besondere Randbedingungen. Außerdem entstehen durch die Verknüpfung der individuellen Steuerungen viele einzelne logische Zusammenhänge, die eine komplexe Gesamtsteuerung benötigen. Eine optimale Ablaufstrategie sollte auf nur einer Steuerung beruhen, die einmal implementiert wird und trotzdem auf die individuellen Anforderungen jedes Prozesses reagiert. Ein jeweils passender Prozessablauf, der durch Lernprozesse entwickelt wird, würde viel Zeit und Aufwand sparen. Maschinelles Lernen kann hier ein Ansatz sein: Die Methoden werden dann nur einmal programmiert, aber auf verschiedene Beispiele oder mit einzelnen Regeln angewendet. Ein neuer Weg kann gefunden werden, ohne dass eine explizite Lösung vorgegeben wird, eventuell sogar ohne dass eine sinnvolle Lösung bekannt ist. Der Lernprozess sollte dann per Simulation stattfinden, denn durch das Trial&Error-Prinzip des Reinforcement Learning, treten zwangsläufig Fehler auf, die im realen Prozess unerwünscht wären. Die Grundlagen des Lernprozesses und dessen Implementierung sind für viele Steuerungen und Anlagen gleich. Ziel ist, dass die gelernten Steuerungen unterschiedliche, individuell angepasste Ergebnisse liefern ohne späteres menschliches Eingreifen. Im Idealfall lassen sich so für viele verschiedene, selbst komplexe Prozessabläufe effiziente Lösungen mit geringem Aufwand realisieren.
Anwendungsfall Sortierprozess
Ein einfacher Anwendungsfall ist ein System aus zwei Förderbändern, das Kisten mit zwei unterschiedlichen Größen transportiert. Die Kisten werden in zufälliger Reihenfolge auf das erste Förderband gelegt und sollen nach Größe sortiert werden. Das zweite Förderband steht orthogonal am Ende des ersten. Große Kisten sollen von dort nach links, kleine nach rechts transportiert werden. Mithilfe verschiedener Sensoren werden der Steuerung Informationen bezüglich der Kistengröße übermittelt. Das erste Förderband kann an- und ausgeschaltet werden, das zweite zusätzlich in beide Richtungen bewegt werden. Die Geschwindigkeit ist vorab festgelegt. Beim Ablauf dürfen die Kisten weder kollidieren noch das Förderband verlassen. Zunächst werden nur einzelne Kisten aufgelegt, erst wenn eine Kiste ein Ende des zweiten Förderbands erreicht hat, wird eine neue in das System gebracht. Die Menge der Aktionen ist dann folgende: Start und Stopp von Förderband eins sowie Start in beide Richtungen von Förderband zwei und Stopp. In jedem Zustand kann jede Aktionen gewählt werden, sowie deren Kombination. Die Gesamtaktion setzt sich dann aus den Teilaktionen zusammen. Auch wenn manche Aktion eindeutig nicht gewinnbringend ist, muss der Agent dies erst lernen.