Datenstrom (Propagation) Fehlerstrom (Backpropagation)

Slides:



Advertisements
Ähnliche Präsentationen
Neuronale Netze & Genetische Algorithmen
Advertisements

Präsentiert von Torben Pastuch
Seminarankündigung für das SS04
Perceptrons and the perceptron learning rule
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Wismar Business School
Neuronale Netze Folien, Aufgaben sind unter zu finden.
Ein Neuronales Netz könnte lernen indem es …
4. Konzepte des Konnektionismus – Theorie Künstlich Neuronaler Netze
Denavit u. Hartenberg - Beschreibung
Arbeiten mit Mittelwert- und Kovarianzstrukturmodellen
8. Formale Sprachen und Grammatiken
Wie lernt FUSC# mit TD( )? Marco Block... X1X1 X2X2 XNXN x1x1 x2x2 pd[i] =w1f1(x) + w2f2(x) + w3f3(x) wnfn(x)... w1f1(x) + w2f2(x) + w3f3(x) +...
Marco Barz Seminar über Algorithmen SoSe2007
Seminarthema 4 Von: Robert Schirmer Matnr.: Betreuer: Prof.Dr Eiermann.
Neuronale Netze Von Kay-Patrick Wittbold.
Gliederung Allgemeine Arten von Zusammenhängen Kovarianzen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Berechnen Sie den Output Vektor wenn der Input Vektor (1,1,-1,-1) ist.
Entscheidungsunterstützungssysteme IWI Frankfurt 2003
Beispiele für Gleichungssysteme
Struktur und Funktion von Biopolymeren Elmar Lang
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Programmierung eingebetteter.
Uebung 03 Netzdateien.
Biologisches Vorbild Grundlagen
RBF-Netze, Learning Vector Quantisation, Kohonen-Karten
Uebung 01 ANN mit MATLAB.
Uebung 03 Perceptron Training INPUTINPUT b OUTPUTOUTPUT w1w1 w2w2.
zur Vorlesung Neuronale Netzwerke
PowerPoint-Folien zur 8. Vorlesung „Bionik II / Biosensorik“
Tutorium
Neuronale Netzwerke am Beispiel eines MLP
Neuronale Netze (Mitchell Kap. 4)
Neuronale Netze 2 (Mitchell Kap. 4)
Maschinelles Lernen und automatische Textklassifikation
Multikollinearität Wann spricht man von Multikollinearität?
Variationsformalismus für das freie Teilchen
Neuronale Netze Teil II.
Sensitivitätsanalyse
Why connectionism? Backpropagation Netzwerke
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Neuronale Netze (1) Isabel Schwende
Praktische Optimierung


Exponentielles Wachstum
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Lineare Funktionen und ihre Schaubilder, die Geraden
Wie viele Beine hat dieser Elefant?
Klassifikation und Regression mittels neuronaler Netze
Algorithmen für das Erfüllbarkeitsproblem SAT
Der Weg und das Ziel Algorithmische Zusammenhänge finden
7. Formale Sprachen und Grammatiken
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Vom Neuron bis zur Boltzmann Maschine Miguel Domingo & Marco Block Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
setzt Linearität des Zusammenhangs voraus
SS 2009Maschinelles Lernen und Neural Computation 133 Kapitel 7: Ensemble Methoden.
Statistiken je nach Messniveau
Der Wiener Prozess und seltene Ereignisse
Geoinformationssysteme
Organisation Referate Materialien Dritter Termin Workshop 27.Oktober 2010 Projektseminar WS 09/10 Konnektionistische Sprachverarbeitung 1.
Emanuel Mistretta Lukas Schönbächler
Neuronale Netze und Parallelrechner
 Präsentation transkript:

Datenstrom (Propagation) Fehlerstrom (Backpropagation) Netze ohne Rückkopplung, überwachtes Lernen, Gradientenabstieg, Delta-Regel Input Layer hidden Layer Output Layer Datenstrom (Propagation) Fehlerstrom (Backpropagation) Fehler Berechnung Daten Input

