Forschungsgruppe Neuronale Netzwerke
Shared by: benbenzhou
-
Stats
- views:
- 0
- posted:
- 12/8/2012
- language:
- Unknown
- pages:
- 25
Document Sample


Backpropagation
Netze ohne Rückkopplung, überwachtes
Lernen, Gradientenabstieg, Delta-Regel
Datenstrom (Propagation)
Input hidden hidden Output
Layer Layer Layer Layer
Daten
Input
Fehler
Berechnung
Fehlerstrom (Backpropagation)
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 0
Weg von a nach b
ist reflexiv und anti-
symmetrisch, also 1
können die Schichten
z.B. nach dem längsten
Weg aufgebaut werden. 2
3
Fulda 2009 SoftComputing / Projection Persuit 2
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 0
Schicht durch die Länge
des Weges zu ihren
Neuronen gekenn- 1
zeichnet.
• Die input-Schicht hat 2
Weglänge 0.
• Die Output-Schicht hat 3
maximale Weglänge.
Fulda 2009 SoftComputing / Projection Persuit 3
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 4
- 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)
x1 x2 x3 x4 ... ... xn
– Lernkonstante : a
w1 w2 w3 w4 wn
u d
Fulda 2009 SoftComputing / Projection Persuit 5
- 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 6
-Regel als Ableitung
• Perceptron: • Fehlergradient:
• F = (u-t)2 = ((w.x)-t)2
x1 x2 x3 ... xn
• F/ wi = (u-t)2/ wi
w1
w2 w3 = ((w.x)-t)2/ wi
wn
= 2.(u-t). '(w.x).xi
u • Die Delta-Regel kann also
interpretiert werden als der
u = (w.x) Gradientenabstieg mit dem
• -Regel: (variablen) Lernfaktor
g = 2. '(w.x)
• wi = g.(u-t).xi
Fulda 2009 SoftComputing / Projection Persuit 7
2-layer- Perceptron
• 2-Layer Perceptron x1 x2 ... xm
Input-Vektor x
Gewichtsmatrix V v11 v12 vnm
Aktivitätsvektor y y1 y2 y3 ... yn
Gewichtsvektor w w2 w3
w1 wn
Output u u
• y = (V.x)
u = (w.y) Propagierung
Fulda 2009 SoftComputing / Projection Persuit 8
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
Fulda 2009 SoftComputing / Projection Persuit 9
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
... i
wi k
k ...
Fulda 2009 SoftComputing / Projection Persuit 10
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 11
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 12
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 13
Probleme des BP
• Oszillation in
engen Schluchten
E
• Stagnation auf
flachen Plateaus E
• lokale Minima
E
• Flat Spots ( 3'(aj) 0 )
kaum Veränderung im
Training
3
Fulda 2009 SoftComputing / Projection Persuit 14
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 15
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 16
Trägheitsterm
• Das BP-Verfahren kann durch einen Momentum-
Term
"wik = aek xi + baltwik ) = l((1-b)ek xi + baltwik )
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 17
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 '+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 18
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 = 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 19
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 20
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
s=2c(x-a), x-a= Δwik s
(a,b)
Fulda 2009 SoftComputing / Projection Persuit 21
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 22
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 23
Netze mit Zuständen
Zeitrepräsentation in NN
durch Zustände
Jordan / Elman-Netze
• Zeitabhängigkeiten sind
modellierbar durch Inputs
weitere Neuronen
Kontext
(Zustände, Kontext) die
den bisherigen x1 x2 ... xm
Netzzustand speichern.
• Die Speicherung in v11 v12 vnm
Zuständen erfolgt durch
nichttrainierbare y1 y2 y3 ...
Rückwärtsverbindunge yn
n w1
w2 w3
wn
• kein Einschwingen in
sta-bilen Zustand u1 u2
erforderlich
festes Gewicht
Fulda 2009 SoftComputing / Projection Persuit 24
Zustandsbestimmung
• Kurzzeitgedächtnis • Langzeitgedächtnis
Inputs Inputs
Kontext Kontext
y1 y2 y3 ... yn y1 y2 y3 ... yn
v v
v11 12 v11 12
vnm vnm
Kontext
Kontext
x1 x2 ... xm x1 x2 ... xm
w12 w12
w11 w21 w11 w21
wm2 wm2
u1 u2 u1 u2
festes Gewicht festes Gewicht
Fulda 2009 SoftComputing / Projection Persuit 25
Get documents about "