FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

35
FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

Transcript of FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

Page 1: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

FGAN

apl. Prof. Dr. Ulrich Schade

Konnektionismus

4. Sitzung (06.11.2008)

Page 2: 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

Page 3: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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?)

Page 4: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 5: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 6: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 7: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 8: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 9: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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)

Page 10: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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 !

Page 11: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 12: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 13: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 14: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 15: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 16: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 17: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

17FGAN

2 Techniken

• Einleitung und Historischer Rückblick

• Spreading Activation

• Error-Backpropagation

• Kohonen-Netze

Page 18: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 19: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 20: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 21: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 22: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 23: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 24: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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)

Page 25: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 26: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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 ?

Page 27: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 28: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 29: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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.

Page 30: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 31: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

31FGAN

2.3 Error-Backpropagation

Der Fehler der Zwischenschichtknoten:

Δhi = (Σ Δok · Wik(alt)) · hi · (1 – hi)

Page 32: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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)

Page 33: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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;

Page 34: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

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

Page 35: FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung (06.11.2008)

35FGAN

2.3 Error-Backpropagation

Nächste Woche:

• Beispiel• Probleme und Tricks• Behandlung von Sequenzen (Jordan-Elman-Netze)