SoftComputing / Projection Persuit feedforward Netze Netze ohne Rückkopplungen können stets in die Form eines Schichtennetzwerkes gebracht werden, wobei aber durchaus Verbindungen eine oder mehrere Schichten überspringen dürfen. a->b (es gibt einen Weg von a nach b ist reflexiv und anti- symmetrisch, also können die Schichten z.B. nach dem längsten Weg aufgebaut werden. 1 2 3 Fulda 2009 SoftComputing / Projection Persuit

strenge Schichten-Netze Wenn in einem Schichtennetz keine Verbindungen existieren, die eine oder mehrere Schichten überspringen , spricht man von einem strengen Schichtennetz. In diesem Fall ist jede Schicht durch die Länge des Weges zu ihren Neuronen gekenn- zeichnet. Die input-Schicht hat Weglänge 0. Die Output-Schicht hat maximale Weglänge. 1 2 3 Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit einfache Schicht Die beiden Neuronen der 2. Schicht beeinflussen einander nicht, deshalb können sie voneinander getrennt betrachtet werden. Bei mehrschichtigen Netzen geht die Unabhängigkeit verloren, d.h. sie können nicht so getrennt werden. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit  - Regel wi := a•xi•e (Synapsenveränderung) Schwellwert : d Netz-Output : u = (x1w1+x2w2+x3w3+...+xnwn-d) erwarteter Output: : t (target) gemachter Fehler : e = t - u (error) Lernkonstante :  x1 x3 x4 ... xn x2 w1 w2 w3 w4 wn u  Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit  - Regel (vektoriell) Aktivität der Input-Schicht: x = (x1,x2,x3,...,xn,1) Gewichtsvektor (einschl. Schwellwert): w = (w1,w2,w3,...,wn,-d) Aktivität des Ausgabeneurons: y = (x•w) Fehler des Ausgabeneurons: e = t-y Gewichtsänderung: w := a•e•x Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit  -Regel als Ableitung Perceptron: u = q(w.x) -Regel: wi = g.(u-t).xi Fehlergradient: F = (u-t)2 = (q(w.x)-t)2 F/ wi = (u-t)2/ wi = (q(w.x)-t)2/ wi = 2.(u-t). q'(w.x).xi Die Delta-Regel kann also interpretiert werden als der Gradientenabstieg mit dem (variablen) Lernfaktor g = 2. q'(w.x) x1 x2 x3 ... u xn wn w3 w2 w1 Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit 2-layer- Perceptron 2-Layer Perceptron Input-Vektor x Gewichtsmatrix V Aktivitätsvektor y Gewichtsvektor w Output u y = q(V.x) u = q(w.y) Propagierung y1 y2 y3 ... u yn wn w3 w2 w1 x1 x2 xm vnm v12 v11 = (F/yj).( l(wlj.xl))/ wij l aus dem Input-Layer = (F/yj).xi da für li wlj.xl nicht von wij abhängt. = k(F/yk.( yk/yj)).xi k aus der Output-Schicht = k(F/yk.( m(wmk.xm)/ yj)).xi m aus dem hidden Layer = k(F/yk.wjk. '(yj)).xi da für mj wmk.xm nicht von yj abhängt. = k(2.(uk-tk). '(yk).wjk. '(yj).xi Fulda 2009 SoftComputing / Projection Persuit

2-Layer-Fehler-Gradient F = (u-t)2 = (θ(w.y)-t)2 ∂F/ ∂wi = ∂(θ(w.y)-t)2/ ∂ wi = ∂(u-t)2/ ∂ wi = 2.(u-t). θ'(w.y). ∂(w.y)/ ∂wi = 2.(u-t). θ'(w.y)yi . ∂F/ ∂vij = ∂F/ ∂ yi . ∂yi / ∂ vij = ∂F/ ∂yi . ∂θ(vi. x) / ∂vij (Fehler von Neuron i) = ∂F/ ∂yi . θ'(vi. x).xj = ∂F/ ∂u . ∂u/ ∂yi . θ'(vi. x).xj = ∂F/ ∂u . ∂θ(w.y)/ ∂yi . θ'(vi. x).xj = ∂F/ ∂u . θ'(w.y).wi. θ'(vi. x).xj = 2.(u-t) . θ'(w.y).wi. θ'(vi. x).xj = (F/yj).( l(wlj.xl))/ wij l aus dem Input-Layer = (F/yj).xi da für li wlj.xl nicht von wij abhängt. = k(F/yk.( yk/yj)).xi k aus der Output-Schicht = k(F/yk.( m(wmk.xm)/ yj)).xi m aus dem hidden Layer = k(F/yk.wjk. '(yj)).xi da für mj wmk.xm nicht von yj abhängt. = k(2.(uk-tk). '(yk).wjk. '(yj).xi Fulda 2009 SoftComputing / Projection Persuit

Multi-Layer-Perceptron (MLP) Wie bei 2 Layern können wir auch bei mehr Layern den Gradienten schichtweise zurückberechnen, dazu interpretieren wir den Output-Fehler von Neuron j als ej = ∂F/ ∂xj d.h. für ein Output-Neuron j : ej = 2(uj -tj) Wir betrachten nun zwei aufeinanderfolgende Layer k ... i wi k Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit MLP Fehlergradient Die Aktivität von Neuron j sei aj und sein Output xj = 3(aj) wik bezeichnet die Verbindung von Neuron i zu Neuron k für ein verborgenes Neuron i gilt dann die Rekursion: ei = ∂F/ ∂xi = ∑k ∂F/ ∂xk. ∂xk/ ∂xi (alle Neuronen k aus der nächsten Schicht) = ∑k ek. ∂θ(∑jwjk.xj) / ∂xi ei = ∑k wik.ek. θ'(ak) . ∂F/ ∂wik = ∂F/xk. ∂xk / ∂wik = ek. ∂ θ(∑jwjk.xj) / ∂wik ∆wik = η.ek. θ'(ak).xi . Fulda 2009 SoftComputing / Projection Persuit

Backpropagation Algorithmus fj bezeichne den "echten" Fehler ej.θ'(aj) von Neuron j , Rekursionsanfang: für ein Output-Neuron j sei fj = 2(tj -uj). θ'(aj). für ein verborgenes Neuron gilt dann die Rekursion: fj = ei. θ'(aj) = ∑k wik.ek. θ'(ak). θ'(aj) fj = θ'(aj). ∑k wik.fk (Rückpropagierung des Fehlers) . Gewichtsanpassung ∆wik = ek. θ'(ak).xi ∆wik = η.fk.xi . wi,neu := wi,alt + η.fk.xi Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Outputfunktionen Beliebt sind beim Backpropagating Funktionen θ , bei denen sich θ'(x) durch θ(x) ausdrücken läßt, weil dann die Aktivität des Neurons zugunsten seines Outputs bei der Fehlerberechnung eliminiert werden kann. Sigmoidfunktion y=1/(1+e-sx) hat die Ableitung y'=s.(y-y2)=s.y.(1-y) Gaußkurve y=e-sx2 hat die Ableitung y'= -2. s. x.y (in diesem Fall gelingt die Darstellung nicht allein mit y= θ(x), sondern es muß auch x hinzugenommen werden . Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Probleme des BP Oszillation in engen Schluchten Stagnation auf flachen Plateaus lokale Minima Flat Spots ( 3'(aj)  0 ) kaum Veränderung im Training E E E 3 Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Varianten des BP Statt des quadratischen Fehlers F=∑k (tk-uk )2 kann auch jede andere Fehlerfunktion gewählt werden, bis auf den Rekursionsanfang bleibt die Fehler-Rekursion wie vorher. Das BP-Verfahren kann durch einen Momentum-Term ∆wik = ηek xi + γ∆altwik noch stabiler gestaltet werden. Weight Decay: ∆wik = ηek xi - γwik dabei wird das γ so eingerichtet, daß in der Summe keine Gewichtsvergrößerung eintritt. Die Lernkonstanten werden für jede Schicht festgelegt . Die Lernkonstanten werden für jedes Neuron festgelegt . Die Lernkonstanten werden im Laufe des Trainings dynamisch angepaßt. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Manhattan Training In dieser Trainingsvariante richtet sich die Gewichtsveränderung nicht nach dem Fehler, sondern nur nach dessen Vorzeichen. Die übliche Regel zur Gewichtsveränderung wird ersetzt durch ∆wi k = η.sgn(ek).xi . Dies bedeutet, daß die Fehlerfunktion nicht mehr der quadratische Fehler sondern nur noch der lineare Fehlerbetrag ist. Dieses Verfahren beseitigt die Probleme zu kleiner und zu großer Gradienten bei flachen Plateaus bzw. steilen Tälern. Allerdings kommt dann der richtigen Wahl von η eine tragende Bedeutung zu. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Trägheitsterm Das BP-Verfahren kann durch einen Momentum-Term "wik = aek xi + bDaltwik ) = l((1-b)ek xi + bDaltwik ) noch stabiler gestaltet werden. Der Effekt dieses Verfahrens ist, daß bei der Gewichtsänderung starke Richtungsänderungen erschwert werden (Trägheit) und damit das Verfahren verstetigt wird. Mit dieser Methode können die Probleme flacher Plateaus und steiler Täler gemindert und sogar das Entkommen aus nicht zu steilen lokalen Minima ermöglicht werden. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Flat Spot Elimination Um zu vermeiden, daß der BP-Algorithmus aus flat spots (z.B. für sigmoid-Funktion q'=q(1-q) bei sehr hoher / niedriger Neuronenaktivität) nicht mehr entkommt, kann man q' durch q'+e , e>0 ersetzen. Damit ist der Gradient auch an flat-spots nicht ganz 0 und ein Trainingseffekt tritt auch an dieser Stelle ein. Für kleine Netze ist ein guter Effekt mit e = 0.1 erzielt worden, ob diese Methode aber auf sehr großen und vielschichtigen Netzen noch positive Wirkung zeigt ist noch nicht untersucht worden. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Weight Decay Ähnlich wie extreme Neuronenaktivitäten sind auch extreme Gewichtswerte in Neuronalen Netzwerken problematisch, weil sie tendenziell die gesamte Netzumgebung dominieren (Großmutter-Neuronen). Der Vorschlag, die Gewichtsänderung auf Kosten des Gesamtgewichts durchzuführen Dwik = aek xi - gwik führt zu einer Bestrafung zu hoher Gewichte, weil dies der abgewandelten Fehlerfunktion entspricht: Eneu = E + g/2 w2 g wird in der Regel konstant zwischen 0.005 und 0.03 gewählt, bisweilen aber auch (aufwendig und nicht mehr lokal !) so, daß die Summe aller Änderungen 0 ergibt: g=aSekxi/Swik. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit SuperSAB Manche Mängel (kleine Änderungen in oberen Schichten) von BP können dadurch behoben werden, daß man den einzelnen Verbindungen eigene Schrittweiten aij gibt. aij jeweils konstant aber mit Distanz vom Output wachsend aij schrumpft oder wächst jeweils um den Faktor k-, k+ (0<k- <1< k+) je nachdem, ob der Fehlergradient das Vorzeichen wechselt oder nicht. Typische Werte sind 0.5 und 1.05, insbesondere k-. k+<1. aij schrumpft oder wächst jeweils um den Faktor k-, k+ (0<k- <1< k+) je nachdem, ob der Fehlergradient absolut wächst bzw. das Vorzeichen wechselt oder nicht. Delta-Bar-Delta-Regel aij schrumpft oder wächst je nachdem, ob der Fehlergradient das Vorzeichen wechselt oder nicht, dabei schrumpft aij exponentiell aber wächst nur linear. Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit höhere Verfahren Second-Order: Verwendung höherer Verfahren mit Hilfe der zweiten Ableitung (Jakobi-Matrix) führt zu beschleunigter Konvergenz aber höherer Anfälligkeit für lokale Minima. Quickprop: ist ein Beispiel für ein Verfahren 2. Ordnung. Gesucht: Tiefpunkt der an der Fehlerfläche angelegten Parabel mit Steigung S= ek θ'(ak) xi (Vorsicht bei Salt=S!) Dwik = (S/(Salt-S)). Δ altwik . y=c(x-a)2+b , y'=2c(x-a) s-s = 2c(x-x) , x-x = Δaltwik s=2c(x-a), x-a= Δwik (a,b) s Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Quickprop-Formeln S= ek θ'(ak) xi // aktuelle Steigung m>0 // Schranke für die Gewichtsänderung Δwik = G + P // Gradienten- und Parabel-Term G = αek xi + βwik falls Δaltwik=0 oder sgn(Salt)=sgn(S) = 0 sonst. P = 0 falls Δaltwik=0 = (S/(Salt-S)). Δaltwik falls |S/(Salt-S)| <= m = m. Δaltwik sonst Der letzte Fall tritt insbesondere dann ein, wenn Salt=S ist, also die Berechnung S/(Salt-S) auf einen Divisionsfehler führt. Dies muß also vorher abgefangen werden. Fulda 2009 SoftComputing / Projection Persuit

Selbstorganisiertes BP In dieser Variante werden Outputs der redundanten Form (1,0..0), (0,1,0..0) ... (0..0,1) angestrebt. Zu den Trainingsdaten gibt es keine Soll-Outputs, sondern für jeden Input wird als Soll-Output derjenige angenommen, der dem Ist-Output am nächsten kommt, dies läuft auf die Bestimmung des Maximums im Ist-Output hinaus. Zu diesem Output wird dann der übliche Fehler berechnet und das übliche Backpropagating in Gang gesetzt. Dieser Zugang hat den Vorteil, daß eine Eingabe, die keinen zu einem (0,..1,..0) ähnlichen Output liefert sofort als nicht bestimmbar erkannt wird. Fulda 2009 SoftComputing / Projection Persuit

Netze mit Zuständen Jordan / Elman-Netze Zeitrepräsentation in NN durch Zustände Zeitabhängigkeiten sind modellierbar durch weitere Neuronen (Zustände, Kontext) die den bisherigen Netzzustand speichern. Die Speicherung in Zuständen erfolgt durch nichttrainierbare Rückwärtsverbindungen kein Einschwingen in sta-bilen Zustand erforderlich Jordan / Elman-Netze y1 y2 y3 ... u1 yn wn w3 w2 w1 x1 x2 xm vnm v12 v11 u2 Inputs festes Gewicht Kontext Fulda 2009 SoftComputing / Projection Persuit

SoftComputing / Projection Persuit Zustandsbestimmung Kurzzeitgedächtnis Langzeitgedächtnis u1 y1 y2 y3 ... yn wm2 w21 w12 w11 x1 x2 xm vnm v12 v11 u2 Inputs festes Gewicht Kontext u1 y1 y2 y3 ... yn wm2 w21 w12 w11 x1 x2 xm vnm v12 v11 u2 Inputs festes Gewicht Kontext Fulda 2009 SoftComputing / Projection Persuit