Neuronale Netze Teil II Neuronale Netze (Wiederholung) Modell zur Berechenbarkeit -> Mathematische Modell -> Turing -> Commputer -> Zellularautomaten -> Neuronale Netze Mc Culloch/ Pitts Neuron -> Keine Gewichte -> Absolute Hemmung -> keine Lernregel (Gewichte müssen von Hand angepasst werden) -> Treppenfunktion als Ausgabe -> realisierbar zB. And und Or Perzeptron -> Gewichte -> Trennt Eingaberaum in zwei Regionen (als geometrische Veranschaulichung) ->Erweiterter Eingabevektor -> Relative Hemmung -> Aus Mc Culloch/ Pitts Neuronen und Perceptronen lassen sich äquivalente Netze konstruieren. Lernen Überwachtes Lernen Unüberwachtes Lernen Korrigierendes Lernen Konkurrenz Verstärkungs Lernen Verstärkung -> Perzeptron lernen -> Cluster Zuordnung, als Verallgemeinerung des Perzeptrons Cluster Zuordnung als Beispiel für unüberwachtes Lernen durch Konkurrenz Aufbau, siehe Tafel Lernalgorithmus: Start: Belegung der Gewichte mit zufälligen Werten. Testen: Ein Eingabevektor wird zufällig ausgewählt, das Neuron das auf diesen mit der Stärksten Erregung antwortet wird korrigiert. Korrigieren: Gewichtsvektor des stärksten Neuronen wird ersetzt durch Gewichtsvektor plus Eingabevektor, danach Normierung. Backpropagation -> Erfunden in den 70‘ern, richtig bekannt ab 1985 durch Rumelhart et. Al -> am weitesten verbreitete Lernmethode -> Sucht Minimum durch Abstieg in Gradientenrichtung der Fehlerfunktion. Dieses Minimum ist dann Lösung. -> Aktivierungsfunktion ist jetzt Sigmode. Fehlerfunktion: 1 m E ti yi 2 i 1 Sigmode: 2 1 sc ( x ) cx 1 e Verlauf der Sigmode für verschiedene c. Gelb: c = 1 Blau: c = 4 Rot: c = 100 Für große c nähert sich die Sigmode immer mehr der Stufenfunktion an. C wird auch Temperatur genannt. Ableitung der Sigmode ist (bei c = 1): x ds( x) e s( x)(1 s( x) x 2 dx (1 e ) Da Überall Diffbar., ist auch die Fehlerfunktion überall Diffbar., und fast nirgendwo völlig flach. Schritte des Lernalgorithmus Feedforward Berechnung Backpropagation bis zur Ausgabeschicht Backpropagation bis zur verborgenen Schicht Korrektur der Gewichte 1.) Feedforward Berechnung Eingabevektor o an den Eingabestellen einlegen. Am Ende wird der Fehler E ausgegeben. An allen Neuronen wird die Ableitung der Sigmode gespeichert. 2.) Backpropagation bis zur Ausgabeschicht Finden von der partiellen Ableitung von E nach w2 durch: E 2 2 2 1 2 1 ( o ( 1 o )( o t )) o j j j j i j oi 2 wij 3.) Backpropagation bis zur verborgenen Schicht. Finden der Ableitung von E nach w1 durch: k E 1 1 2 2 1 o j (1 o j ) w jq q j oi 1 wij q 1 4.) Korrektur der Gewichte Jetzt da die partiellen Ableitungen der Fehlerfunktion bekannt sind und damit auch der Gradient, müssen nur noch die Gewichte angepasst werden. w o 2 ij 1 i 2 j w oi 1 ij 1 j Das ganze in Matrixform: (an der Tafel) Variationen des Backpropagation-Verfahrens Backpropagation mit variabler Schrittlänge Ändern der Konvergenzgeschwindigkeit durch Variation der Lernkonstante Backpropagation mit Impuls wt E wt 1 Wobei alpha empirisch festgelegt wird (Rumelhart, Hinton, Williams: alpha ca. 0,9). Anwendungen der Backpropagation Netze Datenkompression, Mustererkennung, Robotik, Spracherkennung, Sprachausgabe, Erkennung von Zeitreihen (Börse) Assoziative Speicher Rekursive Netze xy 3 Klassen von Assoziativ Speichern -> Heteroassoziative S. : -> Autoassoziative S. : -> Mustererkennung: x x x i, Skalar Struktur: XW=Y , alles Vektoren Bipolare Vektoren: -> leichtere Mathematische Ausdrücke -> einfachere Speicherung orthogonaler Vektoren ->Signum Funktion als Aktivierungsfunktion Self Organized Maps Teuvo Kohonen, Finne (1982,1984) Topologieerhaltene Abbildungen -> keine expliziete Ausgabe -> keine Fehlerfunktion -> Lernen während des Betriebes (selbständige) Kartierung des Eingaberaums Für Eingabe aus a1 feuert nur ein Neuron Sensorische Karten im Gehirn -> biologischer Hintergrund (Gehirn 2D <-> Augen 3D) -> Topologieerhaltend Abgebildet (Benachtbarter Input -> Benachtbarte Region)(Auge,Tastsinn,Motorische Rinde) -> benachtbarte Zellen beinflussen sich während der Lernphase Nachbarschaftsfunktion phi(i,k) Lernalgorithmus Start: Zufällige Auswahl der Gewichte. Anfangswerte für Nachbarscahftsradius und Lernkonstante Schritt 1: Zufällige Eingabe Schritt 2: Neuron mit maximaler Erregung wird ermittelt. (minimaler Abstand zwischen Eingabe und Gewichten) Schritt 3: Aktualisierung der Gewichte der Nachbarschaft des Neurons. wi : wi (i, k )( wi ) Schritt 4: Änderung der Lernkonstante und oder des Radius oder Abbruch ->Auch 2D Raster möglich. ->Projektion auf niedrigere Dimension durch Faltung Anwendungen: ->Kartierung von Funktionen (x,y,f(x,y))(adaptive Tabelle für Funktionswerte) ->Kartierung von Räumen (Robotersteuerung) Quellen: -> Theroie der neuronalen Netze (Rojas, Springer) -> Theoretical Neuroscience (Peter Dayan and L.F. Abbott) -> Diverse Seiten aus dem Internet (Wikipedia ,,,)