Hochschule Regensburg Übung 12_4 Neuronale Netze Spezielle Algorithmen (SAL) Name: ________________________ Lehrbeauftragter: Prof. Sauer Vorname:_______________________ Inhaltsverzeichnis 1. Die biologische Inspiration ................................................................................................................... 2 2. Neuronen-Modelle ............................................................................................................................... 3 3. Bestandteile eines Neuronalen Netzes ................................................................................................ 3 3.1 Verbindungen ................................................................................................................................. 3 3.2 Neuronen ....................................................................................................................................... 4 3.3 Aktivierungsfunktion ....................................................................................................................... 4 3.4 Schichten ....................................................................................................................................... 5 4. Trainieren Neuraler Netzwerke ............................................................................................................ 6 4.1 Trainingsphase und Ausbreitungsphase ........................................................................................ 6 4.2 Trainings- und Testmenge ............................................................................................................. 6 4.3 Trainingsüberwachung ................................................................................................................... 6 4.4 Verschiedene Trainingsarten ......................................................................................................... 7 5. Lernregeln ............................................................................................................................................ 8 5.1 Hebb’sche Regel und Delta-Regel ................................................................................................. 8 5.2 Beispiele für Anwendungen der Lernregeln ................................................................................... 9 5.3 Offline oder Online-Lernen ........................................................................................................... 12 6. Architekturen...................................................................................................................................... 12 6.1 Assoziative Netze ......................................................................................................................... 12 6.2 Mehrschichtige Netze ................................................................................................................... 13 6.3 Rekurrente Netze ......................................................................................................................... 14 1 1. Die biologische Inspiration In der Biologie bzw. Medizin existieren simple Modelle für die Funktionsweise des Gehirns. Diese Modelle wurden zum Vorbild für Neuronale Netze. Dendriten Dendriten Zellkörper (Soma) Nervenfaser (Axon) Synaptic Gap (Synapse) Dendriten Abb.1 Aufbau einer Nervenzelle Bestandteile eines Neurons - Zellkörper Ein- oder mehrere Eingänge Genau einen Ausgang (Axon), der sich am Ende verzweigen kann Das Ende eines Axons ist über Synapsen mit Dendriten verbunden. Über das Axon kann ein Neuron ein elektrisches Aktionspotential zu den Dendriten anderer Neuronen weiterleiten Die Verbindungsstelle von Axon und Dendrit heißt Synapse. Funktionsweise eines Nervenzelle - Signale werden über Axone übertragen ( v 100m / s ) An den Synapsen werden Signale verstärkend oder hemmend weitergegeben (positive oder negative Gewichte) In der Zelle wird eine gewichtete Summe der Eingangsregeln berechnet Falls die Summe einen Schwellwert übersteigt feuert die Zelle und liefert über das abgehende Axon ein Ausgangssignal 2 2. Neuronen-Modelle w i1 wi 2 x1 x2 n ….. xn Dendriten - j 1 x j wij win Synapsen Axon - Die an einem Neuron ankommende Signale werden nach der Effizienz der einzelnen Synapsen gewichtet und aufsummiert n Neuron feuert, falls Potentialschwelle überschritten wird: j 1 x j wij - Lernen: Verändern der synaptischen Effizienz 3. Bestandteile eines Neuronalen Netzes Ein neuronales Netz - besteht aus einer Menge von Neuronen und einer Netzstruktur die Netzstruktur beschreibt, welche Neuronen mit welchem Gewicht verknüpft sind. die Netzstruktur lässt sich als Gewichtsmatrix angeben: W ( wij ) -- wij gibt das Gewicht der Verbindung von Neuron j nach Neuron i an -- wij 0 : Verbindung heißt exzitatorisch, d.h. anregend -- wij 0 : Verbindung heißt inhibitorisch, d.h. hemmend -- wij 0 : Ein Gewicht von Null besagt, dass ein Neuron auf ein anderes Neuron derzeit keinen Einfluß ausübt Das Wissen eines Neuronalen Netzes ist in seinen Gewichten gespeichert Lernen kann man bei Neuronalen Netzen als Gewichtsveränderungen zwischen den Einheiten Units) definieren 3.1 Verbindungen Sie sind unidirektional und verbinden die Neuronen des Netzes untereinander. Außerdem gibt es Verbindungen, die von außen an das Neuronale Netz herankommen und die Eingabe an das Netz transportieren. Die Verbindungen enden meistens an speziellen Eingabeneuronen. Anlog dazu gibt es Ausgabeneuronen, deren Ausgabeverbindungen das Neuronale Netz verlassen und der Außenwelt die Ausgabe des Netzes liefern. Je nach Art eines speziellen Netzes ist die Art der Vernetzung (welche Neuronen mit welchen verbunden werden) unterschiedlich 3 3.2 Neuronen Ein Neuron1 hat eine beliebige Anzahl von Verbindungen (Eingabeverbindungen), die bei ihm ankommen. Für jede Eingabe x j ( j 1,..., n) besitzt das Neuron ein Gewicht wij . Alle Gewichte eines Neurons werden zu dem Gewichtsvektor wi ( w1 , w2 ,..., wn ) T zusammengefasst. Der Gewichtsvektor wird üblicherweise im lokalen Speicher abgelegt. w i1 wi 2 x1 x2 n ….. xn j 1 x j wij f oi win Netzeingabe (Netto-Input der Unit i): n net i j 1 x j wij wi 0 x1 wi1 x2 wi 2 ... xn win x T wi wi ( wi 0, wi1 , wi 2 ,..., win ) x (1, x1 , x2 ,..., xn ) 3.3 Aktivierungsfunktion Jedes Neuron besitzt eine Transferfunktion (oft auch Aktivierungsfunktion2) genannt. Als Argumente dienen der Transferfunktion Werte aus den Eingabeverbindungen und dem lokalen Speicher des Neurons. Aktivierungsfunktion: oi f i (net i ) Typische Aktivierungsfunktionen 1, falls net i - Binäre Schwellwertfunktion: oi (net i ) 0, falls net i 1, falls net i - Bipolare Schwellwertfunktion: oi sign (net i ) 1, falls net i - Binäre sigmoide Funktion: oi f (net i ) 1 1 exp( net i ) - Bipolare sigmode Funktion: oi f (net i ) 2 1 1 exp( net i ) - Identitätsfunktion: oi net i 1 2 Typ: McCulloch&Pitts vgl. Skriptum 1.2.2, 3. 4 3.4 Schichten Beliebige disjunkte Mengen von Neuronen können zu einer Schicht zusammengefasst werden. Alle Neuronen einer Schicht sollen die gleiche Transferfunktion besitzen und werden gleichzeitig aktiviert. Die Neuronen, die Eingabeverbindungen aus der Außenwelt empfangen, werden oft in der Eingabeschicht zusammengefasst. Entsprechend bilden die Neuronen, die Ausgaben an die Außenwelt schicken, die Ausgabeschicht. Die übrigen Schichten heißen verborgen, da sie keine Verbindung nach außen besitzen. Eingabeschicht mit Input Units Verborgene Schicht mit Hidden Units Ausgabeschicht mit Output-Units Notation: 4 – 3 – 2 Netz (4 Neuronen in der Eingabeschicht, 3 Neuronen in der verborgenen Schicht, 2 Neuronen in der Ausgabeschicht Abb.: Vorwärtsgerichtetes azyklisches Netz Die einfachsten neuronalen Netze bestehen nur aus einer Eingabe- und einer Ausgabeschicht.. Derartige Neuronale Netze kann man durch eine Gewichtsmatrix darstellen, z.B. 1 2 3 w W 11 w21 1 w12 w22 w13 w23 2 Der jeweilige erste Index des Gewichts bezieht sich auf die Output-Unit, der zweite Index auf die entsprechende Input-Unit 5 4. Trainieren Neuraler Netzwerke Ein NN macht sich über das Training mit den Problemen vertraut. Nach ausreichendem Training können auch bis dahin unbekannte Probleme gelöst werden (Generalisierung). 4.1 Trainingsphase und Ausbreitungsphase Bei Neuronalen Netzen unterscheidet man zwischen - - Trainingsphase: In dieser Phase lernt das Neuronale Netz das vorgegebene Lernmaterial. Dementsprechend werden in der Regel die Gewichte zwischen den einzelnen Neuronen modifiziert. Lernregeln geben dabei die Art und Weise an, wie das Neuronale Netz diese Veränderungen vornimmt. Man unterscheidet grundsätzlich zwischen supervised learning: Die korrekte Ausgabe wird vorgegeben und daran werden die Gewichte optimiert unsupervised learning: Es wird kein Ziel (Ausgabe) vorgegeben. Das Netz versucht ohne Beeinflussung von außen die präsentierten Daten selbstständig in Ähnlichkeitsklassen aufzuteilen. reinforcement learning: Dem Netz wird lediglich mitgeteilt, ob seine Ausgabe korrekt oder inkorrekt war. Das Netz erfährt nicht den exakten Wert des Unterschieds. Diese Art des Lernens hat ihr Vorbild in der Erziehung eines Tiers, das ebenfalls nur durch Lob und Tadel erzogen werden kann. Ausbreitungsphase: In der Ausbreitungsphase werden hingegen keine Gewichte verändert. Statt dessen wird hier auf Grundlage der bereits modifizierten Gewichte untersucht, ob das Netz etwas gelernt hat. 4.2 Trainings- und Testmenge Die Trainingsmenge bilden repräsentative Ein-/Ausgabe-Daten. Gewöhnlich operiert ein Neuronales Netz nach dem Training besser auf Eingaben, die auch schon während des Trainings gemacht wurden. Daher muß die Leistung des Neuronalen Netzes nach dem Training mit ebenso repräsentativen Testbeispielen überprüft werden. Trainings- und Testmenge müssen unbedingt verschieden sein. Die Elemente der Trainingsmenge müssen dem Neuronalen Netz im allg. mehrere Male repräsentiert werden, da die Anpassung des Netzes nur langsam erfolgt. Eine einmalige, vollständige Repräsentation der Trainingsmenge heißt Lernzyklus. 4.3 Trainingsüberwachung Bei allen Trainingsmethoden muß bestimmt werden, wann das Training weit genug fortgeschritten ist, um es abzubrechen. Im wesentlichen gibt es drei Mechnismen: - Mit Hilfe einer Fehlerfunktion wird die Abweichung der Trainingsausgaben von den konkreten Ausgaben gemessen. Je nach Problemstellung kann dafür ein anderen Fehlermaß (z.B. kleinster quadratischer Fehler, absoluter Fehler, Durchschnittsfehler) verwendet werden. Ist der Fehler befriedigend klein, kann das Training abgebrochen werden. 6 - - Das Neuronale Netz kann eine Energiefunktion besitzen, die mißt, wie oft, wie stark etc. das neuronale Netz sich verändert hat. Die Funktion ist so gewählt, daß sie mit zunehmender Veränderung des Netzes immer kleinere Werte liefert. Ist der Wert der Energiefunktion unter eine gegebene Schwelle gefallen, wird das Training beendet. In der Lernregel des Neuronalen Netzes gibt es variable Faktoren, die steuern, wie stark sich das Netz verändert. Abhängig von Daten wie Fehlermessungen, Dauer der Lernphase etc. werden diese Faktoren immer näher bei 0 gewählt, bis sich das Neuronale Netz schließlich kaum noch verändern kann. Dann ist das Ende der Lernphase erreicht. 4.4 Verschiedene Trainingsarten Lernaufgabe: Menge von Eingabemustern L ( p1 , t1 ), ( p 2 , t 2 ),...( p n , t n ) p k ist ein Eingabevektor (Eingabemuster, input pattern)und dient als Eingabe im Netz t k ist ein Ausgabevektor (target) und legt die gewünschte Ausgabe fest Lernziel: jedes p, t aus L soll vom Netz mit möglichst kleinem Fehler berechnet werden. Häufig verwendetes Fehlermaß: Fehler bzgl. eines Ein-/Ausgabepaares aus L 2 E p ,t y k t k k y : Ausgabe des Netzes bei Eingabe p Gesamtfehler (Sum Squared Error, sse): E E p ,tL p ,t Vorgehen: - Wähle ein Ein-/Ausgabepaar p, t aus L und gebe p im Netz ein - Berechne Ausgabe y des Netzes - Vergleiche y mit gewünscheter Ausgabe t - Ändere Gewichtsmatrix W möglichst so, daß E p ,t minimiert wird. - Falls eine Epoche (vollständiger Durchlauf durch die Ein-, Ausgabepaare) abgelaufen, prüfe, ob Gesamtfehler E gewünschten Grenzwert erreicht hat. Falls nicht, starte eine neue Epoche (Musterlernen, lerning by pattern, online-learning) Variante: Ändere Gewichtsmatrix W epochenweise. (Epochenlernen, learning by epoch, offline-learning) Unüberwachtes Lernen Lernaufgabe: Menge von Eingabemustern L ( p1 , p2 ,..., pn ) p k ist ein Eingabevektor und dient als Eingabe im Netz Lernziel: Finde Klassifizierung, ähnliche Eingaben sollen gleich klassifiziert werden. Vorgehen: - Wähle ein Eingabemuster p k aus L und gebe p k ins Netz. - Berechne Ausgabe y des Netzes - Ändere Gewichtsmatrix W gemäß einer Lernregel - Falls am Ende einer Epoche ein Endekriterium erfüllt ist, breche ab. - Sonst starte eine neue Epoche 7 Bewertetes Lernen Das Netz erhält zu den Trainingseingaben x k nicht die korrekten Ausgaben y k . Stattdessen wird die Leistung des Neuronalen Netzes von Zeit zu Zeit bewertet (jeweils für den Zeitraum seit der letzten Wertung). Daraufhin kann es versuchen, sich zur Zufriedenheit des Bewertenden zu ändern. Selbstordnung (self organization) Hier werden dem Neuronalen Netz nur repräsentative Eingaben geliefert, in dem es bestimmte Gemeinsamkeiten „erkennen“ soll. Dabei soll es bestimmte Musterkategorien bilden,in die sich Eingaben einordnen lassen. Der Vorgang der Kategoriebildung wird auch Clustering genannt. 5. Lernregeln Während des Trainings sorgt die Anwendung der Lernregel eines Neuronalen Netzes dafür, daß es sich den Trainingsdaten anpaßt bzw. Kategorien formt. Die Lernregel ist ein Algorithmus, der das NN verändert und ihm so beibringt, für eine vorgegebene Eingabe eine gewünschte Ausgabe zu produzieren. 5.1 Hebb’sche Regel und Delta-Regel 1. Hebb’sche Regel Im menschl. Gehirn erfolgt Lernen durch Ändern der Synapsenstärken. Der Psychologe Donald Hebb (1949) stellte die Hypothese auf, daß sich die Gewichtung der Synapse verstärkt, wenn Neuronen vor oder nach der Synapse gleichzeitig aktiv sind3. Die Hebb’sche Regel besagt: Wenn Neuron „i“ und Neuron „j“ zur gleichen Zeit stark aktiviert sind, dann erhöhe das Gewicht wij , das diese beiden Neuronen verbindet. wij ai a j Die Lernrate " 0 " bemißt die Größe des Lernschritts. Wird von Gewichten mit dem Wert 0 ausgegangen und baut sich das Netzwerk schrittweise auf, dann ist das Gewicht am Ende einer Reihe von Lernschritten (indiziert durch l): wij ail a jl j Motivation: Beobachtungen zur Ableitung der Hebb’schen Regeln erfolgten an „echten neuronalen Netzen“ Nachteil: Gewichte können nur größer werden4, nur geringe Flexibilität 3 vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10, 2.3.2.1 http://fbim.fh-regensburg.de/~saj39122/vhb/index.html 4 vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS09/10, 2.3.2.2 http://fbim.fh-regensburg.de/~saj39122/vhb/index.html 8 2. Delta-Regel5 wij i a j i ti ai Aus der Differenz von gewünschtem und erzieltem Ausgabeverhalten berechnet man einen Fehlerkorrekturwert, das sog. Delta und ändert die Gewichte in Abhängigkeit von diesem Fehlerkorrekturwert. - Gewichtsänderung ist proportional zum Fehler an den Ausgabe-Neuronen - In dieser Form nur für Feedforward-Netzwerke mit Ein- und Ausgabeschicht sinnvoll - Eingeschränkte Mächtigkeit: Nur eine Teilmenge der möglichen Eingabe, Ausgabe – Funktionen kann gelernt werden. Es gibt eine Verallgemeinerung der Delta-Regel für Netzwerke mit mehr als 2 Schichten (Eingabe, Ausgabe). 5.2 Beispiele für Anwendungen der Lernregeln 1. Bsp.: Trainieren mit der Hebbschen Regel6 1. Ein positiver Fall 1 0 2 Dieses NN soll aus Eingabemustern nach folgender Zusammenstellung Ausgabemuster erzeugen. Eingabe 0 1 1 -1 -1 Eingabe 1 1 -1 1 -1 Ausgabe 2 1 1 -1 -1 Nach der Hebbschen Regel (Gleichung 1) erhält w20 den Wert von (Annahme: 1. 0 ) zugeordnet, w21 dagegen wird reduziert auf den Wert 0. Eingabemuster 0 korreliert zum Ausgabemuster. Auf diese Weise können über die Hebbsche Hypothese Assoziationen erlernt werden. 2. Ein negativer Fall 5 6 Widrow&Hoff-Regel vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10, 2.3.2.1 9 0 1 2 3 4 Das NN soll aus Eingabemustern nach folgender Zusammenstellung ein Ausgabemuster erzeugen: Eingabe 0 1 1 1 1 1 -1 1 1 -1 2 1 1 1 -1 3 -1 1 -1 1 Ausgabe 4 1 1 -1 -1 3 der möglichen Verbindungen zwischen Eingabe- und Ausgabeschicht führen auf den Wert 0 (keine Korrelation zwischen den Aktivitäten). Nur Einheit 2 hat zur Ausgabeeinheit eine positive Korrelation. Eine Lösung der vorliegenden Aufgabe kann durch die folgende Zuordnung von Werten zu den Verbindungen erreicht werden: 0 1 -1 2 2 -1 3 1 4 10 2.Bsp.: Lernen nach der Delta-Regel7 0 1 2 3 4 Das NN soll aus Eingabemustern nach folgender Zusammenstellung ein Eingabemuster erzeugen. Muster 0 1 2 3 Eingabe 0 1 2 3 1 -1 1 -1 1 1 1 1 1 1 1 -1 1 -1 -1 1 Ausgabe 4 1 1 -1 -1 Nach der Delta-Regel sind die Gewichte der Verbindungen zwischen den Einheiten der Einund Ausgabeschicht zuzuordnen. Die Gewichte sind mit 0 initialisiert, die Lernrate hat den Wert 0.25. Lösung: Zuerst wird Muster 0 betrachtet. Das führt auf den Ausgabewert 0. Zum vorgegebenem Ziel ergibt sich die Differenz 1, d.h. Änderungen der Gewichte sind proportional zu den Aktivierungen der Eingabeeinheiten. Das führt zur folgenden Tabellenzeile für Muster 0. Muster 0 Eingabe Ziel 1 -1 1 -1 1 Ausgabe 0.0 Fehler wij wij 1.0 0.25 -0.25 0.25 -0.25 0.25 -0.25 0.25 -0.25 8 7 vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10, 2.3.2.4 Fortsetzung der Lösungsangaben: vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10, 2.3.2.3 8 11 5.3 Offline oder Online-Lernen Lernen kann offline oder online erfolgen. offline: eine Menge von Trainingsmustern wird präsentiert, danach werden Gewichte verändert, der Gesamtfehler wird mit Hilfe einer Norm errechnet bzw. einfach aufkumuliert. Offline-Trainingsverfahren werden auch Batch-Trainingsverfahren genannt, da ein Stapel Ereignisse nur einmal korrigiert wird. Einen sochen Trainingsabschnitt von einem ganzen Stapel Trainingsbeispiele samt zugehöriger Veränderung der Gewichtswerte nennt man Epoche. online: Nach jedem präsentierten Beispiel werden Gewichte verändert. 6. Architekturen Mit Architektur ist der Aufbau Neuronaler Netze gemeint. Dieser Begriff beinhaltet Informationen über Zahl und Art der Schichten, über Vernetzung und über die verwendete Lernregel. Generell ist der Aufbau Neuronaler Netze bestimmt durch - eine Menge von Neuronen und eine Netzwerkstruktur die Netzwerkstruktur beschreibt, welche Neuronen mit welchem Gewicht miteinander verknüpft sind die Netzwerkstruktur läßt sich als Gewichtsmatrix W wij angeben. - wij gibt die Verbindung von einem Neuron der Schicht „j“ zu einem Neuron der Schicht „i“ an 6.1 Assoziative Netze Als assoziative Netze werden im allg. Neuronale Netze bezeichnet, die aus einer Eingabeschicht mit Verteilerneuronen und einer Ausgabeschicht bestehen. Nur die Neuronen der Ausgabeschicht besitzen Gewichtsvektoren und das Neuronale Netz hat demzufolge nur eine „Arbeitsschicht“. Typische Aufgabe: Lernen von „l“ Assoziationen der Form ( x k , y k ) . Die „l“ Paare werden dem Neuronalen Netz während des Trainings präsentiert. Nach dem Training soll das Netz dann zur Eingabe x k die Ausgabe y k liefern (für k = 1, … ,l), für andere Eingaben wird die Ausgabe durch Interpolation ermittelt. Die Punkte ( x k , y k ) mit gleichen y k bilden zusammen eine Klasse. Soll ein assoziatives Netz alle l Assoziationen ( x k , y k ) perfekt lernen, müssen die Klassen linear separabel sein. Wichtigstes Anwendungsgebiet: Pattern Assoziator. Er kann Muster erkennen, die er zuvor gelernt hat. Die Trainingsphase kann entweder mit der Hebb-Regel oder mit der Delta-Regel9 vorgenommen werden. Der Pattern Assoziator verfügt über eine Reihe wünschenswerter Eigenschaften: - 9 Generalisierung: Ähnliche Muster werden zu selben Mustergruppe kategorisiert. vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10 2.3.2 12 - - Toleranz gegenüber internen Schäden: Hier ist gemeint, dass trotz innerer Schäden des Neuronalen Netzes (z.B. durch das Absterben einzelner Neuronen) dieses oftmals dennoch die richtige Ausgabe produziert. Ausgabe der zentralen Tendenz bzw. des Prototypen der Kategorie: Bei mehreren gelernten Inputmustern bildet der Pattern Assoziator einen Prototypen der gelernten Muster aus. 6.2 Mehrschichtige Netze Mit „mehrschichtig“ ist hier gemeint, daß das Neuronale Netz mindestens eine verborgene Schicht hat. Durch die Mehrschichtigkeit werden die beiden großen Probleme der assoziativen Netze überwunden: 1. Mehrschichtige Netze besitzen die Fähigkeit zur Abstraktion, so dass auch nicht linear separable Klassen gelernt werden können. 2. Die Dimension der Eingaben beschränkt nicht die Zahl der exakt lernbaren Ein/Ausgabepaare Der wichtigste Vertreter der mehrstufigen Netze ist das Backpropagation-Netz10 mit zahlreichen Varianten (z.B. Quickprop). Mehrschichtige Netze besitzen keine Zyklen (azyklisch) und sind vorwärtsgerichtet (feedforward). Eingabeschicht (input layer) Verdeckte Schichten (hidden layers) Ausgabeschicht (output layer) Abb.: Vorwärtsgerichtetes 3-2-3-2-Netz Schichtenarchitektur: - Nur Verbindungen zwischen aufeinander folgenden Schichten - Schichten müssen nicht vollständig miteinander verknüpft sein 10 vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10, 2.4 13 Arbeitsweise mehrschichtiger Netze, z.B. 2-2-2-Netz 1 3 5 x x T 1 x2 y y T 1 y2 2 Gewichte: Aktivierungsfunktion: 4 w W1 31 w41 6 w32 w53 W2 w42 w63 w54 w64 f3 f4 f5 f6 f Berechnung der Netzausgabe: o3 o4 w f 31 w41 o y T 5 o 6 w32 x1 f W1 x T w42 x 2 w f 53 w 63 w 54 w 64 o 3 o 4 f W 2 f W 1 x T 6.3 Rekurrente Netze Sie sind dadurch gekennzeichnet11, dass Rückkopplungen von Neuronen einer Schicht zu anderen Neuronen derselben oder einer vorangegangenen Schicht existieren. Damit sollen zeitlich kodierte Informationen in den Daten entdeckt werden. Rekurrente Netze lassen sich unterteilen in Neuronale Netze mit - 11 direkten Rückkopplungen (direct feedback): Hier existieren vom Output zum Input derselben Unit. Der Aktivitätslevel der Einheit wird zum Input der gleichen Einheit. Indirekte Rückkopplungen (indirect feedback): In diesem Fall wird die Aktivität an vorangegangene Schichten zurückgesandt. Seitliche Rückkopplungen (lateral feedback): Hier erfolgt die Rückmeldung der Information einer Unit an Neuronen, die sich in derselben Schicht befinden Vollständige Verbindungen: Die Netze besitzen Verbindungen zwischen sämtlichen Neuronen vgl. Neuronale Netze, Fuzzy Control und genetische Algorithmen, Skriptum WS 09/10, 2.5 bzw. 2.1.2.2 14 Eingabeschicht Verborgene Schicht Ausgabeschicht Abb.: Schematische Darstellung eines Simple Recurrent Network mit 3 Kontext-Units (in blau) Simple Recurrent Networks zeichnen sich durch ihre Kontexteinheiten aus. Kontexteinheiten sind Neuronen, die sich quasi auf gleicher Ebene wie die der InputSchichten befinden und von Units der Hidden-Schicht Informationen erhalten. Diese Informationen werden dann dort verarbeitet und sodann einen Schritt verzögert an die Hidden Units der betreffenden Schicht zurückgesendet. Kompetitive Netze (Self Organizing Maps)sind NN mit einer Input- und einer Outputschicht12 und greifen auf die Competitive Lernregel (Wettbewerbslernen) zu. Das Lernen nach dieser Lernregel ist unsupervised, das NN nimmt anhand der Ähnlichkeit der repräsentativen Input-Reize eine Kategorisierung vor. Es können 3 verschiedene Phasen unterschieden werden: 1. Erregung: Zunächst wird wie gewohnt für alle Ausgabe-Units der Netto-Input durch folgende Formel berechnet: x j wij 2. Anschließend werden die Netto-Eingaben sämtlicher Ausgabe-Einheiten miteinander verglichen. Diejenige Unit mit dem höchsten Netto-Input ist der Gewinner. 3. Adjustierung der Gewichte: Im letzten Schritt werden die Gewichte verändert und zwar bei allen Verbindungen, die zur Gewinner-Unit führen. Alle anderen Gewichte werden nicht verändert („The winner takes it all“) Kohonen-Netze13 sind eine Erweiterung kompetitiver Netze. Auch sie agieren ohne externen Lehrer. 12 und damit auch wie der Musterassoziator ohne verborgene Schichten Der Begriff stammt von Teuvo Kohonen, der ein sehr bekanntes Netzwerk konzipierte, das seinen Namen trägt. 13 15 Zweidimensionale Ausgabeschicht Abb.: Schematische Darstellung eines 2-dimensionalen Kohonen-Netzes. In blau und rot 2 Input-Units mit ihren Verbindungen zu sämtlichen Ausgabe-Units (in grün), die 2-dimensional angeordnet sind. Kohonen-Netze können in selbstorganisierender Weise lernen, Karten (maps) von einem Eingaberaum) zu erstellen. Man kann auch sagen: Kohonen-Netze clustern den Eingaberaum. 16