Wann sollte ich Reinforcement Learning vs PID Control verwenden?


12

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)?


Die Grundidee, die ich über PID habe, besagt, dass es nicht einfach zu entwerfen ist. Es sind viele Integrale und Differentiale involviert. Das ist also im Grunde die gleiche Idee wie beim Ersetzen von Statistiken durch ML-Ansätze. Steuerungssysteme sind auf jeden Fall einwandfrei, aber es ist zu viel Arbeit.
DuttaA

2
Tatsächlich ist es nicht allzu viel Arbeit. Mit modernen Systemdesign-Tools wie MATLAB können Sie PID oder andere Steuerungen relativ einfach einstellen, um Ihre Anforderungen zu erfüllen. Reinforcement Learning wird in der Praxis nicht angewendet, da es eine Fülle von Daten benötigt und es keine theoretischen Garantien gibt, wie dies für die klassische Kontrolltheorie der Fall ist. Übrigens beinhaltet das Contoller-Design nicht das direkte Arbeiten mit Integralen / Differentialen, für lineare Systeme erfolgt die gesamte Arbeit in der Laplace-Domäne, die einfache algebraische Manipulationen umfasst
Brale_

@Brale_, aber es beinhaltet immer noch viel theoretisches Wissen. Laplace-Domäne vereinfacht nur das Differential, aber Sie müssen wissen, wie man Dinge (Pole und Nullen) so konstruiert, dass Systeme nicht instabil werden. Es ist ziemlich schwierig, mir vorzustellen, wie diese Dinge tatsächlich funktionieren.
DuttaA

1
Als gute Faustregel, die mir in früheren Projekten geholfen hat, werden PIDs wirklich sehr schwer sein, wenn Sie die optimale Richtlinie (PID, RL oder andere) nicht in wenigen Sätzen erläutern können. Was ist die optimale Richtlinie für Pacman?
Jaden Travnik

Antworten:


5

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 .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.