Maschinelles Lernen/Hebbsche Lernregel

Aus testwiki
Version vom 3. August 2024, 21:49 Uhr von imported>YMS (Sprache)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einleitung

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

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

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

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

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

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

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

In künstlichen neuronalen Netzen wird diese Veränderung der synaptischen Übertragung als Gewichtsänderung des neuronalen Graphen abgebildet.

Δwij=ηaiaj

Variablenbezeichnung

  • Δwij: 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)
  • ai: Aktivierung von Neuron i
  • aj: Aktivierung von Neuron j, das mit Neuron i verbunden ist.

Beispiel - Assoziator

Als Beispiel soll nur ein Assoziator als Matrix mit der Hebbschen Lernregel trainiert werden. Gegeben ist eine Matrix AMat(m×n,). In diesem Beispiel sei m=3 und n=4. Die Matrix AMat(3×4,) stellt als Funktion eine Abbildung vom 4 in den 3 dar.

Matrix

A:=(a1,1a1,2a1,3a1,4a2,1a2,2a2,3a2,4a3,1a3,2a3,3a3,4)

Koaktivitätsmatrix

Die Koaktivitätsmatrix CMat(3×4,) zeigt an, welche Neuronenpaare zeitlich synchron aktiv sind (also einen Impuls senden).

C:=(c1,1c1,2c1,3c1,4c2,1c2,2c2,3c2,4c3,1c3,2c3,3c3,4)=(y1y2y3)(x1,x2,x3,x4)

Aufgabe - Koaktivitätsmatrix

  • Erläutern Sie, wie aus einem Eingabevektor x4 und einem zugehörigen assoziierten Ausgabevektor y3 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 (x1,x2,x3,x4,y1,y2,y3)

Folgen im Matrizenraum

Die Ausgangsmatrix A wird durch den maschinellen Lernprozess mit jeder Anwendung einer Lernregel verändert. Dadurch entsteht eine Folge (An)n0 in dem Vektorraum der Matrizen Mat(m×n,). Die Ausgangsmatrix als Startzustand wird dann mit A0 gekennzeichnet.

Lernrate

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 (ηn)n𝟘o𝟘. Ist Cn Koaktivitätsmatrix im n Lernschritt, so verändert sich die Matrix An wie folgt.

An+1=An+ηnCn

Lernratenfestlegung

Lernraten als monoton fallend Nullfolgen sorgen dafür, dass die Veränderungen der Matrix An mit wachsender Anzahl von Trainingsdaten immer geringer werden. Eine einfache Festlegung der Lernrate z.B. (ηn)n𝟘=(1n)n𝟘.

Aufgabe - Lernraten

Erläutern Sie, wie man die Lernregel iterativ festlegen möchte, bei der An jeweils das arithmetische Mittel aller Koaktivitätsmatrizen darstellt.

An:=1nk=0nCn

Welcher Zusammenhang besteht dabei zu Konvexkombinationen?

Umsetzung in R

Die Umsetzung in R gliedert sich folgende Teilschritte:

Linearer Assoziator als Matrixmultiplikation

Man verwendet eine Standardmatrixmultiplikation Ax=y, die als linearer Assoziator durch die Matrix AMat(2×3,) gegeben ist. Dabei berechnet Ax=y zu einem gegebenen Spaltenvektor x4 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

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 A zwei Zeilen besitzt.

Ax=(135246)(421)=(1522)=y

Erzeugen der Koaktivitätsmatrix

Die Koaktivitätsmatrix kann man durch Matrixmultiplikation aus zwei assoziierten Vektoren erzeugen. Dabei wird mit einem Trainingsvektor (x(k),y(k))m×n der Spaltenvektor y(k)m von links mit dem Zeilenvektor x(k)n multipliziert und es entsteht die Koaktivitätsmatrix K(k) als m×n-Matrix.

K(k):=y(k)x(k)=(10)(001)=(001000)

Koaktivität

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

Der Eingabevektor x=(x1,xn) ist n-dimensional und assoziierte Ausgabevektor y=(y1,yn) ist m-dimensional. Einlesen der Daten in R kann damit mit einer Tabelle erfolgen, die m+n Spalten besitzt.

Indikatoren als Eingabe - Vektoren

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

Wie kann das obige Beispiel auf die Fuzzylogik erweitern?

Aufgabe - Texte als Eingabe - Vektoren

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

  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

  • 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

Seiteninformationen

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

Wiki2Reveal

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

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