Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Datenstrom (Propagation) Fehlerstrom (Backpropagation)

Ähnliche Präsentationen


Präsentation zum Thema: "Datenstrom (Propagation) Fehlerstrom (Backpropagation)"—  Präsentation transkript:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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 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

20 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

21 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

22 SoftComputing / Projection Persuit
Quickprop-Formeln S= ek θ'(ak) xi // aktuelle Steigung m> // 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) = 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

23 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

24 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

25 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


Herunterladen ppt "Datenstrom (Propagation) Fehlerstrom (Backpropagation)"

Ähnliche Präsentationen


Google-Anzeigen