fgan apl. prof. dr. ulrich schade konnektionismus 4. sitzung (06.11.2008)
TRANSCRIPT
FGAN
apl. Prof. Dr. Ulrich Schade
Konnektionismus
4. Sitzung (06.11.2008)
2FGAN
2 Techniken
• Einleitung und Historischer Rückblick
• Spreading Activation
• Error-Backpropagation
• Kohonen-Netze
3FGAN
2.2 Spreading Activation – Probleme
Probleme• Verrechnung der Aktivierung
(Wie gewährleistet man, dass die Aktivierungswerte
stets im Intervall [m, M] liegen?)
• Modellierung von Sequenzen
• Selektion
(Wann liegt das Ergebnis vor?)
4FGAN
2.2 Spreading Activation – Problem 1
ai(t+1) = ai(t)·(1–Θ) + ni(t)·(M – ai(t)), falls ni(t) > 0
ai(t+1) = ai(t)·(1–Θ) + ni(t)·(ai(t) – m), falls ni(t) ≤ 0
ni(t) = Σ wji · a j(t)
Es muss gelten: | ni(t) | < 1.0.
5FGAN
2.2 Spreading Activation – Problem 1
ni(t) = Σ wji · a j(t) Es muss gelten: | ni(t) | < 1.0.
Beispiel:
Die positiven Leitungsstärken liegen alle bei 0.1.
Dann ist ni(t) = 0.1 · Σ a j(t).
Senden dann mehr als 10 Knoten positiv Aktivierung an
den Knoten i, kann es geschehen, dass | ni(t) | > 1.0 gilt.
Bei der Buchstabenerkennung wird der Knoten
b1 beispielsweise von allen Wortknoten aktiviert,
deren Wörter mit „b“ beginnen. Das können mehr als 10 sein.
6FGAN
2.2 Spreading Activation – Problem 1
Lösungsvorschlag 1:„The spreading rule is completely linear, and given that the lexical
network only has excitatory connections among ist nodes, the model
has the charcteristics of the networks studied by Shrager, Hogg &
Huberman (1987). In such networks the decay rate q must be somewhat
greater than the spreading rate p to keep the network from entering
a phase in which activation levels go haywire. However, when the ratio
p/q is small, the network is reasonably well behaved, and it is in this region
that the present model operates, specifically where p/q < 0.5.“ (S. 129)
Dell, G.S. (1988). The retrieval of phonological forms in production.
Journal of Memory and Language, 27, 124-142.
7FGAN
2.2 Spreading Activation – Problem 1
Lösungsvorschlag 1 ??
McClelland & Rumelhart (1981): p (Letter Word) = 0.07
p (Word Letter) = 0.3
q = Θ = 0.07
Das entspricht nicht den Voraussetzungen, die Dell nennt.
Überdies gilt
8FGAN
2.2 Spreading Activation – Problem 1
Lösungsvorschlag 1 ??
Shrager, J., Hogg, T. & Huberman, B.A. (1987).
Observation of phase transitions in spreading activation networks.
Science, 236, 1092-1094.
„We consider the case where the activation from each node is
divided among the attached nodes according to the weight
of their connections.“ (S. 1093)
„fanning“ (Dies passiert weder im Modell von McClelland & Rumelhart,
noch im Modell von Dell.)
9FGAN
2.2 Spreading Activation – Problem 1
Lösungsvorschlag 2:
Berechnung des Nettoinputs in der Art,
in der Wahrscheinlichkeiten berechnet werden.
Ziel: | ni(t) | < 1.0.
Dazu: Verrechne die eingehenden positiven und die
eingehenden negativen Aktivierungen zunächst getrennt:
ni(t) = PLUSi(t) – MINUSi(t)
10FGAN
2.2 Spreading Activation – Problem 1
Lösungsvorschlag 2:
Berechnung des Nettoinputs in der Art,
in der Wahrscheinlichkeiten berechnet werden.
ni(t) = PLUSi(t) – MINUSi(t)
PLUSi(t) = 1 – Π (1 – wji · a j(t))
MINUSi(t) = 1 – Π (1 + wki · a k(t))
Schade, U. (1992).Konnektionismus.Opladen: Westdeutscher Verlag,Abschnitt 1.2.5.
Achtung: Vorzeichenwechsel !
11FGAN
2.2 Spreading Activation – Problem 1
Beispiel:
PLUSi(t) = 1 – Π (1 – wji · a j(t))
W1i = W2i = W3i = 0.1
a 1(t) = 0.6; a 2(t) = 0.9; a 3(t) = 0.5
PLUSi(t) = 1 – (1 – 0.06)(1 – 0.09)(1 – 0.05)
= 1 – 0.94 · 0.91 · 0.95
= 1 – 0.81263
= 0.18737
12FGAN
2.2 Spreading Activation – Problem 2
Generell gilt:
Klassische Modelle haben kein Modellierungsproblem
mit Sequentialisierung, wohl aber mit Parallelität.
Konnektionistische Modelle haben kein Problem
mit Parallelität, wohl aber mit Sequentialisierung.
13FGAN
2.2 Spreading Activation – Problem 2
Wie wird Sequentialisierung in konnektionistischen Modellen modelliert ?
1 2 3 4
Im Modell von McClelland und Rumelhart wird Sequentialisierungfaktisch vernachlässigt. Das ist möglich, weil es nur um Buchstabenerkennung und nicht um Worterkennung geht.
Diese Frage ist für alle Anwendungsbeispielezu stellen.
14FGAN
2.2 Spreading Activation – Problem 3
Selektion
Wann liegt das Ergebnis vor?
Wann greifen wir das Ergebnis ab?
Möglichkeit 1: „getaktet“ (= nach N Verrechnungszyklen)
Möglichkeit 2: Ermittlung per Selektionsschwelle
Das Ergebnis liegt vor, sobald der erste der fraglichen
Knoten seine Selektionsschwelle überschreitet.
15FGAN
2.2 Spreading Activation – Problem 3
Selektion
Wann liegt das Ergebnis vor?
Wann greifen wir das Ergebnis ab?
Möglichkeit 1: „getaktet“ (= nach N Verrechnungszyklen)
Möglichkeit 2: Ermittlung per Selektionsschwelle
Das Ergebnis liegt vor, sobald der erste der fraglichen
Knoten seine Selektionsschwelle überschreitet.
16FGAN
2.2 Spreading Activation – Problem 3
Selektion
Die Selektionsschwelle ist ein für jeden Knoten
individuell festgelegter Wert, der besagt, wie stark
der Knoten aktiviert sein muss, damit er als „Antwort“
selektiert werden kann.
Diskussion: Reaktionszeitversuche, z.B. zu „lexical decision“
Trick: Mit der Selektionsschwelle kann (alternativ)
Häufigkeit repräsentiert werden (statt Ruhewert).
17FGAN
2 Techniken
• Einleitung und Historischer Rückblick
• Spreading Activation
• Error-Backpropagation
• Kohonen-Netze
18FGAN
2.3 Error-Backpropagation
Konnektionistische Netze mit „Error Backpropagation“
sind Verallgemeinerungen des Perzeptrons.
Sie besitzen in aller Regel drei Schichten:• Eingabeschicht („input layer“)• Zwischenschicht („hidden layer“)• Ausgabeschicht („output layer“; zeigt das Ergebnis)
Aktivierungsausbreitung und Lernen verläuft „analog“
zum Perzeptron.
19FGAN
2.3 Error-Backpropagation
Verbindungen:
Jeder Knoten der Eingabeschicht ist auf jeden Knoten
der Zwischenschicht verbunden, und
jeder Knoten der Zwischenschicht ist auf jeden Knoten
der Ausgabeschicht verbunden.
20FGAN
2.3 Error-Backpropagation
Wiederum gilt:
Die Stärke der Verbindungen
wird ganz zu Beginn per Zufall festgesetzt.
Beim Lernen (Training)
werden Muster in der Eingabeschicht angelegt.
21FGAN
2.3 Error-Backpropagation
Dann wird zu dem angelegten Muster die Aktivierung
in der Zwischenschicht berechnet:
mit hi Aktivierung des Zwischenknotens i
ej Aktivierung des Eingabeknotens j
wji Stärke der Verbindung von j nach i
1hi = 1+e-Σ w
ji e
j
22FGAN
2.3 Error-Backpropagation
Dann wird dazu die Aktivierung
in der Ausgabeschicht berechnet:
mit hi Aktivierung des Zwischenknotens i
ok Aktivierung des Ausgabeknotens k
wik Stärke der Verbindung von i nach k
1ok = 1+e-Σ w
ik hi
23FGAN
2.3 Error-Backpropagation
Die Aktivierungsfunktion ist eine sigmoide Funktion.
f(t) = 1 / (1+ e-t)
f(0) = 0.5f(+) = 1.0f(- ) = 0.0
24FGAN
2.3 Error-Backpropagation
Das Ergebnis ist das Muster,
das zu dem Eingabemuster assoziiert wird.
Um zu lernen, wird dann das erzielte Ergebnismuster wieder
mit dem eigentlich gewünschten Ergebnismuster verglichen.
Δok = ok gewünscht – ok tatsächlich (Fehler der Ausgabeschicht)
25FGAN
2.3 Error-Backpropagation
Aus dem Fehler wird eine Änderung der Leitungsstärken
von der Zwischenschicht zur Ausgabeschicht berechnet:
wik (neu) = wik (alt) + Δwik
Δwik = α · Δok · hi (α ist die Lernrate: 0 ≤ α ≤ 1)
Bis hierhin kannten wir das alles mehr oder weniger.
26FGAN
2.3 Error-Backpropagation
Nun müssten wir aus dem Fehler der Knoten der
Zwischenschicht die Änderung der Leitungsstärken
von der Eingabeschicht zur Zwischenschicht berechnen.
Was aber ist der Fehler der Knoten der Zwischenschicht ?
27FGAN
2.3 Error-Backpropagation
Was aber ist der Fehler der Knoten der Zwischenschicht ?
Eine Antwort darauf lieferten (endgültig)
Rumelhart, McClelland & the PDP Research Group (Eds.) (1986).
Parallel Distributed Processing (2 Volumes).
Cambridge, MA: MIT Press.
28FGAN
2.3 Error-Backpropagation
Was aber ist der Fehler der Knoten der Zwischenschicht ?
Die Antwort gaben zuvor schon• Werbos, P.J. (1974). Beyond Reasoning. Havard University: Promotionsschrift.
• Le Chun, Y. (1985). Une procédure d´apprentissage pour réseau à seuil asymétrique. Proceedings of Cognitiva 85, 599-604. Paris.
• Parker, D.B. (1985). Learning Logic. Cambridge, MA, MIT,
Center for Computational Research in Economics and Management Science.
29FGAN
2.3 Error-Backpropagation
Von der Antwort her hat das Verfahren den Namen „Error Backpropagation“.
Der erste Schritt der Bestimmung des Fehlers ist die Modifikation des Fehlers der Ausgabeschicht.
30FGAN
2.3 Error-Backpropagation
Fehler der Ausgabeschicht:
Δok = ok gewünscht – ok tatsächlich
Δok = (ok gewünscht – ok tatsächlich) · ok tatsächlich · (1 – ok tatsächlich)
Die Modifikation bewirkt, dass der „Fehler“ besonders gewichtig ist,
wenn ok tatsächlich in etwa 0.5 ist.
erzielte Ergebnismuster
gewünschtes Ergebnismuster
31FGAN
2.3 Error-Backpropagation
Der Fehler der Zwischenschichtknoten:
Δhi = (Σ Δok · Wik(alt)) · hi · (1 – hi)
32FGAN
2.3 Error-Backpropagation
Aus dem Fehler wird wie üblich die Änderung der
Leitungsstärken, in diesem Fall die von der Eingabeschicht
zur Zwischenschicht, berechnet:
wji (neu) = wji (alt) + Δwji
Δwji = α · Δhi · ej (α ist die Lernrate: 0 ≤ α ≤ 1)
33FGAN
2.3 Error-BackpropagationProgrammablauf (ein Lernzyklus)• wähle ein Trainingsmuster;• lege das Muster an den Eingabeknoten an;• berechne die Aktivierung der Zwischenknoten;• berechne die Aktivierung der Ausgabeknoten;• berechne die Fehler der Ausgabeknoten;• berechne die Änderungen der Verbindungsstärken von den
Zwischenknoten zu den Ausgabeknoten;• berechne die Fehler der Zwischenknoten;• berechne die Änderungen der Verbindungsstärken von den
Eingabeknoten zu den Zwischenknoten;
34FGAN
2.3 Error-BackpropagationProgrammablauf (gesamt):
Trainingsphase: Wähle das Trainingsset
für alle Muster aus dem Trainingsset: Lernzyklus
Abbruch ? Testphase
evtl. Verringerung der Lernrate
35FGAN
2.3 Error-Backpropagation
Nächste Woche:
• Beispiel• Probleme und Tricks• Behandlung von Sequenzen (Jordan-Elman-Netze)