Maschinelles Lernen/Hebbsche Lernregel

Einleitung

Bearbeiten

Diese 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

Bearbeiten

Diese 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

Bearbeiten

Die 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

Bearbeiten

Hebb 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

Bearbeiten

Das 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

Bearbeiten

Als 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

Bearbeiten

Hebb 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

Bearbeiten

In 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

Bearbeiten

Als 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.

 

Koaktivitätsmatrix

Bearbeiten

Die 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

Bearbeiten

Die 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

Bearbeiten

Die 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

Bearbeiten

Lernraten 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

Bearbeiten

Erlä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

Bearbeiten

Die Umsetzung in R gliedert sich folgende Teilschritte:

Linearer Assoziator als Matrixmultiplikation

Bearbeiten

Man 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

Bearbeiten

In 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

Bearbeiten

Die 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

Bearbeiten
koaktivitaetsmatrix <- 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

Bearbeiten

Der 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

Bearbeiten

Wie 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

Bearbeiten

Wie kann das obige Beispiel auf die Fuzzylogik erweitern?

Aufgabe - Texte als Eingabe - Vektoren

Bearbeiten

Wie 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
  1. 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
  2. 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
  3. 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

Bearbeiten

Seiteninformationen

Bearbeiten

Diese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.

Wiki2Reveal

Bearbeiten

Dieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Maschinelles Lernen' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.

SLIDE] erstellt.


Wikipedia2Wikiversity

Bearbeiten

Diese Seite wurde auf Basis der folgenden Wikipedia-Quelle erstellt: