Maschinelles Lernen/Hebbsche Lernregel
Einleitung
BearbeitenDiese Seite zum Thema Maschinelles Lernen/Hebbsche Lernregel kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus. Dabei werden die folgenden Teilaspekte im Detail behandelt:
- (1) Ursprung der Lernregel,
- (2) Mathematische Modellbildung der Lernregel,
- (3) Matrizen zur Darstellung von simultan aktiven Neuronen.
Zielsetzung
BearbeitenDiese Lernressource zu Thema Maschinelles Lernen/Hebbsche Lernregel hat das Ziel, eine elementare biologisch motivierte Lernregel zu behandeln, mit der man z.B. elementare assoziative Netze trainieren kann.
Biologisches Vorbild für die Lernregel
BearbeitenDie hebbsche Lernregel ist eine vom Psychologen Donald Olding Hebb aufgestellte Regel für die Veränderung der Signalübertragung zwischen Nervenzellen in einem biologischen neuronalen Netzwerken und der simultanen Aktivität von einzelnen über Synapsen verbundenen Neuronen.
Geschichte
BearbeitenHebb formulierte 1949 in seinem Buch The Organization of Behavior: „Wenn ein Axon der Zelle A […] Zelle B erregt und wiederholt und dauerhaft zur Erzeugung von Aktionspotentialen in Zelle B beiträgt, so resultiert dies in Wachstumsprozessen oder metabolischen Veränderungen in einer oder in beiden Zellen, die bewirken, dass die Effizienz von Zelle A in Bezug auf die Erzeugung Aktionspotentials in B größer wird.“
Lernen als Veränderungen an Synapsen
BearbeitenDas bedeutet: Je häufiger ein Neuron A gleichzeitig mit Neuron B aktiv ist, umso bevorzugter werden die beiden Neuronen aufeinander reagieren („what fires together, wires together“). Dies hat Hebb anhand von Veränderungen der synaptischen Übertragung zwischen Neuronen nachgewiesen.
Wissenschaftliche Bestätigung von Hebbs Lernregel
BearbeitenAls endgültige Bestätigung von Hebbs Thesen gelten die Experimente von Terje Lømo und anderen in den 1960er und 1970er Jahren[1] und der direkte Nachweis der Veränderung von Signalübertragung als Teil des Mechanismus für Lernprozesse und Gedächtnis im Jahr 2014.[2]
Synaptische Plastizität
BearbeitenHebb gilt damit als der Entdecker des Modells der synaptischen Plastizität, welche die neurophysiologische Grundlage von Lernen und Gedächtnis darstellt.[3]. Die hebbsche Lernregel ist die älteste und einfachste neuronale Lernregel, die biologisch beobachtbare Phänomene auf eine algorithmische Lernregel überträgt.
Mathematische Modellbildung
BearbeitenIn künstlichen neuronalen Netzen wird diese Veränderung der synaptischen Übertragung als Gewichtsänderung des neuronalen Graphen abgebildet.
Variablenbezeichnung
Bearbeiten- : Veränderung des Gewichtes von Neuron i zu Neuron j (also die Änderung der Verbindungsstärke dieser beiden Neuronen)
- : Lernrate (ein geeignet zu wählender konstanter Faktor)
- : Aktivierung von Neuron i
- : Aktivierung von Neuron j, das mit Neuron i verbunden ist.
Beispiel - Assoziator
BearbeitenAls Beispiel soll nur ein Assoziator als Matrix mit der Hebbschen Lernregel trainiert werden. Gegeben ist eine Matrix . In diesem Beispiel sei und . Die Matrix stellt als Funktion eine Abbildung vom in den dar.
Matrix
Bearbeiten
Koaktivitätsmatrix
BearbeitenDie Koaktivitätsmatrix zeigt an, welche Neuronenpaare zeitlich synchron aktiv sind (also einen Impuls senden).
Aufgabe - Koaktivitätsmatrix
Bearbeiten- Erläutern Sie, wie aus einem Eingabevektor und einem zugehörigen assoziierten Ausgabevektor eine Koaktivitätsmatrix durch Matrixmultiplikation entsteht?
- Wie kann man die Koaktivitätsmatrix verwenden, um einen Lernschritt mit der Hebbschen Lernregel abzubilden?
- Laden Sie eine CSV-Datei mit den Trainingsdaten für die obige Kooktivitätsmatrix mit der folgenden Spaltenstruktur
Folgen im Matrizenraum
BearbeitenDie Ausgangsmatrix wird durch den maschinellen Lernprozess mit jeder Anwendung einer Lernregel verändert. Dadurch entsteht eine Folge in dem Vektorraum der Matrizen . Die Ausgangsmatrix als Startzustand wird dann mit gekennzeichnet.
Lernrate
BearbeitenDie Lernrate legt fest, wie stark die Veränderung die Koaktivitätsmatrix die Matrix verändert. Die Lernrate kann sich mit jedem Lernschritt verändern und liefert daher eine Folge . Ist Koaktivitätsmatrix im Lernschritt, so verändert sich die Matrix wie folgt.
Lernratenfestlegung
BearbeitenLernraten als monoton fallend Nullfolgen sorgen dafür, dass die Veränderungen der Matrix mit wachsender Anzahl von Trainingsdaten immer geringer werden. Eine einfache Festlegung der Lernrate z.B. .
Aufgabe - Lernraten
BearbeitenErläutern Sie, wie man die Lernregel iterativ festlegen möchte, bei der jeweils das arithmetische Mittel aller Koaktivitätsmatrizen darstellt.
Welcher Zusammenhang besteht dabei zu Konvexkombinationen?
Umsetzung in R
BearbeitenDie Umsetzung in R gliedert sich folgende Teilschritte:
- Nutzung des Assoziators,
- Erzeugen der Koaktivitätsmatrix,
- Laden von Trainingsdaten,
- Training des Assoziators.
Linearer Assoziator als Matrixmultiplikation
BearbeitenMan verwendet eine Standardmatrixmultiplikation , die als linearer Assoziator durch die Matrix gegeben ist. Dabei berechnet zu einem gegebenen Spaltenvektor den zugehörigen assoziierten Vektor y:
A <- matrix(c(1,2,3,4,5,6), ncol=3)
x <- c(4,2,1)
y = A %*% x
Darstellung in mathematischer Notation
BearbeitenIn diesem Beispiel wird im ersten Befehl ein Spaltenvektor c(1,2,3,4,5,6) in eine Matrix mit 3 Spalten konvertiert (ncol=3 number of columns 3), die dann als Matrix zwei Zeilen besitzt.
Erzeugen der Koaktivitätsmatrix
BearbeitenDie Koaktivitätsmatrix kann man durch Matrixmultiplikation aus zwei assoziierten Vektoren erzeugen. Dabei wird mit einem Trainingsvektor der Spaltenvektor von links mit dem Zeilenvektor multipliziert und es entsteht die Koaktivitätsmatrix als -Matrix.
Koaktivität
Bearbeitenkoaktivitaetsmatrix <- function (px1,px2,px3,py1,py2) {
vecx <- c(px1,px2,px3)
vecy <- c(py1,py2);
mat <- matrix(vecy , ncol=1) %*% matrix(vecx,ncol=3)
# return Kooktivitaetsmatrix mat als Rueckgabewert
mat
}
Einlesen von tabellarischen Daten
BearbeitenDer Eingabevektor ist -dimensional und assoziierte Ausgabevektor ist -dimensional. Einlesen der Daten in R kann damit mit einer Tabelle erfolgen, die Spalten besitzt.
Indikatoren als Eingabe - Vektoren
BearbeitenWie können folgende Texteingaben zahlenmäßig beschrieben werden
x1 , x2 , x3 , y1 , y2 1 , 0 , 0 , 1 , 1 0 , 1 , 0 , 0 , 1 0 , 0 , 1 , 1 , 0 1 , 1 , 0 , 0 , 1
Aufgabe - Fuzzy-Logik
BearbeitenWie kann das obige Beispiel auf die Fuzzylogik erweitern?
Aufgabe - Texte als Eingabe - Vektoren
BearbeitenWie können folgende Texteingaben zahlenmäßig als Spaltenindikatoren mit 0 und 1 kodiert und beschrieben werden?
xName , x2 , x3, y1 , yHilfe Anna , 10 , 15 , 13 , Hilfe1 Bert , 3.5 , 13 , 0 , Hilfe2 Camilla , 12 , 8 , 15 , Hilfe3 Dieter , 5 , 6 , 7 , Hilfe1 Emilia , 15 , 15 , 14.5, Hilfe1
Einzelnachweise
Bearbeiten- ↑ T. V. Bliss, T. Lomo: Long-lasting potentiation of synaptic transmission in the dentate area of the anaesthetized rabbit following stimulation of the perforant path. In: J Physiol. 232(2), 1973, S. 331–356, Free Full Text Online. PMID 4727084
- ↑ G. Yang, C. S. Lai, J. Cichon, L. Ma, W. Li, W. B. Gan: Sleep promotes branch-specific formation of dendritic spines after learning. In: Science. 344(6188), 2014, S. 1173–1178. PMID 24904169
- ↑ Manfred Spitzer: Geist im Netz, Modelle für Lernen, Denken und Handeln. Spektrum Akademischer Verlag, Heidelberg 1996, ISBN 3-8274-0109-7, S. 107.
Literatur
Bearbeiten- Donald Hebb: The organization of behavior. A neuropsychological theory. Erlbaum Books, Mahwah, N.J. 2002, ISBN 0-8058-4300-0 (Nachdruck der Ausgabe New York 1949)
Siehe auch
BearbeitenSeiteninformationen
BearbeitenDiese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.
Wiki2Reveal
BearbeitenDieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Maschinelles Lernen' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.
- Die Seite wurde als Dokumententyp [https://de.wikiversity.org/wiki/PanDocElectron-Presentation PanDocElectron-
SLIDE] erstellt.
- Link zur Quelle in Wikiversity: https://de.wikiversity.org/wiki/Maschinelles%20Lernen/Hebbsche%20Lernregel
- siehe auch weitere Informationen zu Wiki2Reveal und unter Wiki2Reveal-Linkgenerator.
Wikipedia2Wikiversity
BearbeitenDiese Seite wurde auf Basis der folgenden Wikipedia-Quelle erstellt: