Grundlagen Neuronale Netze Einführung in Neuronale Netze Grundlagen Neuronale Netze Zusammengestellt aus: • • • Universität Münster: Multimediales Skript Internetpräsentation der MFH Iserlohn (2000) U. Winkler: Untersuchungen zur Anwendung Neuronaler Netze für die Lösung von Problemen der Informationsverarbeitung in der biologischen Reinigungsstufe von Kläranlagen (1998) • Stöcker: Stöcker: Mathematik • Projektarbeit – M. Höhler • Eigenen Unterlagen 1 Grundlagen Neuronale Netze Literatur: • InternetInternet-Skript von Prof. Dr. Westenberger • http://www.gm.fhhttp://www.gm.fh-koeln.de/~west/ Lehrbuch: Andreas Zell: Simulation neuronaler Netze Grundlagen Neuronale Netze Inhalt: •Einleitung •Biologisches Vorbild •Prinzipien Künstlicher Neuronaler Netz 2 Grundlagen Neuronale Netze Inhalt: •Einleitung •Biologisches Vorbild •Prinzipien Künstlicher Neuronaler Netze Einleitung • Was versteht man unter „Neuronalen Netzen“? » Neuronale Netze sind dem Gehirnfunktionen nachempfundene Strukturen, die einen Lernprozess ermöglichen. 3 Einleitung Abgrenzung von konventionellen Programmen und Wissensverarbeitung Einleitung Abgrenzung von Systemen zur Wissensverarbeitung 4 Einleitung Abgrenzung von menschlichem zu künstlichem Experten Einleitung Simulationsmodell: (a) konventionell und (b) mit Neuronalen Netzen 5 Einleitung •Computer lösen schnell Algorithmen. •Menschen erkennen schneller Zusammenhänge. •Das Gehirn arbeitet auch bei ungenauen Eingaben. •Es arbeitet auch, wenn einige Zellen defekt sind. •Es ist lernfähig, benötigt also keine Algorithmen. •Informationsverarbeitung erfolgt parallel: Resultat: Hohe Fehlertoleranz und nur kleiner Wissensausfall bei Zerstörung eines Neurons. Was ist ein neuronales Netz ? Mathematische Inputs ? Outputs Formel 6 Einsatzgebiete neuronaler Netze Anwendungen » Prognose » Zinsprognose » Wechselkursprognose » Entscheidungsunterstützung » Kreditwürdigkeitsprüfung » Mailingaktionen » Steuerung und Regelung » Abfallsortierung » Bewegungssteuerung 7 Zinsprognose Outputs Inputs Mathematische ? • BSP • DAX • Inflationsrate • usw. Formel Zins Zinsprognose Inputs Output InputSchicht HiddenSchicht OuputSchicht Bruttosozialprodukt Kapitalmarktzins Inflationsrate Leitzins der Bundesbank 8 Kreditwürdigkeitsprüfung HiddenSchicht Input OutputSchicht Familienstand Kennzahl für Kreditwürd. Einkommen Kennz. für SCHUFA Auskunft Mailing Aktion Input HiddenSchicht OutputSchicht Branche Jahresumsatz Kennzahl für Erfolgsaussicht Entfernung in km 9 Vergleich: Gehirn/Computer 0 1 1 0 1 0 0 1 1 1 0 1011 •Anzahl Neuronen •Schaltzeit eines Elements •„Taktfrequenz“ 10-3 s bis 1 kHz 109 •Anzahl Transistoren •Schaltzeit eines Elements •Taktfrequenz 10-9 s 2,5 GHz Ein Mensch benötigt 0,1s um eine ihm bekannte Person zu erkennen, der Computer erkennt in der Zeit noch nichts! 2003 Meinolf Höhler Quelle: ©Prof. Westenberger, FH Köln, Neuronale Netze 99V011 Vergleich: Gehirn/Computer 0 1 1 0 1 0 0 1 1 1 0 Eigenschaft Gehirn Computer Parallelität hoch niedrig Präzision mäßig hoch Fehlertoleranz hoch niedrig Speicherzugriff Erkennen von Mustern Ausnutzen von Ähnlichkeiten lokal gut schlecht ja nein Numerisch präzise Berechnungen schlecht gut Fehlerloses Speichern von Daten schlecht gut Rekonstruieren verrauschter Daten gut schlecht Verallgemeinern von Beispielen gut schlecht ja bisher nicht Selbstorganisation 2003 Meinolf Höhler global Quelle: ©http://www.inf.hs-zigr.de/~wagenkn/TI/Komplexitaet/Referate98/vogt/neuronales/neuronaleNetze.html 10 Grundlagen Neuronale Netze Inhalt: •Einleitung •Biologisches Vorbild •Prinzipien Künstlicher Neuronaler Netze Biologisches Vorbild Aufbau einer Nervenzelle 11 Biologisches Vorbild Aufbau einer Nervenzelle: • Zellkörper 0,25 mm groß • Dendriten – die Zellfortsätze zur Aufnahme von Signalen • Axone – die Zellfortsätze zum Senden von Signalen • Organellen versorgen die Zellen mit Energie Biologisches Vorbild Nervenzellen Dieses Photo zeigt multipolare (mit vielen Fortsätzen) ausgestattete Nervenzellen. Der zentrale Zellkörper jeder Zelle ist deutlich erkennbar, ebenso die Dendriten – kurze Fortsätze des Zellkörpers, die Nervenreize aufnehmen. 12 Biologisches Vorbild Schalten einer Nervenzelle: • Axone öffnen sich für Na+ Ionen • Dadurch ergibt sich ein Potentialausgleich • Nach 11-2 ms wieder Ruhepotential Biologisches Vorbild (A) Elektronenmikroskopische Aufnahme einer Retzius-Nervenzelle des Blutegels auf dem metallfreien Gate eines Feldeffekt-Transistors. Source und Drain des Transistors sind durch das Profil der Oberfläche gekennzeichnet. (B) Source-Drain-Strom eines NeuronTransistors (obere Linie) und intrazelluläre Spannung (untere Linie). Die positiven Veränderungen der intrazellulären Spannung rufen eine Unterdrückung des Stroms im pleitenden Kanal des Transistors hervor. 13 Biologisches Vorbild Aufbau des Gehirns Biologisches Vorbild Aufbau des Gehirns: • Großhirn: Sensorik, Motorik • Thalamus: Sinnesorgane – Signalvorverarbeitung • Hypothalamus: Vegetatives System • Mittelhirn: Schlafsteuerung • Kleinhirn: Gleichgewicht • Nachhirn: Reflexe 14 Grundlagen Neuronale Netze Inhalt: •Einleitung •Biologisches Vorbild •Prinzipien Künstlicher Neuronaler Netze Aufbau des neuronalen Netzes 2003 Meinolf Höhler 15 Aufbau des neuronalen Netzes •ein NN besteht aus mehreren Schichten (Layer) 1 Inputlayer Hiddenlayer 3 2 4 6 Outputlayer 5 7 2003 Meinolf Höhler Aufbau des neuronalen Netzes •ein NN besteht aus mehreren Schichten (Layer) •eine einfache Tabelle dient zur Speicherung der Verbindungen und Neuronen 1 2 3 4 5 6 7 1 Inputlayer Hiddenlayer Outputlayer 3 2 4 6 5 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 2003 Meinolf Höhler 1 16 Aufbau des neuronalen Netzes •ein NN besteht aus mehreren Schichten (Layer) •eine einfache Tabelle dient zur Speicherung der Verbindungen und Neuronen •wenn in Zelle (x;y) ein Wert steht, besteht eine Verbindung von Neuron x zu y 1 2 3 4 5 6 7 1 Inputlayer Hiddenlayer 3 2 4 6 Outputlayer 5 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2003 Meinolf Höhler Aufbau des neuronalen Netzes •ein NN besteht aus mehreren Schichten (Layer) •eine einfache Tabelle dient zur Speicherung der Verbindungen und Neuronen •wenn in Zelle (x;y) ein Wert steht, besteht eine Verbindung von Neuron x zu y •Inputvektor wird angelegt und Zeilenweise berechnet; Ergebnis ist ein Outputvektor 1 2 3 4 5 6 7 Inputvektor 1 Inputlayer Hiddenlayer Outputlayer 3 2 4 6 5 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 2003 Meinolf Höhler Outputvektor 1 17 Topologien neuronaler Netze Netze ohne Rückkopplung (Feedforwardnetz) Ebenenweise verbundenes Netz 1 3 1 2 3 4 5 6 7 2 4 6 5 7 1 2 3 4 5 6 7 2003 Meinolf Höhler Topologien neuronaler Netze Netze ohne Rückkopplung (Feedforwardnetz) Ebenenweise verbundenes Netz mit Shortcut-connections 1 3 4 6 1 2 3 4 5 6 7 2 5 7 1 2 3 4 5 6 7 2003 Meinolf Höhler 18 Topologien neuronaler Netze Netze mit Rückkopplung (rekurrente Netze) direkte Rückkopplung 1 3 1 2 3 4 5 6 7 2 4 6 5 7 1 2 3 4 5 6 7 2003 Meinolf Höhler Topologien neuronaler Netze Netze mit Rückkopplung (rekurrente Netze) indirekte Rückkopplung 1 3 4 6 1 2 3 4 5 6 7 2 5 7 1 2 3 4 5 6 7 2003 Meinolf Höhler 19 Topologien neuronaler Netze Netze mit Rückkopplung (rekurrente Netze) laterale Rückkopplung 1 3 1 2 3 4 5 6 7 2 4 6 5 7 1 2 3 4 5 6 7 2003 Meinolf Höhler Topologien neuronaler Netze Netze mit Rückkopplung (rekurrente Netze) vollständig verbunden ohne direkte Rückkopplung 1 3 4 6 1 2 3 4 5 6 7 2 5 7 1 2 3 4 5 6 7 2003 Meinolf Höhler 20 Bestandteile neuronaler Netze 1. Zellen i=1....n mit - Aktivierungszustand ai (t ) f (.) Transferfunktion θi Schwellwert oi (t ) Ausgabewert Aktivierungszustand: momentaner Grad der Aktivierung berechnet aus einer Aktivierungsfunktion und dem Schwellenwert Transferfunktion Ausgabewert : Funktion, die aus der Aktivierung den Ausgabewert berechnet : Wert, der über die Kanten an die anderen Neuronen weitergegeben wird Sigmoidfunktion : f ( x) = 1 1 + e−x 2003 Meinolf Höhler Bestandteile neuronaler Netze 1. Zellen i=1....n mit - Aktivierungszustand ai (t ) f (.) Transferfunktion θi Schwellwert oi (t ) Ausgabewert 2. Verbindungsnetzwerk der Zellen mit Gewichten:wij (gerichteter, gewichteter Graph, Gewichtsmatrix W) Verbindungsnetzwerk: Matrix mit den Gewichtswerten der Kanten zwischen den Neuronen 2003 Meinolf Höhler 21 Bestandteile neuronaler Netze 1. Zellen i=1....n mit - Aktivierungszustand ai (t ) f (.) Transferfunktion θi Schwellwert oi (t ) Ausgabewert 2. Verbindungsnetzwerk der Zellen mit Gewichten:wij (gerichteter, gewichteter Graph, Gewichtsmatrix W) 3. Propagierungsfunktion net j (t ) Propagierungsfunktion: ist die Berechnungsvorschrift, wie die Ausgaben der Vorgänger als Eingabe des Neurons verwendet werden 2003 Meinolf Höhler Bestandteile neuronaler Netze 1. Zellen i=1....n mit - Aktivierungszustand ai (t ) f (.) Transferfunktion θi Schwellwert oi (t ) Ausgabewert 2. Verbindungsnetzwerk der Zellen mit Gewichten:wij (gerichteter, gewichteter Graph, Gewichtsmatrix W) 3. Propagierungsfunktion net j (t ) 4. Lernregel: Training der Gewichte (Synapsen)wij Lernregel: Algorithmus, über den das Lernverfahren definiert wird 2003 Meinolf Höhler 22 Prinzipien Künstlicher Neuronaler Netze Drei Elemente: •Zellkörper •Dendrit •Axon Prinzipien Künstlicher Neuronaler Netze Aktivierungszustand Z gibt den Aktivierungsgrad der Zelle an Aktivierungsfunktion fact gibt an, wie sich ein neuer Aktivierungszustand Zneu,j des Neurons j aus der alten Aktivierung Zalt,j und der Netzeingabe netj(t) sowie dem Schwellenwert des Neurons j ergibt. Ausgabefunktion fout bestimmt aus der Aktivierung die Ausgabe des Neurons 23 Prinzipien Künstlicher Neuronaler Netze Faßt man Aktivierungs- und Ausgabefunktion zu einer Transfer-Funktion zusammen, verwendet man häufig die gewichtete Summe: Prinzipien Künstlicher Neuronaler Netze Der Aktivierungszustand Z hängt vom alten Zustand und der Veränderung der Aktivierungsfunktion ab und kann beispielsweise dargestellt werden durch: 24 Prinzipien Künstlicher Neuronaler Netze Auch für künstliche Neuronen gibt es eine Schwellenwertfunktion: Prinzipien Künstlicher Neuronaler Netze Die folgende Abbildung enthält einige gebräuchliche Aktivierungs- bzw. Ausgabefunktionen, wobei die beiden letzteren am häufigsten verwendet werden. 25 Prinzipien Künstlicher Neuronaler Netze Tanh als übliche Sigmoidfunktion Prinzipien Künstlicher Neuronaler Netze Formel 26 Prinzipien Künstlicher Neuronaler Netze Die Neuronen künstlicher neuronaler Netze sind im Vergleich zu ihren natürlichen Vorbildern sehr stark idealisiert. Trotzdem gibt es viele Gemeinsamkeiten: - Die massive Parallelität der Neuronen - Relativ einfache Elemente: Neuronen verarbeiten die Aktivierungen der Vorgängerneuronen und die Stärke der Verbindung zu einer Ausgabe. - Die Neuronen sind durch gewichtete Verbindungen (biologisch: Synapsen) miteinander verbunden. - Die Verbindungsgewichte bei künstlichen Neuronen sind modifizierbar. Das entspricht der Plastizität der Synapsen beim biologischen Vorbild. - Ein Neuron ist mit sehr vielen anderen Neuronen verbunden (hohe Konnektivität). Prinzipien Künstlicher Neuronaler Netze Neuronale Netze lassen sich gemäß der folgenden Topologien klassifizieren: 1. Netze ohne Rückkopplung (feedforwardNetze) 2. Netze mit Rückkopplungen (rekurrente Netze) 27 Prinzipien Künstlicher Neuronaler Netze Prinzipien Künstlicher Neuronaler Netze 28 Prinzipien Künstlicher Neuronaler Netze Ein neuronales Netz "lernt", indem es sich gemäß einer fest vorgegebenen Vorschrift, der Lernregel, selbst modifiziert. Prinzipiell kann der Lernprozeß bestehen aus: oEntwicklung neuer Verbindungen oLöschen existierender Verbindungen oModifikation der Verbindungsstärke (Veränderung der Gewichte) oModifikation des Schwellenwertes oModifikation der Aktivierungs- bzw. Ausgabefunktion oEntwicklung neuer Zellen oLöschen bestehender Zellen Prinzipien Künstlicher Neuronaler Netze 1. Überwachtes Lernen (supervised learning) Beim überwachten Lernen gibt ein externer Lehrer dem Netz zu jeder Eingabe die korrekte Ausgabe oder die Differenz der tatsächlichen zur korrekten Ausgabe an. Anhand dieser Differenz wird dann das Netz über die Lernregel modifiziert. Diese Technik setzt allerdings voraus, dass Trainingsdaten existieren, die aus Paaren von Ein- und Ausgabedaten bestehen. 29 Prinzipien Künstlicher Neuronaler Netze Ein typisches überwachtes Lernverfahren wie z.B. Backpropagation durchläuft für alle Paare von Ein- und Ausgabemustern folgende Schritte: 1. Das Eingabemuster wird dem Netz durch entsprechende Aktivierung der Eingabeneuronen präsentiert. 2. Die angelegte Eingabe läuft vorwärts durch das Netz. Dadurch wird ein Ausgabemuster für die aktuelle Eingabe erzeugt. 3. Tatsächliche und korrekte Ausgabe werden verglichen und die Differenz berechnet. 4. Die Fehler laufen rückwärts von der Ausgabe- zur Eingabeschicht. Dabei werden die Verbindungsgewichte verändert, so daß der Fehler verringert wird. Die Gewichte aller Neuronen werden um die vorher berechneten Werte verändert. Prinzipien Künstlicher Neuronaler Netze Unüberwachtes Lernen (unsupervised learning) Hierbei gibt es überhaupt keinen externen Lehrer, daher heißt dieses Lernparadigma auch self-organized learning. Das Netz versucht ohne Beeinflussung von außen die präsentierten Daten in Ähnlichkeitsklassen aufzuteilen. 30 Grundlagen Neuronale Netze Problem beim GradientenabstiegsverfahrenGradientenabstiegsverfahrenSuche des Minimums Grundlagen Neuronale Netze Lernrate (engl. learning rate): Bestimmt den Verlauf des Gradientenabstiegs. Kleinere Lernrate führt zu kleineren Sprüngen in der Objektfunktion und eventuell auch exakterer Adaption. Größere Lernrate kann den Lernvorgang beschleunigen und Entkommen aus lokalen Minima erleichtern. Eine geeignete Lernrate ist von Fall zu Fall durch Probieren zu ermitteln. 31 Grundlagen Neuronale Netze Objektfunktion während des Lernens (links: große Lernrate, rechts: kleine Lernrate) Grundlagen Neuronale Netze Klassifikation Neuronaler Netze Binäre Eingangssignale Überwachtes Lernen Hopfield Netz Hamming Netz Unüberwachtes Lernen Grossberg Netz Kontinuierliche Eingangssignale Überwachtes Lernen Perceptron Multilayer Perceptron Unüberwachtes Lernen Kohonen Netz Quelle: MIT GmbH, Aachen 32 Grundlagen Neuronale Netze VorVor- und Nachteile der Netzwerktypen Netzwerktyp Multilayer Perceptron Kohonen Netzwerk Beschreibung Nachteile Anwendungen Der Aufbau des MLPs gleicht dem ~ flexibel Aufbau des zuvor gezeigten, neuronalen ~ geringe Komplexität Netzes. Es ist strikt linear aufgebaut. Die Eingangsfunktion ist die Summe der gewichteten Eingangswerte. Die Aktivierungsfunktion ist entweder eine lineare, eine Sigmoid- oder eine TangensHyperbolicus-Funktion. Vorteile ~ Netzgröße (Anzahl der Gewichte) muß genau an das Problem angepaßt werden. ~ Überwachung des Lernvorgangs notwendig z.B. Zeitreihenprognosen n-Dimensionales Netz, bei dem die Neuronenposition durch Ihre Merkmalsausprägung beschrieben wird ~ schlecht geeignet für Merkmale ohne def. Abstand z.B. Telefonnr. ~ Abhängigkeit von der Präsentationsreihenfolge z.B. Einteilung in Klasse ~ kaum Expertenwissen erforderlich ~ unüberwachtes Lernen ~ findet unbekannte Strukturen Grundlagen Neuronale Netze VorVor- und Nachteile der Netzwerktypen Netzwerktyp Beschreibung Fuzzy Kohonen Netzwerk n-Dimensionales Netz, bei dem die Neuronenposition durch Ihre Merkmalsausprägung beschrieben wird. Zusätzlich wird beim Lernalgorithmus FuzzyClustering eingesetzt, um die Nachteile des reinen Kohonennetzes auszugleichen. Vorteile Nachteile Anwendungen ~ kaum Expertenwissen erforderlich ~ unüberwachtes Lernen ~ findet unbekannte Strukturen ~ konvergiert schneller als reines Kohonen ~ unabhängig von Präsentationsreihenfolge d. Trainingssätze ~ schlecht geeignet für Merkmale ohne def. Abstand z.B. Telefonnr. z.B. Einteilung in beliebig geformte Klassen im Merkmalsraum 33 Grundlagen Neuronale Netze Lernverfahren Beschreibung Einsatzgebiet Überwachter Lernalgorythmus; heuristisches Verfahren, Multilayer Perceptron und bei dem die Gewichte solange verändert werden, bis das Varianten Quick Propagation Ergebnis mit der Vorgabe weitesgehenst übereinstimmt; vorwärtsgerichtet Überwachter Lernalgorythmus; ausgehend von der Multilayer Perceptron und Abweichung des IST- vom SOLL-Wertes, werden die Varianten Gewichte von der Ausgabeschicht zur Eingabeschicht, also in umgekehrter Richtung, justiert. Dabei fließt der Fehler (SOLL-IST-Abweichung) mit in das neue Gewicht Back Propagation mit ein. Der Weg, auf dem die größten Gewichtsänderungen während des Trainingssatzes stattgefunden haben, ist der Weg, der am stärksten von der Korrektur betroffen ist; rückwärtsgerichtet Grundlagen Neuronale Netze Lernverfahren Kohonen "Winner Take All" Simuliertes Ausglühen Beschreibung Einsatzgebiet Die Neuronen werden im n-dimensionalen Raum in Kohonen Netz und in Abhängigkeit von ihren Merkmalsausprägungen modifizierter Form im plaziert. Auch der Eingangsvektor wird in diesem Fuzzy-Kohonen-Netz Raum plaziert. Das Neuron, welches dem Eingangsvektor am räumlich am nächsten kommt wird verändert. Und zwar wird der Eingangsvektor vom Vektor, der die Position des Neurons im Raum angab, abgezogen. Unüberwachtes Lernverfahren Minimierung der Energiefunktion im Netz. Hierbei wird versucht den SOLL-Wert so nahe, wie möglich zu kommen. Die Vergrößung des Fehlers wird als Energiezunahme (pot. Energie) interpretiert. Durch stochastische Methoden wird versucht den SOLLWert zu erreichen und gleichzeitig die Gesamtenergie des Netzes zu minimieren. 34 Schlussbemerkung – "You work is to discover your world and then with all your heart give yourself to it." - BUDDHA - – "The purpose of computing is insight, insight, not numbers." numbers." - Richard Hamming - – "The history of technology shows us that we overestimate what a technology can do for us in a few years and underestimate what it can do in a decade or two." two." Fiegenbaum, Fiegenbaum, MCCorduck, MCCorduck, Nii - – "Chance favors the prepared mind." - Louis Pasteur - 35