Neuronale Netze zur Folgeregelung

Sie haben ein bestimmtes Projekt zu bearbeiten und wissen nicht, wie Sie an die Aufgabe heran gehen sollen? Sie sind sich nicht sicher, ob Ihr Netzentwurf zu Ihrem Problem passt oder ob es da Optimierungsmöglichkeiten gibt? Ist es überhaupt sinnvoll an Ihre Daten mit einem NN basierten Ansatz heranzugehen? Ist MemBrain das richtige Werkzeug für Ihr Problem und Ihre Infrastruktur?

Hier ist der richtige Platz für diese Art von Fragen.
MacRayBan
Posts: 8
Joined: Wed 3. Jun 2009, 14:06

Neuronale Netze zur Folgeregelung

Post by MacRayBan »

Hallo!

Im Rahmen meiner aktuellen Semesterarbeit beschäftige ich mich mit dem Thema "Einsatz küsntlich neuronaler Netze zur Folgeregelung eines Regalbediengerätes für Hochregallager". Die Problematik bei solchen Systemen besteht darin, dass die Regalbediengeräte (RBG) beim Anfahren einer bestimmten Position in Schwingungen geraten. Deshalb muss man in der Praxis Geräteberuhigungszeiten einhalten um Güter problemlos einzualgern, was natürlich auf Kosten des Durchsatzes geht.
Es gibt einige Regelungsansätze die eine aktive Schwingungsdämpfung verfolgen. Als Folgeregler können dabei klassische Regler (z.B. PD-Regler) oder auch Regler höherer Ordnung (Zustandsrückführer, Beobachter) eingesetzt werden. Diese Regelung ist allerdings auf einen festen Systemzustand abgestimmt und ineffizient gegenüber Veränderungen (Laständerung, unterschiedliche Höhe der Last am RBG, Verschleiß, Reibung etc.). Abhilfe soll deswegen eine adaptive Regelung schaffen die unter Berücksichtigung des aktuellen Beladungszustandes optimierte Trajektorien generiert. Das ganze soll salop gesagt so funktionieren, dass das Regalbediengerät eine optimale Solltrajektorie verfährt und dadurch erst gar keine Schwingungen auftreten, Und da sollten jetzt die neuronalen Netze ins Spiel kommen ;)
Mein Ansatz war zunächst folgender: Ich hatte daran gedacht verschiedene Feedforward Netze zu testen und mit Backpropagation zu trainieren. Sollte das Ergebnis nicht zufriedenstellend sein dachte ich daran, die Netze anschließend mit genetischen Algorithmen zu optimieren. Ich habe allerdings nicht bedacht, dass ich bei BP bei jedem Trainingsbeispiel für mein Netz die optimale Solltrajektorie als teaching input benötige, was unter Umständen problematisch werden könnte, da ich bis jetzt nicht weiß, wie ich an diese Solltrajektorien komme.
Deswegen dachte ich dann eventuell an eine Reinforcement Learning Strategie, da ich mir hierbei die Solltrajektoriengenerierung sparen würde. Die Theorie hinter RL verstehe ich, aber ich weiß nicht wie ich das ganze implementieren soll bzw. welche Software dafür am besten geeignet ist.
Soweit meine Problemstellung. Für Anregungen und Hilfestellungen jeder Art wäre ich sehr dankbar ;)

Grüße, Florian
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Neuronale Netze zur Folgeregelung

Post by Admin »

Hallo Florian,

zunächst einmal nur weitere erste Fragen:
Hast Du schon ein Konzept davon, wie die Tajektorien repräsentiert werden könnten? Möchtest Du ein Netz entwickeln, das eine gesamte Trajektorie in einem Berechnungsschritt entwickelt oder denkst Du eher an etwas, das die nächste Sollposition für einen Teilschritt der Trajektorie ausgibt?
Nicht, dass ich für einen der Ansätze eine spontane Lösung hätte, ich muss erst selbst intensiver darüber nachdenken, ob und wie man so etwas aufsetzen könnte. Die Frage der Repräsentation einer Trajektorie im Sinne von Ausgangsneuronen eines NN liegt nur 'ganz oben' auf dem Stapel ;)
Die nächste Frage wäre:
Kennst Du Deine Vorgaben und beeinflussenden Parameter bereits? Und ist eine messtechnische Erfassung der letzteren im großen Stil überhaupt möglich?

