9. Vorlesung Neuronale Netze - uni-saarland.de · SC WS 17/18 Georg Frey236 Vorbemerkungen •...

37
9. Vorlesung Neuronale Netze Anwendungen in der AT Soft Control (AT 3, RMA)

Transcript of 9. Vorlesung Neuronale Netze - uni-saarland.de · SC WS 17/18 Georg Frey236 Vorbemerkungen •...

9. Vorlesung

Neuronale Netze

Anwendungen in der AT

Soft Control

(AT 3, RMA)

SC

234 WS 17/18 Georg Frey

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

SC

235 WS 17/18 Georg Frey

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

SC

236 WS 17/18 Georg Frey

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

SC

237 WS 17/18 Georg Frey

Bildung eines Streckenmodells

• Ziel:

Modellierung der Strecke

Netz bildet die Funktion yk = f(uk-1, yk-1)

Bei Systemen höherer Ordnung: yk = f(uk-1,uk-2,... ,yk-1,yk-2,...)

• Eingabe:

Aktuelle und vergangene Werte des Streckeneingangs u

vergangene Werte des Streckenausgangs y

• Ausgabe:

Aktueller Streckenausgang yk

• Beispiel

SC

238 WS 17/18 Georg Frey

Bildung eines inversen Streckenmodells

• Ziel:

Modellierung der inversen Strecke

Netz bildet die Funktion uk-1 = f(yk, yk-1) bzw. uk-1 = f( yk ,yk-1,yk-2,... uk-2,uk-3,... )

• Eingabe:

Aktuelle und vergangene Werte des Streckenausgangs y

vergangene Werte des Streckeneingangs u

• Ausgabe:

Aktueller Streckeneingang uk-1

• Beispiel

SC

239 WS 17/18 Georg Frey

Einsatz des direkten Streckenmodells

• Schätzung von online nicht messbaren Zustandsgrößen für die

Verwendung in einem Regler (virtueller Sensor, Beobachter)

Regler Strecke

NN Modell

w u ym

Verknüpfung

yNN

y

-

SC

240 WS 17/18 Georg Frey

Einsatz des inversen Modells (idealisiert)

• Bei idealem inversen Modell ist eine Steuerung möglich

Aber:

• Modell wird nicht ideal sein

• Es treten Störungen auf

Strecke inverses NN Modell w u y

SC

241 WS 17/18 Georg Frey

Einsatz des inversen Modells (real)

• Einsatz eines Reglers zur Ausregelung von Störungen und zum

Ausgleich der Modellfehler

Strecke inverses NN Modell y

Lin. Regler w u

-

SC

242 WS 17/18 Georg Frey

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

SC

243 WS 17/18 Georg Frey

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

SC

244 WS 17/18 Georg Frey

Gegenüberstellung NN vs. Fuzzy

- z.T. sehr lange Rechenzeiten,

- unsichere Konvergenz

- u.U. lange

Rechenzeiten beim

Trainieren,

- sehr viele

konkurrierende

Netzstrukturen,

- keine

Extrapolations-

möglichkeit, d.h.

gute Ergebnisse nur

bei Eingangsdaten

im Bereich der

Trainingsdaten

- Wissen im Netz

kaum

interpretierbar

- u.U. schwierige

Wissenserwerbsphase

- Optimierungsphase

z.T. langwierig

- ungewohnte

Denkweise

- Vorgehensweise bei

komplexen Prozessen

sehr aufwendig und

teuer

- Regelungsspezialisten

zur Erstellung der

Algorithmen und zu

deren Änderung nötig

- wenig Standard-

werkzeuge zur

Realisierung auf

Standardhardware, z.B.

SPS

+ wie bei Neuronalem Netz,

aber

+ bessere Interpretierbarkeit

des Wissens,

+ Wissen kann durch Lernen

sukzessive ergänzt werden

+ lernfähig und

anpassbar an sehr

komplexe

dynamische

Prozesse,

+ Nachtrainieren bei

Änderungen im

Prozess ist möglich

+ umgangssprachliche,

allgemeinverständliche

Formulierung der

Algorithmen,

+ einfache

Erweiterbarkeit der

Regelbasis

+ Integration des

Wissens mehrerer

Know-How-Träger

möglich

+ vertieftes

Prozessverständnis

aufgrund der

Prozessanalyse,

+ i.d.R. sehr gute

Regelungsergebnisse,

optimale Lösungen

möglich

+ Stabilitätsnachweise

möglich

Neuro-Fuzzy Neuronale Netze Fuzzy Control Klassische Methodik

SC

245 WS 17/18 Georg Frey

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 weniger komplexen Fuzzy-Systemen als Neuronen.

(F) 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.

SC

246 WS 17/18 Georg Frey

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.

SC

247 WS 17/18 Georg Frey

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

SC

248 WS 17/18 Georg Frey

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)

SC

249 WS 17/18 Georg Frey

