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

Post on 05-Apr-2015

110 views 1 download

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

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)