Grüße,
Thomas
Thomas Jetter
MacRayBan
Posts: 8
Joined: Wed 3. Jun 2009, 14:06

Re: Neuronale Netze zur Folgeregelung

Post by MacRayBan »

Hallo Thomas,

danke für die schnell Antwort.
Die Fragen die du gestellt hast, stelle ich mir momentan auch ;-)
Zur Frage, wie man die Trajektorien repräsentieren könnte, habe ich bis jetzt nur folgende Idee (die ich aber noch nicht mit meinem Betreuer abgeklärt habe, weil sie mir erst vor kurzem eingefallen ist): Man kann sich den Einlagerbereich, in den das RGB einlagern soll, einfach als zweidimensionale Fläche vorstellen. Meine Idee war nun ,diese Fläche einfach zu diskretisieren, also in eine bestimmte Anzahl kleiner Quadrate zu zerlegen und jedem dieser Quadrate ein Ausgangsneuron zuzuordnen. Die Trajektorien könnte man dann dadurch repräsentieren, dass nur Ausgangsneurone entlang der Trajektorie einen Output liefern, es würde also reichen wenn diese Neurone z.B. einfach 1 ausgeben.
Daher würde es sich auch anbieten, immer nur die nächste Sollposition für einen Teilschritt der Trajektorie auszugeben. Oder wäre eine Trajektorienentwicklung in nur einem Berechnungsschritt eventuell geeigneter?
Zu den Parametern: An dem ganzen Projekt arbeitet noch ein zweiter Semestrand, der sich in seiner Arbeit mit der Paramterschätzung mittels NN beschäftigt. Für mich heißt das konkret, dass ich mir um die Paramtererfassung keine Gedanken machen brauche. Ich darf für meine Arbeit davon ausgehen, dass mir alle nötigen Paramter "gegeben sind" und zur Verfügung stehen. Die wesentlichen Paramter für meine Problemstellung sind die Höhe des RGB, die Höhe des Lastaufnahmemittels, die Masse des zu transportierenden Gutes, der E-Modul des RGB sowie das Flächenträgkeitsmoment.
Zum aktuellen Stand meiner Arbeit noch folgendes: Ein überwacht lernendes Netz mit BP fällt flach! Es wäre zwar laut meinem Betreuer möglich, sich für das Training die Solltrajektorien vorab zu generieren (da ein Simulationsmodell der ganzen Anlage existiert), aber das wäre eher eine suboptimale Lösung, da erstens immer mit einem gewissen Aufwand verbunden und zweitens das Regelungskonzept auch auf andere Geräteklassen übertragbar sein soll und es vielleicht nicht immer möglich ist, die Solltrajektorien für das Training zu generieren. Ergo muss ich entweder auf Reinforcement Learning oder auf unüberwacht lernende Netzparadigmen setzen, wobei ich mir bei letztern nicht sicher bin, ob sie zielführend sind.

Grüße,
Florian
MacRayBan
Posts: 8
Joined: Wed 3. Jun 2009, 14:06

Re: Neuronale Netze zur Folgeregelung

Post by MacRayBan »

Kleiner Nachtrag zu meinem vorigen Posting:
Es reicht natürlich nicht, die Trajektorie nur durch die Ortskurve zu beschreiben. Man braucht natürlich noch die Geschwindigkeit und die Beschleunigung zu jedem Zeitpunkt. Das habe ich in meiner vorherigen Ausführung noch nicht berücksichtigt...
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Neuronale Netze zur Folgeregelung

Post by Admin »

Hallo Florian,

ich denke, spontan kann ich Dir nicht wesentlich weiterhelfen, da ich vor den selben Fragen bzgl. RL stehe wie Du. Ich habe erst einmal angefangen, indem ich mir ein angeblich sehr gutes Buch darüber bestellt habe:

http://www.amazon.de/Reinforcement-Lear ... 620&sr=1-1

RL hat an sich ja noch nichts mit neuronalen Netzen zu tun, man kann sie aber wohl als Teil davon einsetzen, nämlich um Abbildungen von (Situationen/Aktionen)-->Reward bzw. (Situationen/Aktionen)-->Situationen zu erlernen. Du siehst, da bin ich auf keinen Fall weiter als Du selbst. Ich werde aber schauen, dass ich mich da möglichst schnell einarbeite. Es stand eigentlich schon lange auf meinem Plan, ich habe es aber leider nicht geschafft.