Hybride Neuro-Fuzzy-Systeme (Beispiel)

x1

x2

SC

250 WS 17/18 Georg Frey

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

SC

251 WS 17/18 Georg Frey

Motivation

Aufbau eines elektrischen Energieversorgungsnetzes

Kraftwerke Netz

(geringe Speicherkapazität)

Verbraucher

Steuerung

An/Aus

deterministisch, bekannt nicht deterministisch,

nur Vergangenheit bekannt

PI PO

SC

252 WS 17/18 Georg Frey

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

PI=PO

• 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

SC

253 WS 17/18 Georg Frey

Lastkurven-Analyse

• 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

MW

SC

254 WS 17/18 Georg Frey

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

KNN

Modell

( 1, 2,... 8)L k k k ( 4)L k

SC

255 WS 17/18 Georg Frey

Prognose mit künstlichen neuronalen Netzen (KNN)

• Lastkurven-Normierung

MW

SC

256 WS 17/18 Georg Frey

Prognose mit künstlichen neuronalen Netzen (KNN)

KNN

Modell

( 1, 2,... 8)L k k k ( 4)L k

Drei-Schichten-Feed-Forward-Struktur

Prognose-Grundidee

1

2

......

8

L k

L k

L k

p 4a L k

Lastverlauf der letzten beiden Stunden

Last in einer Stunde

SC

257 WS 17/18 Georg Frey

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

SC

258 WS 17/18 Georg Frey

Prognose mit künstlichen neuronalen Netzen (KNN)

• An vielen Stellen ist der relative Fehler größer als 10%

Die Genauigkeit muss verbessert werden

Idee: Einbau von Wavelettransformation

Relativer Fehler

SC

259 WS 17/18 Georg Frey

Wavelettransformation

• Entwicklung der Wavelettransformation Fouriertransformation

Transformation von Zeit- in Frequenzbereich

Short-Time-Fouriertransformation

zusätzliche Information welche Frequenz in welchem Zeitraum auftritt

Kontinuierliche Wavelettranformstion

Transformation von Zeit in Frequenz-und Zeitbereich

Diskrete Wavelettransformation (DWT)

Realisierung in Computer

A Trous-Algorithmus der Wavelettransformation

• Verschiebungsinvariant

• gleiche Dantenlänge in den verschiedenen Frequenzanteilen

• geeignet für Echtzeitsysteme

f t F f

1 2

10

, ,...t t t t

t t t

f t F f F f

,f t F f

SC

260 WS 17/18 Georg Frey

Diskrete Wavelettransformation (DWT) (Implementierung)

• Analyse eines Signals

HP

TP

2

Hochpassfilter

Tiefpassfilter

Downsampling

x d1 a1 d2 a2 d3 a3

Abtastpunkte N N/2 N/2 N/4 N/4 N/8 N/8

Frequenzgang f<fs/2 fs/4<f<fs/2 f<fs/4 fs/8<f<fs/4 f<fs/8 fs/16<f<fs/8 f<fs/16

SC

261 WS 17/18 Georg Frey

Diskrete Wavelettransformation (DWT)

• Beispiel

SC

262 WS 17/18 Georg Frey

Diskrete Wavelettransformation (DWT)

• Synthese eines Signals

Upsampling

SC

263 WS 17/18 Georg Frey

Diskretewavelettransformation (DWT)

• Anforderung der DWT bei der Analyse des Echtzeitsystems

Lokalierung von Zeitpunkten in den verschiedenen Skalierungen

Verschiebungsinvarianz des Systems

Originalkurve

Verschieben

Wavelet-

transformation

Wavelet-

koeffizienten

Koeffizenten

verschieben

Wavelet-

transformation

Wavelet-

koeffizienten

SC

264 WS 17/18 Georg Frey

Á-Trous-Algorithmus der Wavelettransformation

d1

d2

d3

a3

• Eigenschaften des Á-Trous-Algorithmus

Verschiebungsinvarianz

gleiche Datenlänge aller Waveletkoeffizienten der verschiedenen Skalierungen

g[n] : Tiefpassfilter

h[n] : Hochpassfilter

SC

265 WS 17/18 Georg Frey

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

SC

266 WS 17/18 Georg Frey

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.

Aufgezeichnete

Lastkurven

a4

d4

d3

d2

d1

netA4

netD4

netD3

netD2

netD1

Prognostizierte

Lastkurve

Wavelet

Rück-

transformation

Ã-Trous

Wavelet

SC

267 WS 17/18 Georg Frey

Prognose : ANN + A Trous

• Vier-Schritt-Prognose-Ergebnis

Training mit Woche1

Zielvektor(SimT): Lastkurve Woche3

Ausgangvektor(Y): Prognose von Woche3

SC

268 WS 17/18 Georg Frey

Prognose : ANN + A-Trous

• 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

Relativer Fehler

SC

269 WS 17/18 Georg Frey

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