1 / 85

Wissensextraktion mittels künstlicher neuronaler Netze Vorwärts gerichtete NN

Wismar Business School. Wissensextraktion mittels künstlicher neuronaler Netze Vorwärts gerichtete NN. Uwe Lämmel. www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de. Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz

jaunie
Télécharger la présentation

Wissensextraktion mittels künstlicher neuronaler Netze Vorwärts gerichtete NN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wismar Business School Wissensextraktion mittelskünstlicher neuronaler NetzeVorwärts gerichtete NN Uwe Lämmel www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de

  2. Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz Partiell rückgekoppelte Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung Inhalt

  3. ... Adaline – LTU – Perzeptron Eine trainierbare Verbindungsschicht • Adaptive linear element • Linear Threshold Unit • Perzeptron

  4. Abbildungsschicht Ausgabe-schicht Bild trainierbare vollständige Verbindung Feste 1-1- Verbindungen Perzeption PerzeptionWahrnehmung als erste Stufe der Erkenntnisin der Psychologie der Vorgang der (sinnl.) Wahrnehmung eines Gegenstandes ohne bewusstes Erfassen und Identifizieren des Wahrgenommenen Meyers Neues Lexikon

  5. Perzeptron s.a. Minsky,Papert: Perceptrons,1969 entwickelt von Rosenblatt (um 1960) • Bild: • binäre Eingaben, werden weitergereicht, • keine trainierbaren Verbindungen • Abbildungsschicht = Eingabeschicht • Propagierungsfunktion netj =  oiwij • Aktivierungsfunktion Ausgabefunktion = Identität, somit: oj = aj = 1 falls netj j , 0 sonst • Lernen:Das Perzeptron kann in endlicher Zeit alles lernen, was es repräsentieren kann. (perceptron convergence theorem, F. Rosenblatt)

  6. j 1 2 Lineare Trennbarkeit Das Neuron j soll 0 liefern,falls beide Neuronen 1und 2 gleiche Werte liefern(o1=o2), ansonsten 1: netj = o1w1j + o2w2j 0 w1j + 0w2j < j 0 w1j + 1w2jj 1w1j + 0w2jj 1w1j + 1w2j<j ?

  7. o2 (1,1) 1 o1 (0,0) 1 o1*w1 +o2*w2=q Lineare Trennbarkeit • netj = o1w1j + o2w2j  Gerade im 2-dim. Raum • Gerade teilt Ebene so, dass (0,1) und (1,0) stets in unterschiedlichen Teilebenen liegen. Netz kann die geforderte Aufgabe nicht lösen: • Ein Neuronales Netz zur Realisierung der XOR-Funktion benötigt weitere, verdeckte Zellen. • Ein Perzeptron kann nur sehr wenige Funktionen repräsentieren.

  8. Lernverfahren while Eingabemusterdobegin nächstes Eingabemuster Iund berechne Ausgabemuster O foreachj in AusgabeNeuronen do ifojtjthen ifoj=0 then {Ausgabe=0, aber 1 erwartet} for eachi in EingabeNeuron dowij:=wij+oi elseifoj=1 then {Ausgabe=1, aber 0 erwartet} foreachi in EingabeNeuron dowij:=wij-oi ; end Wiederhole bis gewünschtes Verhalten erreicht

  9. Mustererkennung • Dekodierung • Eingabe: Binärcode einer Ziffer • Ausgabe: Unärcode: soviel Einsen, wie Ziffer angibt 5 : 1 1 1 1 1 • Architektur:

  10. Mustererkennung - Klassifikation • Dekodierung • Eingabe: Binärcode einer Ziffer • Ausgabe: Zuordnung zu einer Klasse:0~ 1.Neuron, 1~ 2. Neuron, ... 5~ 6. Neuron, ... • Architektur:

  11. Aufgaben • Machen Sie sich mit der EXCEL-Lösung des Problems vertraut. • Implementieren Sie (in PASCAL/Java) ein 4-10-Perzeptron zum umwandeln von Binärzahlen (0..9) in eine Dezimalzahl. Implementieren Sie den Lernalgorithmus und trainieren Sie das Netz. • Welche Modifizierung muss der Lernalgorithmus erfahren, damit ein Lerneffekt eintritt? • Welche Ausgabe (Unäre Darstellung oder Klassifikation) lässt sich schneller lernen?

  12. Aufgaben • Entwickeln Sie ein Perzeptron zur Erkennung von Ziffern 0..9. Eingabe-Schicht: 3x7-Eingabe-NeuronenNutzen Sie den SNNS oder JavaNNS • Wie können mehrstellige Zahlen erkannt werden? • Entwickeln Sie ein Perzeptron zur Erkennung von Großbuchstaben.Eingabeschicht 5x7

  13. Mehrstufiges Perzeptron Hebt Beschränkungen des einfachen Perzeptrons auf • mehrere trainierbare Schichten • Zweistufige Perzeptrons können konvexe Polygone klassifizieren. • Dreistufige Perzeptrons können beliebige Mengen erkennen (durch Überlagerung konvexer Polygone). Mehrstufiges Perzeptron (multi layer percetron) = vorwärts gerichtetes Netz = Backpropagation – Netz

  14. Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz Partiell rückgekoppelte Netze Einsatz Wettbewerbslernen Zusammenfassung Inhalt

  15. Backpropagation – Netze

  16. Vorwärts gerichtetes Netz

  17. Trainings-muster p Oi=pi Ni netj Oj=actj Nj netk Ok=actk Nk Eingabe-Schicht verdeckte Schicht(en) Ausgabe-Schicht Berechnung einer Ausgabe

  18. Backpropagation – Lernverfahren • Form des überwachten Lernens • Fehler des Netzes über alle Trainingsmuster in Abhängigkeit der Gewichte wi :E(W) = E(w1,w2, ... , wn) • Gesucht ist minimaler Fehler • minimaler Fehler = Tal der Fehlerkurve(-fläche) • Backpropagation ist ein Gradientenabstiegsverfahren

  19. Fehlerkurve

  20. Problem • Fehler in Ausgabeschicht = Differenz Ausgabe – Trainingsausgabe • Fehler in verdeckter Schicht? Eingabe-Schicht Ausgabe Trainings-ausgabe verdeckte Schicht

  21. Ansatz: Gradientenabstieg Gradient: • Vektor orthogonal zu einer Fläche in Richtung des stärksten Anstiegs • Ableitung einer Funktion: Projektion des Gradienten auf diese Richtung möglicher Fehlerverlauf eines Gewichtes wi

  22. tan  = f‘(x) = 2x tan  = f(x) / (x-x‘)  x‘ =½(x + a/x) f(x)= x²-a  x x‘ Beispiel Newton-Verfahren • Näherungsrechnung zur Bestimmung der Wurzel einer Zahl • f(x) = x² – 5 • x = 2 • x‘ = ½(x + 5/x) = 2.25 • X“= ½(x‘ + 5/x‘) = 2.2361

  23. -1 -0,6 -0,2 0,2 0,6 1 Die Mathematik Hier: Änderung der Gewichte um einen Bruchteil des negativen Gradienten:W = –E(W) • E(W) ist dabei der Gradient •  der Proportionalitätsfaktor* zum Gewichtsvektor W, der Lernfaktor * Lernfaktor:  im Buch,  im JavaNNS

  24. Die Mathematik Hier: Änderung der Gewichte um einen Bruchteil des negativen Gradienten: W‘ = – E(W) • E(W): Gradient • Proportionalitätsfaktor zum Gewichtsvektor W, : der Lernfaktor  E(Wj) = E(w1j,w2j, ..., wnj)

  25. Fehlerfunktionquadratische Abstand zwischen realer und erwarteter Ausgabe über alle Muster p: tj - Lerneingabe (teaching input) oj - tatsächliche Ausgabe hier Fehler für EIN Muster (ohne Muster-Index p): Die Fehlerfunktion • Veränderung eines Gewichtes: (1) (2)

  26. Backpropagation – Regel • Verallgemeinerung der Delta–Regel: • mehrstufige Netze • semilineare Aktivierungsfunktionen(monoton, differenzierbar, z.B. logistische Funktion) • Problem: keine Trainingsvorgaben für die Ausgabe der Neuronen der inneren Schichten

  27. Backpropagation–Lernregel • Ausgangspunkt: (6.1) • Zusammenhang: (6.2) fout = Id • 6.1 konkreter: (6.3)

  28. Der 3. und 2. Faktor • dritter Faktor:Abhängigkeit Netzeingabe – Verbindungsgewichte (6.4) • zweite Faktor: erste Ableitung der Aktivierungsfunktion: (6.5) (6.7)

  29. Der 1. Faktor • erster Faktor: Abhängigkeit Fehler – Ausgabe • Fehlersignal Ausgabe-Neuron j: (6.8) (6.9) • Fehlersignal inneres Neuron j: (6.10) j : Fehlersignal

  30. Das Fehlersignal  (6.11) j = f’act(netj)·(tj – oj) • Ausgabe-Neuron j: (6.12) j = f’act(netj) ·kwjk • inneres Neuron j:

  31. Standard–Backpropagation–Regel • Für die logistische Aktivierungsfunktion gilt:f ´act(netj ) = fact(netj )(1 – fact(netj )) = oj (1 –oj) • damit: • somit:

  32. Fehlersignal bei fact =tanh • Für die Aktivierungsfunktion tanh erhält man:f´act(netj )= (1 – f ²act(netj ))= (1 – tanh² oj ) • damit:

  33. Ausgabe des Netzes berechnen Netzarchitektur aufbauen Vergleich mit Trainings-ausgabe gewünschte Qualität erreicht Trainingsmuster anlegen Testdaten anlegen Gewichte anpassen Fehler zu hoch Ausgabe berechnen Netzparameter ändern Netzfehler durch Vergleich mit erwarteter Ausgabe ermitteln Fehler zu hoch gewünschte Qualität erreicht Entwicklung neuronaler Netze

  34. Entwicklung neuronaler Netze Vergleich mit Trainingsausgabe Ausgabe des Netzes berechnen gewünschte Qualität erreicht Netzarchitektur aufbauen Fehler zu groß Test-Datenanlegen Trainingsmuster anlegen Gewichte anpassen Ausgabe des Netzes berechnen Netzparameter ändern Fehler zu hoch Vergleich mit erwarteter Ausgabe Einsatzfähiges NN gewünschte Qualität erreicht

  35. B A C Backpropagation – Probleme • A: Flaches Plateau • Backpropagation stagniert auf Plateauflächen • Minima wird nicht (spät) gefunden • B: Oszillation in steilen Schluchten • Durch Schrittweite wird stets über Minimum gesprungen • C: Verlassen guter Minima • Durch Schrittweite wird das Minimum übersprungen

  36. Lösungsmöglichkeit – Wertebereich Wahl des Dynamikbereiches der logistischen Aktivierungsfunktion • Gewichtsänderung ist abhängig von Ausgabe;Bei oi=0 wird keine Änderung wirksam. • binäre Eingabe [0..1]  häufig Nulländern in z.B. [-½ .. ½] • Aktivierungsfunktion tanh wählen  Bereich [ –1..1]

  37. Lösungsmöglichkeit: Manhattan – Training • Betrag des Fehlers spielt keine Rolle • Nur das Vorzeichen betrachten • entspricht einer Normierung der Werte:

  38. Lösungsmöglichkeit: Quickprop • Annahme, dass Fehlerfunktion quadratisch ist; • Sprung direkt in den Scheitelpunkt der Kurve; S: Steigung der Fehlerfunktion:

  39. Resilient Propagation (RPROP) Richtung und Betrag der Gewichtsänderung werden getrennt festgelegt: bij(t) – Betrag der Änderung bij(t-1) + falls S(t-1)S(t) > 0 bij(t) = bij(t-1) - falls S(t-1)S(t) < 0 bij(t-1) sonst +>1 : beide Anstiege gleich  „großen“ Schritt0<-<1 : Anstiege verschieden „kleineren“ Schritt -bij(t) falls S(t-1)>0  S(t) > 0 wij(t) = bij(t) falls S(t-1)<0  S(t) < 0 -wij(t-1) falls S(t-1)S(t) < 0 (*) -sgn(S(t))bij(t) sonst (*) S(t):=0 gesetzt; damit tritt im Schritt (t+1) der vierte Fall ein. +, - : Parameter der Lernfunktion

  40. Grenzen des Lernverfahrens • kein Modell für das biologische Lernen: • richtige Antworten im Lernprozess natürlicher neuronaler Netze nicht gegeben; • es gibt keine bisher bekannten Rückkopplungen, die Fehler im Netz rückwärts leiten können; • Trainingszeiten vergleichsweise sehr hoch

  41. Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz Partiell rückgekoppelte Netze Einsatz Wettbewerbslernen Zusammenfassung Inhalt

  42. Aufgaben • Implementieren Sie ein vorwärts gerichtetes Netz mit 2 Eingabe- und einem Ausgabe–Neuron, welches eine verdeckte Schicht aus zwei Neuronen besitzt. Trainieren Sie das Netz, so dass es die XOR–Funktion realisiert.Nutzen Sie den JavaNNS • Implementieren Sie ein 4-2-4-Netz, welches die identische Funktion realisiert.(Encoder–Decoder–Netzwerk). Probieren Sie auch andere Varianten: 4-3-4, 8-4-8, ...Welche Aussagen über das Lernverhalten lassen sich treffen?

  43. Partiell rekurrente Netze – Motivation • Vorwärts gerichtete Netze: • ein und dasselbe Eingabemuster  stets dieselbe Ausgabe • unabhängig vom Kontext schlecht z.B. für Prognose von Zeitreihen. Problem: Repräsentation von Zeit

  44. Repräsentation von Zeit in vorwärts gerichteten Netzen: • “sliding window”: n Muster (Teilfolge) gleichzeitig als Eingabe anlegen • aber: • Netztopologie  feste Größe des Eingabefenster • gleiche Teilfolgen produzieren dieselbe Ausgabe unabhängig vom Kontext

  45. Lösung: partielle rekurrente Netze enthalten spezielle verdeckte Zellen Kontextzellen: • definierte Rückkopplung von Ausgabe- oder verdeckten Zellen in die innere Schicht

  46. Ausgabezellen 1:1-Verbindungen mit Gewicht  (=1) verdeckte Zellen Kontextzellenmit direkter Rückkopplung  Eingabezellen Jordan-Netze

  47. Jordan–Netze • Anzahl Kontextzellen = Anzahl Ausgabezellen • Kontextzellen speichern Ausgabezustand • feste Verbindungen zu Kontextzellen, • feste direkte Rückkopplungen • Nachteilig: • Anzahl Kontextzellen durch Ausgabe fixiert, • keine Zustände der inneren Schicht speicherbar

  48. Jordan–Netz: „Erinnerung“ • S(t) - zeitabhängiger Zustandsvektor • O(t) – Ausgabe • mit der Vereinfachung S(0) = Nullvektor und =1 ergibt sich: • 0 1 steuert Erinnerungsvermögen • nahe 1: alte Zustände stärker berücksichtigt, das Netz ist träge; • Kompromiss:  = 0.5

  49. Elman–Netze Ausgabezellen 1:1-Verbindungen mit Gewicht 1 verdeckte Zellen Kontextzellen Eingabezellen

  50. Elman–Netze • Modifikation der Jordan –Netze • Rückkopplung von verdeckter zur Kontextschicht • (normalerweise) keine direkten Rückkopplungen • Zustand Kontextzellen = Kopie Ausgabe verdeckter Zellen • verdeckte Zellen entwickeln interne Repräsentation der Eingabemuster   Zeit codiert • Vorteil gegenüber Jordan–Netze: • Anzahl Kontextzellen unabhängig von Anzahl Ausgabeneuronen

More Related