Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Backpropagation Netze ohne Rückkopplung, überwachtes Lernen, Gradientenabstieg, Delta-Regel Input Layer hidden Layer Output Layer Datenstrom (Propagation)"—  Präsentation transkript:

1 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 Fulda 2009SoftComputing / Projection Persuit2 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

3 Fulda 2009SoftComputing / Projection Persuit3 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

4 Fulda 2009SoftComputing / Projection Persuit4 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.

5 Fulda 2009SoftComputing / Projection Persuit5 - Regel w i := x i e (Synapsenveränderung) –Schwellwert : –Netz-Output :u = (x 1 w 1 +x 2 w 2 +x 3 w x n w n - ) –erwarteter Output: : t (target) –gemachter Fehler :e = t - u(error) –Lernkonstante : x1x1 x3x3 x4x4... xnxn x2x2 w1w1 w2w2 w3w3 w4w4 wnwn u

6 Fulda 2009SoftComputing / Projection Persuit6 - Regel (vektoriell) Aktivität der Input-Schicht: x = (x 1,x 2,x 3,...,x n,1) Gewichtsvektor (einschl. Schwellwert): w = (w 1,w 2,w 3,...,w n,- Aktivität des Ausgabeneurons: y = (xw) Fehler des Ausgabeneurons: e = t-y Gewichtsänderung: w := ex

7 Fulda 2009SoftComputing / Projection Persuit7 -Regel als Ableitung Perceptron: u = (w. x) -Regel: w i =. (u-t). x i Fehlergradient: F = (u-t) 2 = ( (w. x)-t) 2 F/ w i = (u-t) 2 / w i = ( (w. x)-t) 2 / w i = 2. (u-t). ' (w. x). x i Die Delta-Regel kann also interpretiert werden als der Gradientenabstieg mit dem (variablen) Lernfaktor = 2. ' (w. x) x1x1 x2x2 x3x3... u xnxn wnwn w3w3 w2w2 w1w1

8 Fulda 2009SoftComputing / Projection Persuit8 2-layer- Perceptron 2-Layer Perceptron Input-Vektor x Gewichtsmatrix V Aktivitätsvektor y Gewichtsvektor w Output u y = (V. x) u = (w. y) Propagierung y1y1 y2y2 y3y3... u ynyn wnwn w3w3 w2w2 w1w1 x1x1 x2x2 xmxm v nm v 12 v 11

9 Fulda 2009SoftComputing / Projection Persuit9 2-Layer-Fehler-Gradient F = (u-t) 2 = ( θ (w. y)-t) 2 F/ w i = ( θ (w. y)-t) 2 / w i = (u-t) 2 / w i = 2. (u-t). θ' (w. y). (w. y)/ w i = 2. (u-t). θ' (w. y)y i. F/ v ij = F/ y i. y i / v ij = F/ y i.θ (v i. x) / v ij (Fehler von Neuron i) = F/ y i. θ' (v i. x). x j = F/ u. u/ y i. θ' (v i. x). x j = F/ u.θ (w. y)/ y i. θ' (v i. x). x j = F/ u. θ' (w. y). w i. θ' (v i. x). x j = 2. (u-t). θ' (w. y). w i. θ' (v i. x). x j

10 Fulda 2009SoftComputing / Projection Persuit10 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 e j = F/ x j d.h. für ein Output-Neuron j : e j = 2(u j -t j ) Wir betrachten nun zwei aufeinanderfolgende Layer k... i w i k

11 Fulda 2009SoftComputing / Projection Persuit11 MLP Fehlergradient Die Aktivität von Neuron j sei a j und sein Output x j = 3 (a j ) w ik bezeichnet die Verbindung von Neuron i zu Neuron k für ein verborgenes Neuron i gilt dann die Rekursion: e i = F/ x i = k F/ x k. x k / x i ( alle Neuronen k aus der nächsten Schicht ) = k e k. θ ( j w jk. x j ) / x i e i = k w ik. e k. θ ' (a k ). F/ w ik = F/x k. x k / w ik = e k. θ ( j w jk. x j ) / w ik w ik = η. e k. θ ' (a k ). x i.

12 Fulda 2009SoftComputing / Projection Persuit12 Backpropagation Algorithmus f j bezeichne den "echten" Fehler e j. θ ' (a j ) von Neuron j, Rekursionsanfang: für ein Output-Neuron j sei f j = 2(t j -u j ). θ ' (a j ). für ein verborgenes Neuron gilt dann die Rekursion: f j = e i. θ ' (a j ) = k w ik. e k. θ ' (a k ). θ ' (a j ) f j = θ ' (a j ). k w ik. f k (Rückpropagierung des Fehlers). Gewichtsanpassung w ik = e k. θ ' (a k ). x i w ik = η. f k. x i. w i,neu := w i,alt + η. f k. x i

13 Fulda 2009SoftComputing / Projection Persuit13 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 - y 2 )=s. y. (1 - y) Gaußkurve y=e - sx 2 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.

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

