Beim Entwerfen von Lösungen für Probleme wie den Lunar Lander auf OpenAIGym ist Reinforcement Learning ein verlockendes Mittel, um dem Agenten eine angemessene Handlungskontrolle zu geben, um erfolgreich zu landen.
Aber was sind die Fälle, in denen Steuersystemalgorithmen, wie PID-Regler , nur eine adäquate Aufgabe übernehmen, wenn nicht sogar eine bessere als das Reinforcement Learning?
Fragen wie diese leisten hervorragende Arbeit bei der Beantwortung der Theorie dieser Frage, tun jedoch wenig, um die praktische Komponente anzusprechen.
Welche Elemente einer Problemdomäne sollten mir als Ingenieur für künstliche Intelligenz nahelegen, dass ein PID-Regler nicht ausreicht, um ein Problem zu lösen, und stattdessen sollte ein Algorithmus zum Lernen der Verstärkung verwendet werden (oder umgekehrt)?
quelle
Antworten:
Ich denke, die Kommentare sind im Grunde genommen auf dem richtigen Weg.
PID-Regler sind nützlich, um optimale Richtlinien in kontinuierlichen dynamischen Systemen zu finden, und häufig werden diese Domänen auch als Benchmark für RL verwendet, gerade weil es eine einfach abzuleitende optimale Richtlinie gibt. In der Praxis bevorzugen Sie jedoch offensichtlich einen PID-Regler für jede Domäne, in der Sie einen einfach entwerfen können: Das Verhalten des Reglers ist gut bekannt, während RL-Lösungen häufig schwer zu interpretieren sind.
Wo RL leuchtet, sind Aufgaben, bei denen wir wissen, wie gutes Verhalten aussieht (dh wir kennen die Belohnungsfunktion) und wir wissen, wie Sensoreingaben aussehen (dh wir können einen gegebenen Zustand numerisch vollständig und genau beschreiben), aber wir haben wenig oder keine Ahnung, was der Agent eigentlich tun soll, um diese Belohnungen zu erzielen.
Hier ist ein gutes Beispiel:
Wenn ich einen Agenten dazu bringen wollte, ein Flugzeug mit bekannten Bewegungsmustern von einem feindlichen Flugzeug nach hinten zu manövrieren , und dabei die geringste Kraftstoffmenge verbrauchen würde, würde ich einen PID-Regler vorziehen .
Wenn ich einen Agenten dazu bringen wollte, ein Flugzeug zu kontrollieren und ein feindliches Flugzeug mit genügend Treibstoff abzuschießen, um zu landen, aber ohne eine formelle Beschreibung, wie das feindliche Flugzeug angreifen könnte (vielleicht wird ein menschlicher Experte es in Simulationen gegen unseren Agenten steuern ) Ich würde RL sehr bevorzugen .
quelle