Neuronale Netze: Definitionen, Geschichte und Lernverfahren
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 13,73 KB
Definition eines Neurons
Ein Neuron ist die elementare Verarbeitungseinheit eines neuronalen Netzes. Es erzeugt eine Ausgabe als Ergebnis der gewichteten Summe seiner Eingänge, auf die mindestens eine Aktivierungsfunktion angewendet wird. Dies ist ein einfaches Gerät:
- Speicher: Nur seine Gewichte (Pesos).
- Geringe Rechenleistung: Gewichtete Summe und Ausgabefunktion.
Wie ein Neuron Informationen verarbeitet
Gewichtete Summe
Das Neuron integriert alle seine Eingänge, um seine Verbindung ohne Zufluss zu berechnen. Dies wird ausgedrückt als die Summe der Produkte jedes einzelnen Eintrags multipliziert mit der Stärke (Gewichtung) dieser Eingabe.
Aktivierungsfunktion
Eine Funktion, die auf das Ergebnis der gewichteten Summe angewendet wird, um die Aktivierung (Ausgabe) des Neurons zu bestimmen. Gängige Funktionen sind die Treppenfunktion, die Signumfunktion, die Sigmoidfunktion und der hyperbolische Tangens.
Geschichte der RRNN (Rekurrente Neuronale Netze)
Frühe Arbeiten: 1950er Jahre
- 1940er Jahre: McCulloch & Pitts: Definition des Lernens ist formalisiert.
- Hebb: Hebbsche Lernregel für synaptisches Lernen.
Anfänge: 1960er Jahre
- Rosenblatt: Zweischichtiges Perzeptron (Modellierung der Netzhaut).
- McCulloch-Neuron und Hebbsches Lernen.
- Es wurde festgestellt, dass es sich nur für linear separierbare Probleme eignet.
- Minsky und Papert: Perzeptron-Konvergenzsatz: Wenn die Trainingsmuster linear trennbar sind, konvergiert das Lernen in einer endlichen Anzahl von Schritten. Wenn die Trainingsmuster nicht linear separierbar sind, kann ein Perzeptron nicht lernen.
- Paralyse der Forschung an RRNN.
Übergang: 1970er Jahre
- Von der Malsburg: Konzept des wettbewerbsorientierten Lernens, auf dem Kohonen später aufbaute.
- Hopfield: Ende der „Dunklen Zeiten“. Hopfield-Netz: Assoziatives, symmetrisches Redundanzgedächtnis.
Wiederaufleben: 1980er Jahre
- Kohonen entwickelte sein Modell der Self-Organizing Map (SOM), basierend auf der Arbeit von Von der Malsburg.
- Rumelhart, Hinton und Williams veröffentlichten die generalisierte Delta-Regel und wandten sie auf ein verbessertes Perzeptron an: das Multilayer Perceptron (MLP).
Konzepte zur Klassifizierung und Definition von Clustering
Clustering-Methode
Teilung des n-dimensionalen Raumes, zu dem die Bevölkerung gehört, durch Vektoren, die N Merkmale jedes einzelnen Elements definieren, in K exklusive Regionen entsprechend den K möglichen Gruppen.
Clustering
Das Finden von Klassen, wenn die Klassen unbekannt sind.
Sortierung (Klassifizierung)
Katalogisierung eines Elements innerhalb der bestehenden Klassen.
Definition der SOM (Self-Organizing Map)
Ein Feedforward Neural Network. Nichtlinear und unüberwacht trainiert. Eine Matrix von Neuronen, die Eingaben aus einer Population von Elementen erhält und eine einfache Diskriminanzfunktion für diese auswertet. Ein Mechanismus vergleicht die Diskriminanzfunktionen und wählt das Element mit dem größten Wert der Funktion. Eine gewisse Interaktion auf lokaler Ebene aktiviert gleichzeitig ausgewählte Nachbarn. Ein adaptiver Prozess, bei dem die Parameter der aktiven Einheiten angepasst werden, um ihre Diskriminanzfunktionen in Bezug auf den aktuellen Eintrag zu erhöhen.
Merkmale eines Kohonen-Netzes
- Nicht vollständig hierarchisch, verbunden in 2 Schichten: Eingabevektor und Ausgabe- oder Kohonenvektor, wobei jeder mit allen Eingängen verbunden ist.
- Sie funktionieren durch Wettbewerb: Ein Mechanismus, bei dem nur ein Neuron zu einer Zeit aktiviert wird. Die Neuronen konkurrieren darum, welches Muster das Neuron am besten erkennt.
- Die Ordnung n-dimensionaler Muster von Neuronen, die erkannt werden, scheint in zwei Dimensionen (der Karte) nah beieinander zu liegen.
Verarbeitung eines Kohonen-Netzwerks (Feedforward-Strategie)
Dies ist ein Prozess (Feedforward), der in drei Stufen durch Wettbewerb erfolgt:
- Ausbreitung des Eintrags: In der Eingabeschicht wird jedem Neuron der Wert jeder einzelnen Komponente des Eingabevektors zugeordnet.
- Berechnung der Euklidischen Distanz: Der Eingabewert der Neuronen in der Eingabeschicht wird mit den Gewichten multipliziert, die jedes Neuron in der Kohonen-Schicht verbinden, und summiert. Alternativ wird die Euklidische Distanz berechnet.
- Wettbewerb (laterale Hemmung oder Inhibition): Nur das Neuron mit dem höchsten Wert (dem Vektor, der dem Eingabevektor am nächsten liegt) wird aktiviert; die anderen werden stabilisiert.
Lernprozess des Kohonen-Netzes
Zunächst werden die Werte der Gewichtsmatrix zufällig initialisiert. Während des Trainings passen sich die Gewichtsvektoren der Neuronen in der Kohonen-Schicht an die Eingangsmuster an. Der Gewichtsvektor des Neurons, das dem Eingangsmuster am nächsten liegt, nähert sich diesem gemäß einer Lernfunktion an.
Lernregel der Kohonen-Karte: Anpassung der Gewichtsmatrix
Mathematisch gesehen neigen die Dichtefunktionen der Gewichtsvektoren dazu, die probabilistische Dichtefunktion der Eingabe anzunähern.
Bewahrung der räumlichen Ordnung in Autoassoziativen Karten
Mit dem Begriff der Nachbarschaft. Das Lernen erstreckt sich auch auf benachbarte Neuronen durch einen Nachbarschaftswert, der sich im Laufe der Zeit ändert. Dieses Netzwerk ordnet spezialisierte Neuronen in topologischen Karten zur Erkennung einer Art von Muster an.
Zeitabhängige Parameter in der SOM
Lernkoeffizient und Nachbarschaft.
Warum besteht bei einem Kohonen-Netz keine Gefahr des Übertrainings?
Das Kohonen-Netz nähert sich einem stabilen Endzustand durch einen topologischen Mechanismus, bei dem die Koeffizienten einen Mittelpunkt oder Kompromisspunkt zwischen dem Erkennen von Mustern durch Reduzierung finden.
Aufbau eines unüberwachten Klassifikators basierend auf einer Kohonen-Karte
In drei Schritten:
- Experimentelle Bedingungen: Präsentation von Stichproben, zufällige ursprüngliche Gewichtsmatrix, normalisierte Gewichte und Muster auf euklidischer Basis und eine ausreichende Datenmenge.
- Auswahl der Größenparameter: Größe der Kohonen-Schicht, Anzahl der Präsentationen, Boost, Form der abnehmenden Abhängigkeit von n, ursprüngliche Nachbarschaft usw.
- Analyse: Dynamik des Lernprozesses. Klassifizierungsgenauigkeit.
Definition des Hopfield-Netzwerks (Assoziatives Gedächtnis)
Ein rekurrierendes, nichtlineares, aufgebautes, unüberwachtes neuronales Netz. Es besteht aus N Neuronen, die miteinander verbunden sind und sowohl Eingabe als auch Ausgabe sind. Bipolare Neuronen mit McCulloch-und-Pitts-Signum-Aktivierungsfunktion. Bidirektionale Verbindungen mit einer symmetrischen Gewichtsmatrix mit Diagonale Null.
Merkmale eines Hopfield-Netzwerks
- Das Netzwerk speichert eine Reihe von Eingabevektoren durch Lernen und kann einen dieser Vektoren aus einem partiellen oder verzerrten Zustand wiederherstellen (assoziativer Speicherzugriff).
- Jedes Muster wird durch ein lokales Minimum der Energiefunktion des Netzes erzeugt, zu dem die Funktion konvergiert.
- Es existiert eine maximale Speicherkapazität.
Verarbeitung in einem Hopfield-Netz
Iteration der Ausgaben, wobei die Ausgabe einer Zelle als Eingabe für die nächste Runde dient. Der Zustand hängt von den vorherigen Werten ab. Hopfield zeigte, dass, wenn die Gewichtsmatrix symmetrisch ist, sich das Netzwerk im Laufe der Zeit zu einem stabilen Zustand entwickelt, in dem sich die Zustände der Neuronen nicht mehr ändern. Die Konvergenz erfolgt zum gespeicherten Vektor, der dem ursprünglichen Zustand am nächsten liegt.
Training des Hopfield-Netzwerks
Das Training besteht darin, die Gewichtsmatrix so aufzubauen, dass einige Zustände des Netzes stabil sind.
Geschichte des MLP (Multilayer Perceptron)
- Erstes lineares Modell, vorgeschlagen von Rosenblatt. 2-Schichten-, binäre Neuronen mit einer linearen Aktivierungsfunktion und einer Delta-Lernregel.
- Erklärung des Perzeptron-Konvergenzsatzes.
- Rumelhart, Hinton und Williams veröffentlichten den Backpropagation-Lernalgorithmus (Generalisierte Delta-Regel) und wandten ihn auf eine Verbesserung des Rosenblatt-Perzeptrons an: das Multilayer Perceptron.
Definition des Multilayer Perceptron (MLP)
Ein Feedforward Neural Network. Nichtlinear und überwacht trainiert. Entsteht als Verbesserung des Rosenblatt-Perzeptrons. Es besteht aus mindestens drei Schichten (Eingabe, Ausgabe und einer oder mehreren versteckten Zwischenschichten). Jede Schicht ist vollständig mit der nächsten durch eine Gewichtsmatrix verbunden. Die Gewichte werden während des Trainings angepasst.
Definition des überwachten Lernens
Der Trainingsprozess, bei dem die Gewichtsmatrizen nach einem Lerngesetz geändert werden, sodass die tatsächlich erzielte Leistung der erwarteten entspricht.
- Training: Ein iterativer Prozess, der eine Reihe von Trainingsdurchläufen erfordert, bei denen die erwartete Ausgabe bekannt ist und den Probenraum ausreichend abdeckt.
- Lernregel: Mathematische Formulierung der Anpassung der Gewichtsmatrix basierend auf dem bekannten Eingangs-/Ausgangspaar, mit dem das Netz trainiert wird. Ziel: Minimierung des Fehlers im Trainingssatz.
Wie lerne ich ein MLP?
Das Lernen besteht darin, die Gewichtsmatrix des Netzwerks so anzupassen, dass es die gewünschte Ausgabe für eine gegebene Eingabe liefert. Die Anpassung der Gewichtsmatrix erfolgt durch Rückpropagieren des Fehlers, der bei jedem Trainingsdurchlauf erzielt wird, und Verwendung der generalisierten Delta-Regel zur Anpassung jeder Gewichtsmatrix. Zuerst werden die Gewichtsmatrizen aktualisiert, die die Ausgabeschicht mit der versteckten Schicht verbinden, und dann die Gewichtsmatrix, die die versteckte Schicht mit der Eingangsschicht verbindet. Das gesamte Netz lernt als ein globales Lernen.
Lernprozess des MLP
Der Lernprozess des Multilayer-Perzeptrons besteht aus drei Phasen:
- Ausbreitung der Eingänge bis zu den Ausgängen:
- Der p-te Eingangsvektor $x_p$ wird der Eingabeschicht zugeführt.
- Der Eingabevektor wird zur mittleren Schicht propagiert.
- Die Ausgaben der Neuronen der mittleren Schicht unter Verwendung der Sigmoidfunktion werden berechnet.
- Wiederholung mit der Ausgabeschicht, um die Eingabe $I_k$ und die Ausgabe $O_k$ (Ausgabe des Netzes) zu berechnen.
- Berechnung des Fehlers (Error): Der tatsächliche Output $O_k$ im Vergleich zum erwarteten Output für den Eingabevektor $x_p$ wird durch Berechnung des quadratischen Minimalfehlers für alle Neuronen in der Ausgabeschicht ermittelt.
- Korrektur der Gewichtsmatrix: Die Fehlerfortpflanzung erfolgt von der Ausgabeschicht zurück:
- Aktualisierung der Gewichtsmatrix, die die Ausgabeschicht mit der versteckten Schicht verbindet.
- Vorgehen wie im vorherigen Schritt, außer dass in diesem Fall, da die Ausgabe der versteckten Schicht nicht im Voraus bekannt ist, der durch die Ausgabeschicht erzeugte Fehler mithilfe einer mathematischen Transformation zurückpropagiert wird, um die versteckte Schicht zu korrigieren.
Lernakt: Generalisierte Delta-Regel
Die Generalisierte Delta-Regel ist der iterative Algorithmus, mit dem das Netz die Gewichte anpasst, um den mittleren quadratischen Fehler zwischen den erwarteten und den produzierten Ergebnissen zu minimieren. Die Gewichtsmatrix wird durch eine Variation der Matrix aktualisiert. Diese Matrixvariation setzt sich zusammen aus:
- Korrektur des Fehlers.
- Trägheitsterm der Bewegung.
Speicher / Generalisierung / Übertraining
Ein unzureichendes oder übermäßiges Training des Netzes verhindert dessen Generalisierung. Übertraining ist der Verlust der Fähigkeit eines Netzes zur Generalisierung zugunsten der Speicherung des Testsatzes.
Kreuzvalidierungsmethode (Cross-Validation)
Jack-Knife-Methode. Es wird ein separater Datensatz für das Training und ein Validierungsdatensatz verwendet, um den Fehler zu erkennen.
Wann stoppt man den Lernprozess?
Um Übertraining zu vermeiden, muss der Lernprozess gestoppt werden, bevor das Netz beginnt, sich zu merken und nicht mehr zu generalisieren. Das Training wird gestoppt, wenn der Fehler auf dem Validierungssatz beginnt, wieder anzusteigen.
Merkmale des Trainingssatzes
Der Trainingssatz bestimmt, was das Netz lernt:
- Sollte 2- oder 3-mal so viele Stichproben wie Gewichte haben.
- Muss den gesamten Antwortraum abdecken.
- Sollte bequem ausgewählt sein.