15 Fulda 2009SoftComputing / Projection Persuit15 Varianten des BP Statt des quadratischen Fehlers F= k (t k -u k ) 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 w ik = η e k x i + γ alt w ik noch stabiler gestaltet werden. Weight Decay: w ik = η e k x i - γ w ik 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.

16 Fulda 2009SoftComputing / Projection Persuit16 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 w i k = η. sgn(e k ). x i. 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.

17 Fulda 2009SoftComputing / Projection Persuit17 Trägheitsterm Das BP-Verfahren kann durch einen Momentum- Term "w ik = e k x i + alt w ik ) = ((1- )e k x i + alt w ik ) 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.

18 Fulda 2009SoftComputing / Projection Persuit18 Flat Spot Elimination Um zu vermeiden, daß der BP-Algorithmus aus flat spots (z.B. für sigmoid-Funktion '= (1- ) bei sehr hoher / niedriger Neuronenaktivität) nicht mehr entkommt, kann man ' durch '+, >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 = 0.1 erzielt worden, ob diese Methode aber auf sehr großen und vielschichtigen Netzen noch positive Wirkung zeigt ist noch nicht untersucht worden.

19 Fulda 2009SoftComputing / Projection Persuit19 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 w ik = e k x i - w ik führt zu einer Bestrafung zu hoher Gewichte, weil dies der abgewandelten Fehlerfunktion entspricht: E neu = E + /2 w 2 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: = e k x i / w ik.

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

21 Fulda 2009SoftComputing / Projection Persuit21 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= e k θ'(a k ) x i ( Vorsicht bei S alt =S! ) w ik = ( S/(S alt -S)). Δ alt w ik. y=c(x-a) 2 +b, y'=2c(x-a) s-s = 2c(x-x), x-x = Δ alt w ik s=2c(x-a), x-a= Δw ik (a,b) s s

22 Fulda 2009SoftComputing / Projection Persuit22 Quickprop-Formeln S= e k θ'(a k ) x i // aktuelle Steigung m>0 // Schranke für die Gewichtsänderung Δw ik = G + P// Gradienten- und Parabel-Term G = αe k x i + βw ik falls Δ alt w ik =0 oder sgn(S alt )=sgn(S) = 0 sonst. P =0 falls Δ alt w ik =0 = ( S/(S alt -S)). Δ alt w ik falls |S /(S alt -S)| <= m = m. Δ alt w ik sonst Der letzte Fall tritt insbesondere dann ein, wenn S alt =S ist, also die Berechnung S/(S alt -S) auf einen Divisionsfehler führt. Dies muß also vorher abgefangen werden.

23 Fulda 2009SoftComputing / Projection Persuit23 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.

24 Fulda 2009SoftComputing / Projection Persuit24 Netze mit Zuständen 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ärtsverbindunge n kein Einschwingen in sta-bilen Zustand erforderlich Jordan / Elman-Netze y1y1 y2y2 y3y3... u1u1 ynyn wnwn w3w3 w2w2 w1w1 x1x1 x2x2 xmxm v nm v 12 v 11 u2u2 Inputs festes Gewicht Kontext

25 Fulda 2009SoftComputing / Projection Persuit25 Zustandsbestimmung KurzzeitgedächtnisLangzeitgedächtnis u1u1 y1y1 y2y2 y3y3... ynyn w m2 w 21 w 12 w 11 x1x1 x2x2... xmxm v nm v 12 v 11 u2u2 Inputs festes Gewicht Kontext u1u1 y1y1 y2y2 y3y3... ynyn w m2 w 21 w 12 w 11 x1x1 x2x2... xmxm v nm v 12 v 11 u2u2 Inputs festes Gewicht Kontext


Herunterladen ppt "Backpropagation Netze ohne Rückkopplung, überwachtes Lernen, Gradientenabstieg, Delta-Regel Input Layer hidden Layer Output Layer Datenstrom (Propagation)"

Ähnliche Präsentationen


Google-Anzeigen