Regelstrecke

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.
Post Reply
quanux
Posts: 4
Joined: Wed 2. Jun 2010, 14:53

Regelstrecke

Post by quanux »

Hallo,
Ich bin noch ganz neu bei dem Tema NN.
Mich würde jetzt interessieren wie man eine Regelstrecke mit NN aufbaut, also mit Stellgröße , Störgröße und Rückführung.
Kann mir da vielleicht jemand helfen?
Eignen sich NN überhaupt für die Regelung z.B. von Motoren, oder sind sie zu langsam?
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Regelstrecke

Post by Admin »

Hallo und Willkommen,
quanux wrote:wie man eine Regelstrecke mit NN aufbaut, also mit Stellgröße , Störgröße und Rückführung
quanux wrote:Eignen sich NN überhaupt für die Regelung z.B. von Motoren, oder sind sie zu langsam?
Jetzt bin ich etwas verunsichert: Geht es um die Regelstrecke oder um den eigentlichen Regler?
Den Einsatz eines NN als Regelstrecke kann ich mir nur als Modell, d.h., als Platzhalter für eine echtes, durch einen Regler zu regelndes System denken, also im Rahmen einer simulierten Regelstrecke, an der sich verschiedene Regler testen/optimieren lassen.

Um ein NN widerum als eigentlichen Regler (also ein Netz mit der Rückführung/Regelgröße als Eingang und der Stellgröße als Ausgang) zu verwenden:
Die Geschwindigkeit ist wahrscheinlich nicht das Problem, wenn das Reglernetz einmal trainiert ist, wobei das natürlich immer auf die konkreten Anforderungen und die Performanz der Plattform ankommt, auf der das Netz ausgeführt wird.
Was ich aber als wesentlich grundlegendere Fragestellung sehe:
Woher kommen die Trainingsbeispiele für einen solchen Regler? Ein NN wird typischerweise eingesetzt, um Funktionen nachzubilden, für die man keine mathematische Beschreibung angeben kann (weil sie zu komplex oder unbekannt sind), für die aber eine große Menge gültiger Trainingsbeispiele vorliegen. Im Fall eines Reglers also eine große Menge an Regelgrößen und zugehörigen, optimalen Stellgrößen. Das Netz kann dann den Zusammenhang zwischen Regelgröße (also Rückführung) und dazu passender Stellgröße erlernen und so einen bereits vorhandenen Regler im Verhalten nachahmen/ersetzen. Dazu muss aber wie gesagt ein optimaler Regler bereits vorhanden sein, um die richtigen Trainingsbeispiele zu gewinnen. Dies könnte z.B. ein Mensch sein, der den Motor besser steuern kann, als dies konventionelle Regler können. Es könnte auch ein konventioneller Regler sein, aber was wäre hier der Nutzen eines NN, wenn man doch schon einen konventionellen, optimalen Regler hat?

Was ein NN 'so einfach von alleine' nicht kann, ist ein optimales Regelverhalten 'aus sich heraus' erlernen. Um so etwas zu realisieren, braucht man übergeordnete, wesentlich komplexere KI-Ansätze, wie z.B. Reinforcement Learning (RL). RL nutzt oft widerum neuronale Netze als eine Kern-Komponente, und über Scripting oder in einer anderen höheren Programmiersprache in Verbindung mit der MemBrain dll könnte man so etwas auch mit MemBrain implementieren. Allerdings ist das ein sehr herausforderndes, komplexes Unterfangen und erfordert wie gesagt weit mehr als ein neuronales Netz an sich.

Ich denke also, bevor wir in mögliche Konzepte einsteigen, sollten wir versuchen, die eigentliche Zielsetzung und damit die Problemstellung etwas genauer auszudiskutieren.

Viele Grüße
Thomas Jetter
quanux
Posts: 4
Joined: Wed 2. Jun 2010, 14:53

Re: Regelstrecke

Post by quanux »

Hallo,
vielen Dank erst mal für die super Antwort.
Vielleicht bin ich die Sache etwas zu naiv angegangen, bin wie gesagt noch ganz neu in der Materie.
Ich hatte mir das etwa so vorgestellt, dass ich über Sensoren Daten bekomme (z.B. von Gyroskopen) die das Netz über Ausgänge, die an Motoren angeschlossen sind versucht an einen vorgegebenen Sollwert anzugleichen.
Jetzt soll das netzt aber selbstendig lernen welche Motoren es ansteuern muss um am schnellsten auf die gewünschten Werte zu kommen.

Die Standardlösung wehre wohl ein normaler PID-Regler, dachte aber vielleicht kommt man so auf noch bessere Resultate.
quanux
Posts: 4
Joined: Wed 2. Jun 2010, 14:53

Re: Regelstrecke

Post by quanux »

Kann mir vieleicht jemand einen Tipp geben wie man so etwas realisieren kann ?

Wehre für jede Hilfe dankbar.
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Regelstrecke

Post by Admin »

Wie gesagt, 'nur' ein neuronales Netz wird hier nicht helfen, da Du ja a priori keine Daten hast, aus denen Dein Netz lernen könnte.
Überwachtes Lernen versucht ein Netz so zu trainieren (d.g., seine Gewichte anzupassen), dass bei gegebenen Inputs die Outputs des Netzes möglichst nah an vorgegebenen Solloutputs liegen.
Gelingt dies, dann hat man die Chance, dass das Netz auch auf unbekannte Inputs (d.h., die beim Training nicht bekannt waren), gute Output-Werte zu ermitteln.

Ein NN ist somit in diesem -meist verwendeten- Fall ein sogenannter Funktionsapproximator, der basierend auf bekannten In- und Outputs antrainiert wird.

Dein Problem hat eine ganz andere Dimension:
Soweit ich es verstanden habe, gibt es in Deinem Fall noch gar keine Beispieldaten, mit denen sich ein Netz trainieren ließe: Woher soll Dein Netz also wissen, was es erlernen soll?

Um so etwas umzusetzen, muss man wie gesagt zu hierarchisch sehr viel höher angelegten Lernparadigmen greifen, wie z.B. RL.

Mein Lieblichsbuchtipp dazu:

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

Dieses Buch ist wirklich phantastisch. Wenn Du wirklich vorhast, Dein Projekt eines selbst an der Umwelt lernenden Reglers umzusetzen, kann ist das der ideale Einstieg, Du wirst dann um RL nicht herumkommen, denke ich.

Oder trifft doch der Fall zu, dass menschliches Regeln der Motoren und 'mitlauschen' von Stell- und Regelgrößen zu vielen guten Datensätzen führen könnte? In diesem Fall wäre das auch ein gangbarer Weg, das NN könnte dann aber natürlich niemals besser werden als der Mensch, es würde also 'nur' vom menschlichen Regeln lernen (inklusive aller Fehler ;-) ).

Viele Grüße,
Thomas
Thomas Jetter
quanux
Posts: 4
Joined: Wed 2. Jun 2010, 14:53

Re: Regelstrecke

Post by quanux »

Also menschliches regeln der Motoren geht eher nicht.
Es gebe natürlich noch die Möglichkeit einen PID-Regler zu bauen und dann das Netz mit seinen Ausgangs-Daten zu fütter.
Allerdings hätte man davon ja keine Vorteile, weil dann das Netz ja im besten Fall nur das gleiche macht wie der bereits existierende Regler.

Ich werd mir mal deine Buchempfehlung zu Gemüte führen.
Scheint wohl doch ein längeres Projekt zu werden, vor allem weil meine Englischkenntnisse schon etwas eingerostet sind.

Vielen dank für die Hilfe soweit.
Post Reply