Soft Control (AT 3, RMA) 9. Vorlesung Neuronale Netze Anwendungen in der AT
9. Vorlesung im Aufbau der Vorlesung 1. Einführung Soft Control: Definition und Abgrenzung, Grundlagen "intelligenter" Systeme 2. Wissensrepräsentation und Wissensverarbeitung (Symbolische KI) Anwendung: Expertensysteme 3. Fuzzy-Systeme: Umgang mit unscharfem Wissen Anwendung: Fuzzy-Control 4. Konnektionistische Systeme: Neuronale Netze Anwendung: Identifikation und neuronale Regler 1. Grundlagen 2. Lernverfahren 3. Anwendungen n der Automatisierungstechnik 5. Stochastische Optimierung (Genetische Algorithmen, Simulated Annealing, Differential Evolution) Anwendung: Optimierung 6. Zusammenfassung & Literaturhinweise 234
Inhalt der 9. Vorlesung Modellierung von Systemen mit NN Vorbemerkungen direktes Modell inverses Modell Anwendung Regelung virtuelle Sensoren Bewertung NN Vergleich NN und Fuzzy Mögliche Kombinationen Anwendungsbeispiel: Lastkurvenprognose 235
Vorbemerkungen Neuronale Netze können beliebige nichtlineare Zusammenhänge zwischen mehreren Eingangs- und Ausgangsgrößen modellieren Reine Feed-Forward Netze können aber nur statische Zusammenhänge abbilden Lösung 1: Rekurrente Netze - Training ist schwieriger Lösung 2: Externe Rückkopplungen d.h. Verarbeitung von Vergangenheitswerten + einfache Lernalgorithmen wie Backpropagation können verwendet werden - Die Anzahl der Vergangenheitswerte muss festgelegt werden Idee zur Identifikation mit Vergangenheitswerten: Diskretes Modell 236
Bildung eines Streckenmodells Ziel: Modellierung der Strecke Netz bildet die Funktion y k = f(u k-1, y k-1 ) Bei Systemen höherer Ordnung: y k = f(u k-1,u k-2,...,y k-1,y k-2,...) Eingabe: Aktuelle und vergangene Werte des Streckeneingangs u vergangene Werte des Streckenausgangs y Ausgabe: Aktueller Streckenausgang y k Beispiel 237
Bildung eines inversen Streckenmodells Ziel: Modellierung der inversen Strecke Netz bildet die Funktion u k-1 = f(y k, y k-1 ) bzw. u k-1 = f( y k,y k-1,y k-2,... u k-2,u k-3,... ) Eingabe: Aktuelle und vergangene Werte des Streckenausgangs y vergangene Werte des Streckeneingangs u Ausgabe: Aktueller Streckeneingang u k-1 Beispiel 238
Einsatz des direkten Streckenmodells Schätzung von online nicht messbaren Zustandsgrößen für die Verwendung in einem Regler (virtueller Sensor, Beobachter) w u y m Regler Strecke - NN Modell y y NN Verknüpfung 239
Einsatz des inversen Modells (idealisiert) Bei idealem inversen Modell ist eine Steuerung möglich w u y inverses NN Modell Strecke Aber: Modell wird nicht ideal sein Es treten Störungen auf 240
Einsatz des inversen Modells (real) Einsatz eines Reglers zur Ausregelung von Störungen und zum Ausgleich der Modellfehler w - Lin. Regler inverses NN Modell u Strecke y 241
Zusammenfassung Anwendung von NN in der AT Neben den klassischen Aufgaben wie Mustererkennung, Klassifikation,... können NN auch für die Kernaufgaben in der AT eingesetzt werden Beobachter bzw. virtueller Sensor Regler (in Kombination mit konventionellen Reglern) Kombinationen sind möglich Neben den gezeigten Grundideen existieren viele weitere Strukturen 242
Bewertung NN Neuronale Netze können auf Basis von Daten trainiert werden keine Modellierung der Prozesse erforderlich Erfolgreiche Anwendungen zeigen das Potenzial der Methode Das Wissen ist in der Struktur des NN kodiert Eine Überprüfung, Interpretation der errechneten Ausgaben ist praktisch nicht möglich (Akzeptanzprobleme!) Training von NN ist aufwendig Beschaffung von guten Daten kann problematisch sein Zur Festlegung der Strukturparameter Anzahl der versteckten Schichten Anzahl der Neuronen in den versteckten Schichten Art der Vernetzung Art der verwendeten Aktivierungsfunktionen Einstellung der Lernparameter und Abbruchkriterien existieren bestenfalls Heuristiken 243
Gegenüberstellung NN vs. Fuzzy Klassische Methodik Fuzzy Control Neuronale Netze Neuro-Fuzzy + vertieftes Prozessverständnis aufgrund der Prozessanalyse, + i.d.r. sehr gute Regelungsergebnisse, optimale Lösungen möglich + Stabilitätsnachweise möglich + umgangssprachliche, allgemeinverständliche Formulierung der Algorithmen, + einfache Erweiterbarkeit der Regelbasis + Integration des Wissens mehrerer Know-How-Träger möglich + lernfähig und anpassbar an sehr komplexe dynamische Prozesse, + Nachtrainieren bei Änderungen im Prozess ist möglich + wie bei Neuronalem Netz, aber + bessere Interpretierbarkeit des Wissens, + Wissen kann durch Lernen sukzessive ergänzt werden - Vorgehensweise bei komplexen Prozessen sehr aufwendig und teuer - Regelungsspezialisten zur Erstellung der Algorithmen und zu deren Änderung nötig - wenig Standardwerkzeuge zur Realisierung auf Standardhardware, z.b. SPS - u.u. schwierige Wissenserwerbsphase - Optimierungsphase z.t. langwierig - ungewohnte Denkweise - u.u. lange Rechenzeiten beim Trainieren, - sehr viele konkurrierende Netzstrukturen, - keine Extrapolationsmöglichkeit, d.h. gute Ergebnisse nur bei Eingangsdaten im Bereich der Trainingsdaten - Wissen im Netz kaum interpretierbar - z.t. sehr lange Rechenzeiten, - unsichere Konvergenz 244
Ansätze zur Kombination von NN und Fuzzy (A) Kooperative Neuro-Fuzzy-Systeme: Fuzzy-Systeme, die durch Neuronale Netze trainiert werden. Ein nachgeschaltetes Neuronales Netz kann z.b. lernen wie weit man einer Regel bei bestimmten Situationen vertrauen kann. (B) Regelbasiertes Training eines normalen Neuronalen Netzes (C) Hybride Neuro-Fuzzy-Systeme: normale neuronale Netze, die Fuzzy-Neuronen (z.b. min-/max-neuronen) und Fuzzy-Gewichte benutzen. Die Struktur des Fuzzy-Systems lässt sich in der Netztopologie wieder erkennen. (D) Neuronale Netze die mit Fuzzy-Lernmethoden trainiert werden. Es werden die Veränderungen der Gewichte zwischen den Neuronen bei jedem Lernschritt durch ein Fuzzy-System berechnet. (E) topologische Konfiguration eines Neuronalen Netzes, mit mehr oder (F) weniger komplexen Fuzzy-Systemen als Neuronen. Ein Mix aus klassischen Experten-Systemen und einem der obigen Ansätze. Wichtig sind die Ansätze A und B und C. Die anderen Klassen sind nicht so weit verbreitet. 245
Kooperierende Neuro-Fuzzy-Systeme (2 von vielen Ansätzen) Fein-Tuning eines Fuzzy-Controllers durch NN Einem Fuzzy-Controller wird ein NN nachgeschaltet Die Ausgaben des Fuzzy Systems werden sofort durch das Neuronale Netz nachbearbeitet. So kann man auf einem vorhandenen Basiswissen aufbauend (steckt im Fuzzy-System) ein nicht lineares System konstruieren, das sich dennoch an eine speziellere Gegebenheiten anpassen kann, die nicht durch das Basiswissen abgedeckt werden. Dieses Fein-Tunen der Ausgabe übernimmt das Neuronale Netz. Welches Tuning bei welcher Eingabe erforderlich ist kann das Netz lernen. Das Fuzzy System muss keine defuzzyfizierte Ausgabe liefern, auch das kann das Neuronale Netz erledigen. Vorverarbeitung der Eingangswerte eines Fuzzy-Controllers durch NN Einem Fuzzy-Controller wird ein NN vorgeschaltet Die Ausgaben des NN werden sofort durch den Fuzzy-Controller weiter bearbeitet. So werden Veränderungen in den Eingabedaten, die nicht mehr durch das Fuzzy-System verarbeitet werden können, vorher vom Neuronelen Netz ausgeglichen. 246
Regelbasiertes Training eines NN NN können nur auf Basis von numerischen Daten trainiert werden Oft ist aber ein grobes Vorwissen über den Prozess in Form von Fuzzy- Regeln vorhanden Lösung: Abbildung der linguistischen Regeln (qualitativ) auf entsprechende Trainingsdatensätze (quantitativ) Die linguistischen Terme werden auf Zahlen abgebildet (entsprechend der jeweiligen ZGF) Die Regeln werden dann durch die entsprechenden Werte beschrieben Beim Training interpoliert das Netz zwischen den Werten Beispiel: Drei Variablen X1, X2 und Y mit Werten Klein Mittel Groß im Bereich [0, 1] werden mit der Vorschrift (Klein = 0; Mittel = 0,5; Groß = 1) auf Zahlen abgebildet Die Regel wenn X1=Klein Und X2 = Groß dann Y = Groß Ergibt einen Datensatz X = (0, 1); T = 1 247
Hybride Neuro-Fuzzy-Systeme Abbildung eines Fuzzy-Controllers auf ein Neuronales Netz Beispiel: 1. Schicht: Input-Fuzzy-Sets 2. Schicht: Berechnung der Erfüllungsgrade der Regeln 3. Schicht: Output-Fuzzy-Sets 4. Schicht: Defuzzyfizierung Andere Varianten legen die Fuzzy-Sets in die Gewichte Training mit Daten Interpretation der gelernten Gewichte als Regeln (Gewichte zwischen Schicht 1 und 2 bzw. zwischen 2 und 3) 248
Hybride Neuro-Fuzzy-Systeme (Beispiel) x 1 x 2 249
Bsp.: Lastkurven-Prognose in elektrischen Energieversorgungsnetzen Anwendungsbeispiel Lastprognose mit KNN Motivation Lastkurven-Analyse Prognose mit künstlichen neuronalen Netzen (KNN) Wavelettransformation Bewertung der Ergebnisse Zusammenfassung 250
Motivation Aufbau eines elektrischen Energieversorgungsnetzes Steuerung An/Aus deterministisch, bekannt nicht deterministisch, nur Vergangenheit bekannt Kraftwerke P I Netz (geringe Speicherkapazität) P O Verbraucher 251
Motivation Lastkurven-Prognose spielt eine große Rolle im Betrieb von Energieversorgungsnetzen Energieerzeugung soll kosteneffizient sein Elektrische Energie ist schwierig zu speichern Es sollte zu jedem Zeitpunkt nur soviel elektrische Energie erzeugt werden wie auch benötigt wird P I =P O Daher benötigt man auf aufgezeichneten Verbrauchsprofilen basierende Prognose Unterprognose führt zum nicht ausreichenden Vorhalten von Reservekapazität Überprognose verursacht unnötige Reservekapazität 252
Lastkurven-Analyse MW Netzlast vom 09.06.2003 bis 29.06.2003 (als drei einzelne Wochen) in der Regelzone RWE-Transportnetz-Strom 1. Von Montag bis Sonntag jeweils von 0 Uhr bis 24 Uhr 2. Angegeben sind 15-Minuten-Mittelwerte 3. 4*24=96 Messpunkte pro Tag; 96*7=672 Messpunkte pro Woche 253
Prognose mit künstlichen neuronalen Netzen (KNN) Prognose-Ablauf Lastkurven-Normierung Prognose Grundidee KNN-Definition Struktur, Eingangsvektor, Ausgangsvektor, Aktivierungsfunktion KNN-Training ( mit einer ganzen Woche (hier Woche 1)) Backpropagation-Algorithmus Lernrate KNN-Anwendung (mit Woche 2 oder 3) Ergebnis-Entnormierung L( k 1, k 2,... k 8) Lk ( 4) KNN Modell 254
Prognose mit künstlichen neuronalen Netzen (KNN) MW Lastkurven-Normierung 255
Prognose mit künstlichen neuronalen Netzen (KNN) Drei-Schichten-Feed-Forward-Struktur L k1 L k 2... L k8 p a Last in einer Stunde L k 4 Lastverlauf der letzten beiden Stunden Lk ( 4) L( k 1, k 2,... k 8) KNN Modell Prognose-Grundidee 256
Prognose mit künstlichen neuronalen Netzen (KNN) Vier-Schritt-Prognose-Ergebnis Training des KNN mit Woche1 Zielvektor(SimT): Lastkurve Woche3 Ausgangvektor(Y): Prognose von Woche3 257
Prognose mit künstlichen neuronalen Netzen (KNN) Relativer Fehler An vielen Stellen ist der relative Fehler größer als 10% Die Genauigkeit muss verbessert werden Idee: Einbau von Wavelettransformation 258
Wavelettransformation Entwicklung der Wavelettransformation Fouriertransformation Transformation von Zeit- in Frequenzbereich f t F f Short-Time-Fouriertransformation zusätzliche Information welche Frequenz in welchem Zeitraum auftritt 1 Kontinuierliche Wavelettranformstion Transformation von Zeit in Frequenz-und Zeitbereich Diskrete Wavelettransformation (DWT) Realisierung in Computer tt 1 2 f t F f, F f,..., f t F f t0 tt tt A Trous-Algorithmus der Wavelettransformation Verschiebungsinvariant gleiche Dantenlänge in den verschiedenen Frequenzanteilen geeignet für Echtzeitsysteme 259
Diskrete Wavelettransformation (DWT) (Implementierung) Analyse eines Signals HP TP Hochpassfilter Tiefpassfilter 2 Downsampling x d1 a1 d2 a2 d3 a3 Abtastpunkte N N/2 N/2 N/4 N/4 N/8 N/8 Frequenzgang f<f s /2 f s /4<f<f s /2 f<f s /4 f s /8<f<f s /4 f<f s /8 f s /16<f<f s /8 f<f s /16 260
Diskrete Wavelettransformation (DWT) Beispiel 261
Diskrete Wavelettransformation (DWT) Synthese eines Signals Upsampling 262
Diskretewavelettransformation (DWT) Anforderung der DWT bei der Analyse des Echtzeitsystems Lokalierung von Zeitpunkten in den verschiedenen Skalierungen Verschiebungsinvarianz des Systems Originalkurve Verschieben Wavelettransformation Wavelettransformation Koeffizenten verschieben Waveletkoeffizienten Waveletkoeffizienten 263
Á-Trous-Algorithmus der Wavelettransformation Eigenschaften des Á-Trous-Algorithmus Verschiebungsinvarianz gleiche Datenlänge aller Waveletkoeffizienten der verschiedenen Skalierungen a3 d3 g[n] : Tiefpassfilter d2 h[n] : Hochpassfilter d1 264
Wavelettransformation Beispiel des A-Trous-Algorithmus Lastkurve Woche1 wird in 4 Schichten aufgespalten a4: Approximations-Signal; d4,d3,d2,d1: Detail-Signale a4 besitzt die größte Amplitude und die niedrigste Frequenz d1 besitzt die kleinste Amplitude und die größte Frequenz 265
Prognose : KNN + A-Trous Prognose-Ablauf mit KNN und A-Trous Für jedes aufgespaltene Signal wird ein KNN Modell aufgebaut Je mehr Schichten, desto höher die Genauigkeit der Synthese-Lastkurve d1 wird für die Prognose als Rauschen betrachtet und vernachlässigt. a4 neta4 d4 netd4 Aufgezeichnete Lastkurven Ã-Trous Wavelet d3 netd3 Wavelet Rücktransformation Prognostizierte Lastkurve d2 netd2 d1 netd1 266
Prognose : ANN + A Trous Vier-Schritt-Prognose-Ergebnis Training mit Woche1 Zielvektor(SimT): Lastkurve Woche3 Ausgangvektor(Y): Prognose von Woche3 267
Prognose : ANN + A-Trous Relativer Fehler An den meißten Stellen ist der relative Fehler kleiner als 2% Der Fehler ist nie größer als 6% Im Vergleich zum KNN ohne A-Trous ist die Genauigkeit deutlich verbessert 268
Zusammenfassung und Lernkontrolle zur 9. Vorlesung Grundlegende Anwendungen von NN in der AT kennen Modellformen bei der Identifikation und deren Ziel direkt invers Neuronale Netze mit anderen Ansätzen (speziell Fuzzy) vergleichen können Daraus Gründe für Neuro-Fuzzy ableiten Mögliche Arten der Kombination von NN mit Fuzzy kennen und deren Grundidee erläutern können Einsatz von neuronalen Netzen zur Prognose wurde gezeigt Neuronale Netze isoliert angewendet bringen keine zufrieden stellenden Ergebnisse bei der Lastkurvenprognose Durch Kombination mit Wavelet-Transformation konnten Ergebnisse deutlich verbessert werden 269