04 Neuronale Netze Flashcards
Typische Einsatzfelder künstlicher Neuronaler Netze
Klassifikation und Mustererkennung
- Diagnose, Spracherkennung, Schrifterkennung
- Bilderkennung
Funktionsapproximierung / Regression
- Kontinuierliche Abbildung
- Steuerung
- Vorhersage
Mustervervollständigung
- Bilderzeugung, generative Modelle
- Kodierung, Komprimierung
Geometrische Interpretations des Perzeptrons
Ein Perzeptron eralisiert eine Trennhyperebene (in R^2)
Die Gewichte definieren diese Trennhyperebene (sie stellen Nromale dar)
Gegebene Positive und Negative Daten (P,N) erfolgt eine Entscheidung durch gewichtete Summe => Skalarprodukt mit dem Normalenvektor
Erweiterung der Dimension durch x0 (bias)
Lernen = Anpassen der Gewichte
=> Gesucht wird die beste Trennhyperebene
Grenzen des Perzeptron Lernalgorithmus
|w|»_space; |x|
=> sehr langsame Anpassung
Worst case: fast antiparallele Vektoren
Lösung: Gradientenabstieg
Multi Layer Neural Network
Netzaufbau: mehrere versteckte (innere) Schichten (hidden layers)
Lernverfahren:
Backpropagation - Algorithmus (allgemeine Delta-Regel)
Neuronenaufbau:
nichtlineare Aktivierungsfunktion
pattern / mini-batch / epoch learning
Pattern Learning:
- lernen auf Einzeldaten
- Anpassung nach jedem Lernbeispiel
- schnelles Lernen
Mini Batch Learning:
- Lernen auf Teilmengen
- Auswahl verhältnismäßig kleiner Lernmengen mit zurücklegen
- Gutes Lernen (aktuell SdT)
Epoch Learning:
- Mittelung der Gewichtsänderung über alle Beispiele
- Anpassung nachdem alle Beispiele propagiert wurden
- “echter” Gradientenabstieg
- nicht anfällig für Ausreißer / falsche Lerndaten
Stochastischer Gradientenabstiegt:
- pattern learning oder mini batch learning
- kein “echter” gradient decent
- stochastische Auswahl –> gute Approximation des echte gradient decent
Optimierung des Gradientenabstiegs
Momentum Term alpha
Normierung der Schrittweite (Manhatten-Training)
Lernratenanpassung:
Modifikation der Lernrate mittels Gradientenvergleich
RPROP (Resilient Propagation
Implementiert normierte Schrittweite und Lernratenanpassung
=> Beschhleunigung auf flachem Plateu
=> Langsam Anpassen im Minimum
=> Schnelle Konvergenz
Adam Optimizer
Adaptive Moment Estimation
Angepasste Lernraten für jeden Parameter
- für jeden Parameter werden gleitende Schätzer für Mittelwert und Varianz mitgeführt
*da Mittelwert und Varianz mit 0 initialisiert werden, müssen diese jeweils korrigiert werden
m = m/(1-ß1) v=v/(1-ß2)
- Update der Parameter über
wt = w(t-1) - lernrate * (m/(√v + epsylon) - Zusätzliche Hyperparameter ß1, ß2 und epsylon mit Default-Werten
- Implizites Momentum und Anpassung an die Varianz der Gradienten
Initialisierung der Gewichte
unterschiedliche Gewichte, da sonst funktionsgeliche Neuronen
zufällig, normal- oder gleichverteilt um 0, klein
* keine anfängliche Ausrichtung
Xavier- Initialisierung:
*optimierte Initialisierung, so dass Vanishing- und Exploding-Gradients verringert werden
* Initialisierung normal- oder gleichverteilt mit:
Var(wij) = 2 / (n_in + n_out)
n_in: Anzahl der Neuronen vor j
n_out: Anzahl der Neuronen nach j
Konstruktives Lernverfahren für MLNN : Cascade-correlation
Initialisierung als 2- schichtiges Netz,
Festlegen der Abbruchkriterien: Fehlerschranke, Anzahl der Neuronen ….
Trainieren – Anpassen aller Gewichte
Solange E(w) > Fehlerschranke und nicht weiteres Abbruchkriterium:
- Füge Neuron ein: (s.g. Kandidat-Neuron)
- hidden, d.h. vor die Ausgabeschicht,
- vollständig verbunden, mit Eingabeschicht, mit Ausgabeschicht, z.B. Gewicht -1 zu vorher eingefügten Neuronen
- Trainiere neues Neuron (einmalig)
- Trainiere Netz
Vereinfachte Version:
- Anpassung der neuen Neuronen
- Kandidat-Neuronen wird mit -1 zu den anderen Neuronen der Zwischenschicht verbunden (maximal unterschiedliche Ausprägung)
Cascade Correlation - Bewertung
Pro:
+ zu jedem Zeitpunkt wird “nur eine Ebene” von Verbindungen trainiert
+ lernt sehr schnell
+ inkrementelles Training, dh.h. in der Lage bei neuen Daten vom letzten Stand aus weiter zu Lernen
+ Iterative Anpassung der Kapazität des Netzes
Con:
- spezielle Architektur => Güte nicht allgemein bestimmbar
- Ansatz nicht anwendbar für komplexe Architekturen
Dropout
Maskierung (Inaktivierung) von Neuronen beim Lernen
- -> auf allen möglichen Subnetzen gleichzeitig lernen
- mit jedem Lernbeispiel wird eine Maskierung der Neuronen festgelegt
- lernen mit den jeweils aktiven Neuronen (pro Beispiel)
- Realisiert dann bagging mit Parameter-sharing, d.h. Modelle sind nicht unabhängig
- Implizite Aggregation über die Modelle
Vanishing-Gradient Problem
Je weiter die Schicht von der Ausgabeschicht entfernt liegt, desto kleiner werden die Gradienten
Exploding-Gradient Problem
Falls die Gewichtsmatritzen groß sind:
- ergeben sich viele große Werte, die miteinander multipliziert werden
- explodierende Gradienten können das Lernen instabil machen (zB durch größere Änderungen im Fehler
- Das NN kann nicht aus den Trainingsdaten lernen
Gradient Clipping
Optimierung: Die Gradienten während des Backpropagation so einschränken, dass sie einen bestimmten Schwellwert nie überschreiten.