backpropagation netze ohne rückkopplung, überwachtes lernen, gradientenabstieg, delta-regel input...

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

Upload: arnwald-karpel

Post on 05-Apr-2015

118 views

Category:

Documents


2 download

TRANSCRIPT

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

BackpropagationNetze ohne Rückkopplung, überwachtes Lernen, Gradientenabstieg, Delta-Regel

InputLayer

hiddenLayer

hiddenLayer

OutputLayer

Datenstrom (Propagation)

Fehlerstrom (Backpropagation)

FehlerBerechnung

DatenInput

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

Fulda 2009 SoftComputing / Projection Persuit 2

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 einenWeg von a nach bist reflexiv und anti-symmetrisch, alsokönnen die Schichtenz.B. nach dem längstenWeg aufgebaut werden.

0

1

2

3

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

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 jedeSchicht durch die Längedes Weges zu ihrenNeuronen gekenn-zeichnet.

• Die input-Schicht hat Weglänge 0.

• Die Output-Schicht hatmaximale Weglänge.

0

1

2

3

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

Fulda 2009 SoftComputing / Projection Persuit 4

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.

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

Fulda 2009 SoftComputing / Projection Persuit 5

- Regel

• wi := •xi•e(Synapsenveränderung)– Schwellwert : – Netz-Output : u = (x1w1+x2w2+x3w3+...+xnwn-)– erwarteter Output: : t (target)– gemachter Fehler : e = t - u (error)

– Lernkonstante : x1 x3 x4 ... ... xnx2

w1 w2 w3 w4 wn

u

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

Fulda 2009 SoftComputing / Projection Persuit 6

- Regel (vektoriell)

• Aktivität der Input-Schicht:x = (x1,x2,x3,...,xn,1)

• Gewichtsvektor (einschl. Schwellwert):w = (w1,w2,w3,...,wn,-

• Aktivität des Ausgabeneurons:y = (x•w)

• Fehler des Ausgabeneurons:e = t-y

• Gewichtsänderung:w := •e•x

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

Fulda 2009 SoftComputing / Projection Persuit 7

-Regel als Ableitung

• Perceptron:

u = (w.x)

• -Regel:

• wi = .(u-t).xi

• Fehlergradient:• F = (u-t)2 = ((w.x)-t)2

• F/ wi = (u-t)2/

wi

= ((w.x)-t)2/ wi

= 2.(u-t). '(w.x).xi

• Die Delta-Regel kann also interpretiert werden als der Gradientenabstieg mit dem (variablen) Lernfaktor

= 2. '(w.x)

x1 x2 x3 ...

u

xn

wn

w3w2w1

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

Fulda 2009 SoftComputing / Projection Persuit 8

2-layer- Perceptron• 2-Layer PerceptronInput-Vektor xGewichtsmatrix V

Aktivitätsvektor yGewichtsvektor w

Output u• y = (V.x)

u = (w.y) Propagierung

y1 y2 y3 ...

u

yn

wn

w3w2w1

x1 x2 ... xm

vnmv12v11

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

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

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

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

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

Fulda 2009 SoftComputing / Projection Persuit 11

MLP Fehlergradient

• Die Aktivität von Neuron j sei aj und sein Output xj = (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 .

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

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

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

Fulda 2009 SoftComputing / Projection Persuit 13

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ßkurvey=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 .

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

Fulda 2009 SoftComputing / Projection Persuit 14

Probleme des BP

• Oszillation in engen Schluchten

• Stagnation aufflachen Plateaus

• lokale Minima

• Flat Spots ( '(aj) 0 )kaum Veränderung imTraining

E

E

E

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

Fulda 2009 SoftComputing / Projection Persuit 15

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 - γwikdabei 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.

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

Fulda 2009 SoftComputing / Projection Persuit 16

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.

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

Fulda 2009 SoftComputing / Projection Persuit 17

Trägheitsterm• Das BP-Verfahren kann durch einen Momentum-

Term wik = ek xi + altwik ) = ((1-)ek xi + altwik )

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.

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

Fulda 2009 SoftComputing / Projection Persuit 18

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.

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

Fulda 2009 SoftComputing / Projection Persuit 19

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 wik = ek xi - wik

führt zu einer Bestrafung zu hoher Gewichte, weil dies der abgewandelten Fehlerfunktion entspricht:

Eneu = E + /2 w2

• 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: =ekxi/wik.

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

Fulda 2009 SoftComputing / Projection Persuit 20

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-Regelij schrumpft oder wächst je nachdem, ob der Fehlergradient das Vorzeichen wechselt oder nicht, dabei schrumpft ij

exponentiell aber wächst nur linear.

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

Fulda 2009 SoftComputing / Projection Persuit 21

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!)

wik = (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

s

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

Fulda 2009 SoftComputing / Projection Persuit 22

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.

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

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.

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

Fulda 2009 SoftComputing / Projection Persuit 24

Netze mit ZuständenZeitreprä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

w3w2w1

x1 x2 ... xm

vnmv12v11

u2

Inputs

festes Gewicht

Kontext

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

Fulda 2009 SoftComputing / Projection Persuit 25

Zustandsbestimmung

• Kurzzeitgedächtnis • Langzeitgedächtnis

u1

y1 y2 y3 ... yn

wm2

w21

w12w11

x1 x2 ... xm

vnm

v12v11

u2

Inputs

festes Gewicht

Kontext

Kontext

u1

y1 y2 y3 ... yn

wm2

w21

w12w11

x1 x2 ... xm

vnm

v12v11

u2

Inputs

festes Gewicht

Kontext

Kontext