Kapitel LF: IV IV. Neuronale Netze Perzeptron-Lernalgorithmus Gradientenabstiegmethode Multilayer-Perzeptrons und ackpropagation Self-Organizing Feature Maps Neuronales Gas 39 Multilayer-Perzeptrons und ackpropagation Definition 6 (lineare Separierbarkeit) Zwei Mengen D und D von Vektoren eines p-dimensionalen Raumes heißen linear separierbar, falls p +reelle Zahlen θ, w,..., w p existieren, so daß p i= wixi θ für jeden Vektor in D und p i= wixi <θfür jeden Vektor in D gilt. 40 Multilayer-Perzeptrons und ackpropagation Definition 6 (lineare Separierbarkeit) Zwei Mengen D und D von Vektoren eines p-dimensionalen Raumes heißen linear separierbar, falls p +reelle Zahlen θ, w,..., w p existieren, so daß p i= wixi θ für jeden Vektor in D und p i= wixi <θfür jeden Vektor in D gilt. x x linear separierbar nicht linear separierbar 40
Multilayer-Perzeptrons und ackpropagation Separierbarkeit Die XOR-Funktion definiert die kleinste, nicht linear separierbare Menge: = x XOR (Klasse) 0 0 0 () 0 () 0 () 0 () x 2 =0 x =0 x = 4 Multilayer-Perzeptrons und ackpropagation Separierbarkeit Die XOR-Funktion definiert die kleinste, nicht linear separierbare Menge: = x XOR (Klasse) 0 0 0 () 0 () 0 () 0 () x 2 =0 x =0 x = Definition mehrerer Geraden (Hyperebenen) Verwendung mehrerer Perzeptrons 4 Multilayer-Perzeptrons und ackpropagation Separierbarkeit (Fortsetzung) Verschaltung von Perzeptrons in mehreren Schichten: Multilayer-Perzeptron. Das einfachste Multilayer-Perzeptron für das XOR-Problem: x = Σ, θ Σ, θ {, } emerkungen: Das Konzept des Multilayer-Perzeptrons wurde 986 von Rumelhart & McClelland vorgeschlagen. Früher aber unbeachtet geblieben waren die rbeiten Werbos und Parker [974, 982]. ei Multilayer-Perzeptrons liegt eine komplexere Lernsituation vor, für die kontinuierliche Schwellwertfunktionen und stärkere Lernverfahren benötigt werden. Marvin Minsky und Seymour Papert zeigten 969 am eispiel des XOR-Problems die Grenzen des einzelnen Perzeptrons. Insbesondere vermuteten sie, daß eine Erweiterung der Perzeptron-rchitektur ähnlichen eschränkungen unterläge wie ein einzelnes Perzeptron. Sie brachten damit die Forschung in diesem ereich für 7 Jahre zum Stillstand. = Σ, θ [Marvin Minsky] 42 42a
Multilayer-Perzeptrons und ackpropagation erechnung im Netzwerk Perzeptron mit kontinuierlicher Schwellwertfunktionen: emerkungen: Die Sigmoid-Funktion eignet sich bei Modellierung der Klassen mit den Werten 0 und. threshold function w 0 = - θ 2 w T x - θ x w. w 2. w p Σ 0 y nstelle der Sigmoid-Funktion kommt auch die tanh-funktion als Schwellwertfunktion zum Einsatz. tanh(x) = ex e x = e 2x e x + e x e 2x + x p Eingänge usgang threshold function Sigmoid-Funktion σ(z) als Schwellwertfunktion: 2 w T x - θ σ(z) = +e z mit der Eigenschaft: erechnung im Perzeptron: y(x) = σ(w T x) = dσ(z) = σ(z) ( σ(z)) dz +e wt x 43 43a Multilayer-Perzeptrons und ackpropagation erechnung im Netzwerk Unterscheidung von Input-, Hidden- und Output-Units (-Perzeptrons): U I U H U O Σ y x = Σ Σ y 2 =......... Σ x p = Σ y k emerkungen: Die Units der Input-Schicht führen keine erechnungen aus; sie dienen lediglich zur Verteilung der Eingangsdaten an die nächste Schicht. Die Nichtlinearität der Sigmoid-Funktion ermöglicht Netzwerke, die jede beliebige Funktion approximieren können. Hierzu sind lediglich drei aktive Schichten notwendig genauer: zwei Schichten mit Hidden-Units und eine Schicht mit Output-Units. Stichwort: Kolmogorov-Theorem uf asis der verallgemeinerten Delta-Regel wird eine Rückwärtspropagierung des Lernfehlers und somit ein Trainieren mehrschichtiger Netzwerke möglich. Stichwort: ackpropagation-lgorithmus Der Gradientenabstieg bzgl. der Fehlerfunktion berücksichtigt den gesamten Netzwerkgewichtsvektor. Multilayer-Perzeptrons werden auch Multilayer-Netzwerke oder (künstliche) neuronale Netze genannt. Eine gebräuchliche bkürzung in diesem Zusammenhang ist NN, für rtificial Neural Network. Feed-Forward U I,U H,U O x u v w uv, w uv δ u y u Mengen von Input-, Hidden- und Output-Units Eingangswert für Unit v, bereitgestellt am usgang von Unit u Gewicht und Gewichtsanpassung für Kante zwischen Unit u und Unit v Lernfehler von Unit u usgangswert von Unit u 44 44a Multilayer-Perzeptrons und ackpropagation Lernfehler Der Lernfehler E(w) summiert sich über die k = U O usgänge des Netzes: E(w) = 2 x,c(x) D v U O (c v(x) y v(x)) 2 Durch die komplexe Form von E(w) gibt es i. d. R. viele lokale Minima: E(w) 6 2 8 4 0 45
Multilayer-Perzeptrons und ackpropagation lgorithmus zur Gewichtsanpassung (Incremental-Mode) Sei D eine Menge von Trainingsbeispielen, η die Lernrate, und U I, U H, U O Mengen von Input-, Hidden- und Output-Units.. initialize_random_weights(u I,U H,U O ), t =0 2. REPET 3. t = t + 4. FORECH x, c(x) D DO 5. FORECH u U H DO y u = propagate(x,u) // layer 6. FORECH v U O DO y v = propagate(y H,v) // layer 2 7. FORECH v U O DO δ v = y v ( y v ) (c v (x) y v ) // backpropagate layer 2 8. FORECH u U H DO δ u = y u ( y u ) w uv δ v v U o // backpropagate layer 9. FORECH w uv, (u, v) (U I U H ) (U H U O ) DO 0. w uv = η δ v x u v. w uv = w uv + w uv 2. ENDDO 3. ENDDO 4. UNTIL(convergence(D, Y O ) t>t max ) 46 Multilayer-Perzeptrons und ackpropagation lgorithmus zur Gewichtsanpassung (Incremental-Mode) Sei D eine Menge von Trainingsbeispielen, η die Lernrate, und U I, U H, U O Mengen von Input-, Hidden- und Output-Units.. initialize_random_weights(u I,U H,U O ), t =0 2. REPET 3. t = t + 4. FORECH x, c(x) D DO 5. FORECH u U H DO y u = propagate(x,u) // layer 6. FORECH v U O DO y v = propagate(y H,v) // layer 2 7. FORECH v U O DO δ v = y v ( y v ) (c v (x) y v ) // backpropagate layer 2 8. FORECH u U H DO δ u = y u ( y u ) w uv δ v v U o // backpropagate layer 9. FORECH w uv, (u, v) (U I U H ) (U H U O ) DO 0. w uv = η δ v x u v. w uv = w uv + w uv 2. ENDDO 3. ENDDO 4. UNTIL(convergence(D, Y O ) t>t max ) 46
Multilayer-Perzeptrons und ackpropagation lgorithmus zur Gewichtsanpassung (Incremental-Mode) Sei D eine Menge von Trainingsbeispielen, η die Lernrate, und U I, U H, U O Mengen von Input-, Hidden- und Output-Units.. initialize_random_weights(u I,U H,U O ), t =0 2. REPET 3. t = t + 4. FORECH x, c(x) D DO 5. FORECH u U H DO y u = propagate(x,u) // layer 6. FORECH v U O DO y v = propagate(y H,v) // layer 2 7. FORECH v U O DO δ v = y v ( y v ) (c v (x) y v ) // backpropagate layer 2 8. FORECH u U H DO δ u = y u ( y u ) w uv δ v v U o // backpropagate layer 9. FORECH w uv, (u, v) (U I U H ) (U H U O ) DO 0. w uv = η δ v x u v. w uv = w uv + w uv 2. ENDDO 3. ENDDO 4. UNTIL(convergence(D, Y O ) t>t max ) 46 Multilayer-Perzeptrons und ackpropagation Gewichtsanpassung mit Momentum-Term Die Gewichtsanpassung in Iteration t wird abhängig von der npassung in Iteration t gemacht: w uv(t) =η δ v x u v + α w uv(t ) mit Momentum α, 0 α< 47 Multilayer-Perzeptrons und ackpropagation Gewichtsanpassung mit Momentum-Term Die Gewichtsanpassung in Iteration t wird abhängig von der npassung in Iteration t gemacht: w uv(t) =η δ v x u v + α w uv(t ) mit Momentum α, 0 α< Effekte: bedingt durch die Trägheit können lokale Minima überwunden werden bei gleichbleibender bstiegsrichtung erhöht sich die Schrittweite und damit die Konvergenzgeschwindigkeit 47
Neuronale Netze Quellen zum Nachlernen und Nachschlagen im Web nwendung und Implementierung: JNNS. Java Neural Network Simulator. http://www-ra.informatik.uni-tuebingen.de/software/javanns SNNS. Stuttgart Neural Network Simulator. http://www-ra.informatik.uni-tuebingen.de/software/snns 48