Wenn die Theorie soweit klar ist, dann werden wir überlegen müssen, welche und wie viele neuronale Netze Du benötigst. Auch wird eine Rolle spielen, wie schnell man zwischen den Netzen wechseln muss, während des RL Algorithmus: MemBrain selbst (und damit die Sktiptsprache) unterstützt immer nur ein aktives Netz. Um also mehrere Netze nutzen zu können, müsste man das aktive Netz immer aus einer Datei laden.
Damit wird die dll evtl. doch wieder interessanter für Dich, da sie beliebig viele Netze gleichzeitig im Speicher halten kann. Man kann damit sehr schnell das aktive Netz wechseln.

Ich melde mich, wenn ich schlaueres zu sagen habe. Wenn Du in der Zwischenzeit irgendwie weiterkommst, dann poste doch bitte.

Viele Grüße,
Thomas
Thomas Jetter
MacRayBan
Posts: 8
Joined: Wed 3. Jun 2009, 14:06

Re: Neuronale Netze zur Folgeregelung

Post by MacRayBan »

Hallo Thomas!
Was hast du damit gemeint bzw. wieso braucht man mehrere Netze?
Admin wrote: Auch wird eine Rolle spielen, wie schnell man zwischen den Netzen wechseln muss, während des RL Algorithmus
Zur Trajektorie noch folgendes:
Die Trajektorie soll laut meinem Betreuer drei Komponenten beinhalten: zeitlicher Verlauf, Ort, und Drehmoment (um das Regalbediengerät anzutreiben). Im Prinzip ließe sich das auch nur auf den Drehmomentverlauf reduzieren.

Zur Repräsentierung der Trajektorie:
Bei meiner Idee, den Einlagerbereich zu diskretisieren, wird das wohl mit der Anzahl der Ausgabeneurone schwierig, da man für eine hinreichende Güte der Trajektorie und somit der Regelung eine sehr feine Diskretisierung verwenden müsste. Da würde man wie das bei mir der Fall ist bei einem 30m*8m großen Lager schnell in den Bereich 10000 Neurone aufwärts kommen. Wenn man sich dann vorstellt, dass man dieses Konzept nun auf größere Lagersysteme anwendet, dann wächst die Neuronenzahl ins Unermessliche.
Bei diesem Ansatz müsste ich also irgendwie die Anzahl der Ausgabeneurone reduzieren. Stellt sich nur die Frage wie. Eine Idee wäre, sich mit einer akzeptablen Anzahl Ausgabeneurone eine "Aktionsraum" zu definieren, der dann zyklisch durchlaufen wird. Bei jedem Durchlauf wird dann ein Teil der Trajektorie vorgegeben.

Eine zweite Idee, die mir erst heute eingefallen ist, wäre, die Trajektorie durch eine Funktion zu approximieren. Und soweit ich weiß, sind NN ja gute Funktionsapproximatoren. Damit habe ich mich allerdings noch nicht eigehend beschäftigt, was ich aber in den nächsten Tagen sicher tun werde ;-)

Soweit der Stand der Dinge!
Grüße,
Florian
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Neuronale Netze zur Folgeregelung

Post by Admin »

Hallo Florian,
MacRayBan wrote:Was hast du damit gemeint bzw. wieso braucht man mehrere Netze?
Ich bin wie gesagt erst am Einsteigen in RL. Genau weiß ich auch noch nicht, wo NN als Teil einer RL-Umsetzung zum Einsatz kommen können. Als Kandidaten könnte ich mir die Umsetzung folgender Funktionen von RL als (evtl. jeweils eigenes) NN vorstellen:

- Policy
- Reward-Funktion
- Value-Funktion
- evtl. Simulation der Agenten-Umgebung, sprich des Verhaltens des Regalbediengeräts

RL ist kein Lernalgorithmus für ein NN. Vielmehr ist RL eine Lern/Verhaltens - Strategie der KI, die man nicht unbedingt mit NN umsetzen muss, es hat mit NN gar nicht direkt zu tun. Allerdings scheint die Einbeziehung von NN in RL zur Abbildung/zum Erlernen bestimmter Funktionen (s.o.) sehr vorteilhaft zu sein.

