Neuronale Netze John July 20, 2016 1 Intro • Verarbeitungsgeschwindigkeit: Computer überlegen • Neuronale Updates pro Sekunde: Gehirn überlegen • Zwei Punktmengen in einem n-dimensionalen Raum heißen linear separabel, wenn sie durch eine (n-1)-dimensionale Hyperebene getrennt werden können. • Einzelne Schwellenwertelemente können nur linear separable Funktionen berechnen. • Lösung nicht linear separabler Probleme durch Netzwerk • Netzwerke aus Schwellenwertelementen können beliebige Boolesche Funktionen berechnen. • Delta-Regel • Online-Training/Batch-Training • Falls Trainingsmuster linear separabel → Online- und Batchtraining terminieren • Das Trainieren einzelner Schwellenwertelemente mit der Delta-Regel ist schnell und findet garantiert eine Lösung, falls eine existiert. • Netzwerke aus Schwellenwertelementen können nicht mit der Delta-Regel trainiert werden. 2 Allgemeine Neuronale Nezte • U = Uin ∪ Uout ∪ Uhidden • Falls der Graph eines neuronalen Netzes azyklisch ist, wird das Netz Feed-Forward-Netzwerk genannt. • Falls der Graph eines neuronalen Netzes Zyklen enthält, (rückwärtige Verbin- dungen), wird es rekurrentes Netzwerk genannt. 1 3 Multilayer Perceptrons • Vorwärtsgerichtetes Netz mit streng geschichteter Struktur. • Die Netzwerkeingabe jedes versteckten Neurons und jedes Ausgabeneurons ist die gewichtete Summe seiner Eingaben • unipolar heißt, die Funktion reicht von 0 bis 1 • Mit linearen Aktivierungs- und Ausgabefunktionen können beliebige mehrschichtige Perzeptren auf zweischichtige Perzeptren reduziert werden. • Das Trainieren von NN ist stark verwandt mit Regression (Minimierung der Summe der quadrierten Fehler) • Lineare Regression • Fehlerrückpropagation 2 4 Radiale-Basisfunktionen-Netze • RBF-Netze sind streng geschichtete, vorwärtsbetriebene neuronale Netze mit ge- nau einer versteckten Schicht. • Als Netzeingabe- und Aktivierungsfunktion werden radiale Basisfunktionen ver- wendet. • Abstandsfunktionen • Bestimmung passender Zentren für die RBFs durch k-means-Clustering oder lernende Vektorquantisierung • Vorteile: – einfache Feedforward-Architektur – leichte Anpassbarkeit – daher schnelle Optimierung und Berechnung 5 Lernende Vekotorquanitisierung • Finden von Clustern in einer gegebenen Menge von Punkten • Die Netzeingabefunktion jedes Ausgabeneurons ist eine Abstandsfunktion zwischen Eingabe- und Gewichtsvektor • Anpassung der Referenzvektoren: Bestimme zu jedem Trainingsbeispiel den nächsten Referenzvektor → anpassen • Anziehungsregel (Datenpunkt und Referenzvektor haben dieselbe Klasse) • Abstoßungsregel (Datenpunkt und Referenzvektor haben verschiedene Klassen) • Problem: feste Lernrate kann zu Oszillationen führen, Lösung: zeitabhängige Lernrate − • window rule: passe nur dann an, wenn der Datenpunkt → x in der Nähe der Klassifikationsgrenze liegt 5.1 Self-Organizing Maps • Auf den Ausgabeneuronen ist eine Nachbarschaftsbeziehung definiert • eine SOM realisiert eine topologieerhaltende Abbildung • Selbstorganisierende Karten können zur Dimensionsreduktion genutzt werden 6 Hopfield-Netze • In einem Hopfield-Netz sind alle Neuronen sowohl Eingabe- als auch Ausgabeneu- ronen. • Es gibt keine versteckten Neuronen. • Jedes Neuron erhält seine Eingaben von allen anderen Neuronen. 3 • Ein Neuron ist nicht mit sich selbst verbunden. • Die Verbindungsgewichte sind symmetrisch • Das Verhalten eines Hopfield-Netzes kann von der Update-Reihenfolge abhängen • Die Berechnungen können oszillieren, wenn Neuronen synchron aktualisiert wer- den. • Die Berechnung konvergiert immer, wenn die Neuronen asynchron in fester Rei- henfolge aktualisiert werden. • Wenn die Neuronen zyklisch in einer beliebigen, aber festen Reihenfolge durchlaufen werden, sind höchstens n · 2n Schritte (Aktualisierungen einzelner Neuronen) notwendig, wobei n die Anzahl der Neuronen im Netz ist. • kann zur Speicherung von Mustern genutzt werden (stabile Zustände) • Grund für die Schwierigkeiten von Hopfield-Netzen zur Lösung von Optimierungspro- blemen: Verfahren kann in einem lokalen Minimum der Energiefunktion hängenbleiben ,→ Lösung: Simuliertes Ausglühen - Aktivierungsänderung, die die Energie vermindert, wird immer ausgeführt. Eine die Energie erhöhende Änderung wird nur mit einer Wahrscheinlichkeit ausgeführt. 7 Rekurrente Neuronale Netze • Im Prinzip werden rückgekoppelte neuronale Netze genauso trainiert wie mehrschichtige Perzeptren. Einer direkten Anwendung des Fehler-Rückpropagationsverfahrens stehen jedoch die Rückkopplungen entgegen. • Lösung: Die Rückkopplungen werden durch eine Ausfaltung des Netzes in der Zeit zwischen zwei Trainingsmustern eliminiert (Fehler-Rückpropagation in der Zeit) 8 Support Vector Machines • Leite aus den Trainingsdaten eine Entscheidungsregel ab, die die beiden Klassen voneinander trennt. • Wir fangen mit linearer Trennung an und vergrößern die Komplexität in einem zweiten Schritt durch Kernel-Funktionen. • Trenne die Trainingsdaten mit maximaler Trennspanne • Bei SVM wird eine trennende Hyperebene mit maximalem Rand gesucht. • bei nicht linear separierbare Klassen → Bestrafen von Randverletzungen via “slack”-Variable • Kernel-Trick: bei <n → <m in <n nur Skalarprodukte erforderlich in <m auch Ψ(xi ), Ψ(xj ) erforderlich Lösung: Ψ(xi ), Ψ(xj ) müssen nicht explizit ausgerechnet werden, sondern können mit reduzierter Komplexität mit Kernelfunktionen ausgedrückt werden: K(xi , xj ) = Ψ(xi ), Ψ(xj ) 9 Neuro-Fuzzy-Systeme • hybrides System, bei dem NN mit einem regelbasierten System gekoppelt sind • Fuzzy-Theorie: mathematische Modellierung der Penumbra • Kooperative Modelle: Neuronales Netz und Fuzzy-Regler operieren getrennt voneinander Hybride Modelle: Vereinigen die Strukturen eines neuronalen Netzes und eines Fuzzy-Reglers • NFS nutzen Toleranzen aus, um zu beinahe optimalen Lösungen zu kommen 4 10 Spiking Neural Networks • berücksichtigen neben neuronalem und synaptischem Zustand auch Zeit • Kette von Aktionspotentialen eines einzelnen Neurons heißt Spike Train • SRM0 (Spike Response Model) • Frequence Coding - Neuronen generieren Spikes mit unterschiedlicher Frequenz als Reaktion auf unterschiedliche Stimuli; je stärker der Stimulus, desto höher die Frequenz. • Temporal Coincidence Coding - Je enger Koinzidenzen beieinander liegen, desto höher ist die Stimulusintensität. Neuronen sind in Ensembles organisiert, die koinzident feuern. • Delay Coding - Der Eingabestimulus wird in ein Verzögerungssignal umgewandelt. Ein stärker stimuliertes Neuron erreicht den Depolarisierungsschwellwert eher und emitiert einen Spike früher. • Spatio-Temporal Coding - Neuronen emittieren Spikes in einer bestimmten Reihenfolge als Antwort auf einen Stimulus. Die Sequenz wird sowohl durch temporale als auch lokale Eigenschaften des Stimulus sowie die Struktur der Netzwerkes bestimmt. • Einfachstes Modell: Poisson-Prozess 11 Deep Learning • Gewichtsänderung nimmt in vorderen Schichten exponentiell ab • Rectified Linear Unit, ReLU: f (x) = max(0, x) • Dropout – Gewünschte Eigenschaft: Robustheit bei Ausfall von Neuronen – Ansatz beim Lernen: Nutze nur 50% der Neuronen, wähle diese zufällig – Ansatz beim Anwenden: Nutze 100% der Neuronen, Halbiere alle Gewichte – Ergebnis: Robustere Repräsentation, Verbesserte Generalisierung • Autoencoder - Erstellt eine Kodierung der Daten, lernt Gewichte mit Rückpropagation • Convolution - Filter / Kernel werden auf jedem Teil des Bildes angewandt und teilen sich die Gewichte • Pooling - Schiebe einen Filter über die Features und betrachte die gefilterten Features → Featureraum wird kleiner 5