FGAN apl. Prof. Dr. Ulrich Schade Konnektionismus 4. Sitzung ( )
FGAN 2 2Techniken Einleitung und Historischer Rückblick Spreading Activation Error-Backpropagation Kohonen-Netze
FGAN 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?)
FGAN Spreading Activation – Problem 1 a i (t+1) = a i (t)·(1–Θ) + n i (t)·(M – a i (t)), falls n i (t) > 0 a i (t+1) = a i (t)·(1–Θ) + n i (t)·(a i (t) – m), falls n i (t) 0 n i (t) = Σ w ji · a j (t) Es muss gelten: | n i (t) | < 1.0.
FGAN Spreading Activation – Problem 1 n i (t) = Σ w ji · a j (t)Es muss gelten: | n i (t) | < 1.0. Beispiel: Die positiven Leitungsstärken liegen alle bei 0.1. Dann ist n i (t) = 0.1 · Σ a j (t). Senden dann mehr als 10 Knoten positiv Aktivierung an den Knoten i, kann es geschehen, dass | n i (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.
FGAN 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,
FGAN 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
FGAN 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, 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.)
FGAN Spreading Activation – Problem 1 Lösungsvorschlag 2: Berechnung des Nettoinputs in der Art, in der Wahrscheinlichkeiten berechnet werden. Ziel: | n i (t) | < 1.0. Dazu: Verrechne die eingehenden positiven und die eingehenden negativen Aktivierungen zunächst getrennt: n i (t) = PLUS i (t) – MINUS i (t)
FGAN Spreading Activation – Problem 1 Lösungsvorschlag 2: Berechnung des Nettoinputs in der Art, in der Wahrscheinlichkeiten berechnet werden. n i (t) = PLUS i (t) – MINUS i (t) PLUS i (t) = 1 – Π (1 – w ji · a j (t)) MINUS i (t) = 1 – Π (1 + w ki · a k (t)) Schade, U. (1992). Konnektionismus. Opladen: Westdeutscher Verlag, Abschnitt Achtung: Vorzeichenwechsel !
FGAN Spreading Activation – Problem 1 Beispiel: PLUS i (t) = 1 – Π (1 – w ji · a j (t)) W 1i = W 2i = W 3i = 0.1 a 1 (t) = 0.6; a 2 (t) = 0.9; a 3 (t) = 0.5 PLUS i (t) = 1 – (1 – 0.06)(1 – 0.09)(1 – 0.05) = 1 – 0.94 · 0.91 · 0.95 = 1 – =
FGAN 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.
FGAN Spreading Activation – Problem 2 Wie wird Sequentialisierung in konnektionistischen Modellen modelliert ? Im Modell von McClelland und Rumelhart wird Sequentialisierung faktisch vernachlässigt. Das ist möglich, weil es nur um Buchstabenerkennung und nicht um Worterkennung geht. Diese Frage ist für alle Anwendungsbeispiele zu stellen.
FGAN 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.
FGAN 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.
FGAN 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).
FGAN 17 2Techniken Einleitung und Historischer Rückblick Spreading Activation Error-Backpropagation Kohonen-Netze
FGAN 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.
FGAN 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.
FGAN 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.
FGAN Error-Backpropagation Dann wird zu dem angelegten Muster die Aktivierung in der Zwischenschicht berechnet: mit h i Aktivierung des Zwischenknotens i e j Aktivierung des Eingabeknotens j w ji Stärke der Verbindung von j nach i 1 h i = 1+e -Σ w ji e j
FGAN Error-Backpropagation Dann wird dazu die Aktivierung in der Ausgabeschicht berechnet: mit h i Aktivierung des Zwischenknotens i o k Aktivierung des Ausgabeknotens k w ik Stärke der Verbindung von i nach k 1 o k = 1+e -Σ w ik h i
FGAN Error-Backpropagation Die Aktivierungsfunktion ist eine sigmoide Funktion. f(t) = 1 / (1+ e -t ) f(0) = 0.5 f(+ ) = 1.0 f(- ) = 0.0
FGAN 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. Δo k = o k gewünscht – o k tatsächlich (Fehler der Ausgabeschicht)
FGAN Error-Backpropagation Aus dem Fehler wird eine Änderung der Leitungsstärken von der Zwischenschicht zur Ausgabeschicht berechnet: w ik (neu) = w ik (alt) + Δw ik Δw ik = α · Δo k · h i (α ist die Lernrate: 0 α 1) Bis hierhin kannten wir das alles mehr oder weniger.
FGAN 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 ?
FGAN 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.
FGAN 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, Paris. Parker, D.B. (1985). Learning Logic. Cambridge, MA, MIT, Center for Computational Research in Economics and Management Science.
FGAN 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.
FGAN Error-Backpropagation Fehler der Ausgabeschicht: Δo k = o k gewünscht – o k tatsächlich Δo k = (o k gewünscht – o k tatsächlich ) · o k tatsächlich · (1 – o k tatsächlich ) Die Modifikation bewirkt, dass der Fehler besonders gewichtig ist, wenn o k tatsächlich in etwa 0.5 ist. erzielte Ergebnismuster gewünschtes Ergebnismuster
FGAN Error-Backpropagation Der Fehler der Zwischenschichtknoten: Δh i = ( Σ Δo k · W ik(alt) ) · h i · (1 – h i )
FGAN Error-Backpropagation Aus dem Fehler wird wie üblich die Änderung der Leitungsstärken, in diesem Fall die von der Eingabeschicht zur Zwischenschicht, berechnet: w ji (neu) = w ji (alt) + Δw ji Δw ji = α · Δh i · e j (α ist die Lernrate: 0 α 1)
FGAN Error-Backpropagation Programmablauf (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;
FGAN Error-Backpropagation Programmablauf (gesamt): Trainingsphase: Wähle das Trainingsset für alle Muster aus dem Trainingsset: Lernzyklus Abbruch ?Testphase evtl. Verringerung der Lernrate
FGAN Error-Backpropagation Nächste Woche: Beispiel Probleme und Tricks Behandlung von Sequenzen (Jordan-Elman-Netze)