Im Moment habe ich noch kein konkretes Bild dieser Funktionen, ich kann sie auch gedanklich noch nicht sauber trennen. Mir ist auch noch gar nicht klar, für welche der Funktionen sich ein NN eignen würde. Evtl. hängt das auch sehr stark vom konkreten Problem ab. Dazu muss ich erst mehr über RL lesen/verstehen.

Bist Du da schon weiter? Du hast irgendwo weiter oben geschrieben, dass Du die Theorie von RL verstanden hast. Wie tief bist Du denn da schon eingetaucht? Kannst Du speziell etwas für den Einstieg empfehlen, was Dir vielleicht gute Dienste geleistet hat? Oder stehst Du da selbst noch ganz am Anfang?

Grüße,
Thomas
Thomas Jetter
MacRayBan
Posts: 8
Joined: Wed 3. Jun 2009, 14:06

Re: Neuronale Netze zur Folgeregelung

Post by MacRayBan »

Interessant zu sehen, dass es dir fast exakt so geht wie mir ;-)
Ich schaffe den gedanklichen Sprung von RL zu NN auch nicht wirklich bzw. es fällt mir extrem schwer vorzustellen, wie RL mit NN interagieren soll. Bei mir kommt zusätzlich noch erschwerend hinzu, dass auch die Thematik NN neu für mich ist :-D ...
Ich bin mit dem Skriptum unter folgendem Link in die ganze NN-Thematik eingestiegen. Hier findet sich auch ein Abschnitt zur RL-Theorie: http://www.dkriesel.com/index.php?id=neuronalenetze
Aber vermutlich kennst du das ohnehin als NN-Fachmann ;-)
Speziell zu RL bin ich auf ein Buch gesoßen, dass auch online zur Verfügung steht:
http://www.cs.ualberta.ca/~sutton/book/the-book.html
Hier finden sich auch noch viele weiterführende Links und Code-Beispiele.
Was ich bis jetzt allerdings noch nicht gefunden habe, ist Literatur dazu wie man RL mit NN kombinieren kann. Aber genau das wäre ja was wir bräuchten...
Und noch ne Frage: Hast du zufällig gute Quellen mit denen ich mich in die Funktionsapproximation durch NN einarbeiten kann?
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Neuronale Netze zur Folgeregelung

Post by Admin »

Vielen Dank für die Links.

Mit dem Skript hatte ich auch bereits angefangen, das entspr. Kapitel lässt sich gut an. Da dann mein Buch eingetroffen ist, bin ich umgeschwenkt auf dieses, muss aber feststellen, dass es bis jetzt nicht hält was es verspricht, didaktisch ist es nicht gerade ein großer Wurf, finde ich.
Hoffe aber, dass ich mit Buch und Skript zusammen weiter komme. Das Buch verwendet angeblich einen RL-Ansatz, der neuronale Netze nutzt. Auch denke ich, dass wenn ich RL erst ein mal richtig verstanden habe, es mir nicht allzu schwer fallen wird, die Brücke zu NN zu schlagen. Die RL-Thematik erscheint mir bis jetzt allerdings alles andere als trivial und ich habe eben nur sehr wenig Zeit, die ich dafür erübrigen kann.

Spannend ist es definitiv, da ich mich auch sehr für autonome Roboter interessiere und RL hier sehr vielversprechend erscheint.

Grüße,
Thomas
Thomas Jetter
MacRayBan
Posts: 8
Joined: Wed 3. Jun 2009, 14:06

Re: Neuronale Netze zur Folgeregelung

Post by MacRayBan »

Seite 158 aus dem Skript:
"...Hier werden die in der Gridworld benutzten Tabellen als State- und Action-Value-Funktionen schlicht nicht mehr realisierbar, wir müssen also Approximatoren für diese Funktionen finden. Und welche lernfähigen Approximatoren für
diese Bestandteile des Reinforcement Learnings fallen uns nun auf Anhieb ein? Richtig: Neuronale Netze."
Scheint also tatsächlich so zu sein, dass man entsprechende RL-Funktionen mit NN repräsentiert! Genau wie du gesagt hast ;-)
Post Reply