290 likes | 417 Views
Konnektionismus 6. Sitzung (20.11.2008). apl. Prof. Dr. Ulrich Schade. 2 Techniken. Einleitung und Historischer Rückblick Spreading Activation Error-Backpropagation Kohonen-Netze. 2.3 Error-Backpropagation – einfache rekurrente Netze. Elman-Netz oder auch
E N D
Konnektionismus6. Sitzung (20.11.2008) apl. Prof. Dr. Ulrich Schade
2 Techniken • Einleitung und Historischer Rückblick • Spreading Activation • Error-Backpropagation • Kohonen-Netze
2.3 Error-Backpropagation – einfache rekurrente Netze Elman-Netz oder auch „Simple Recurrent Network“ (SRN) Elman, J. (1990). Finding Structure in Time. Cognitive Science, 14, 179-211. Ausgabeschicht Zwischenschicht copy Eingabeschicht Kontext
2.3 Error-Backpropagation – einfache rekurrente Netze Vorfassung: Jordan-Netz Jordan, M.I. (1986). Attractor dynamics and parallelism in a connectionist sequential machine, Proceedings of the 8th Conference on Cognitive Science, Amherst, MA, USA, 531-546. Ausgabeschicht Zwischenschicht copy Eingabeschicht Kontext
2.3 Error-Backpropagation – einfache rekurrente Netze (SRN) Im Gegensatz zu normalen Netzen mit Error-Backpropagation wird in „einfachen rekurrenten Netzen“ die Aktivierung der Knoten mehrmals berechnet. Die Sequenz in der Eingabe wird als zeitliche Sequenz repräsentiert. Es ist jeweils zu prüfen, ob diese Sequenzrepräsentation für den Gegenstandsbereich, den man zu modellieren beabsichtigt, angemessen ist. SRNs sind etwa als Modelle des Lesens weniger geeignet als als Modelle des Hörens.
2.3 Error-Backpropagation – einfache rekurrente Netze (SRN) Obwohl die Knoten in SRNs mehrfach aktiviert werden, gehören die SRNs zur Klasse der Ansätze mit Error Backpropagation und nicht zu den Netzen mit „spreading activation“: • Die Formeln für die Aktivierung der Knoten und für das Lernen entsprechen den Formeln, die im einfachen Error Backpropagation genutzt werden. • Die Aktivierung erfolgt „forward“ und nicht bidirektional. • SRNs schwingen sich nicht auf eine Aktivierungsverteilung ein.
2 Techniken Zusammenfassende Anmerkungen (Zwischenfazit) Für alle bisher behandelten Ansätze gilt: Die Modellierung von Parallelität ist einfach (weil inhärent). Die Modellierung von Sequenzialität bereitet Probleme.
2 Techniken Zusammenfassende Anmerkungen (Zwischenfazit) lokal-konnektionistische Modelle („spreading activation“) • Ein Knoten repräsentiert ein Objekt. distribuiert-konnektionistische Modelle • Jedes Objekt wird von mehreren Knoten repräsentiert. • Jeder Knoten ist an der Repräsentation mehrerer Objekte beteiligt.
2 Techniken Zusammenfassende Anmerkungen (Zwischenfazit) lokal-konnektionistische Modelle („spreading activation“) • Diese Modelle eignen sich zur Modellierung von Verhalten (Sprachrezeptionsprozess; Sprachproduktionsprozess). distribuiert-konnektionistische Modelle • Diese Modelle eignen sich zur Modellierung von Lernprozessen (Spracherwerb). Generalisierung erfolgt aber immer über Ähnlichkeit.
2 Techniken Zusammenfassende Anmerkungen (Zwischenfazit) distribuiert-konnektionistische Modelle • Error-Backpropagation • überwachtes Lernen (= Lernen anhand von Trainingsbeispielen) • Kohonen-Netze • Lernen durch Selbstorganisation (nicht überwacht)
2 Techniken • Einleitung und Historischer Rückblick • Spreading Activation • Error-Backpropagation • Kohonen-Netze
2.4 Kohonen-Netze ... wurden entwickelt durch Teuvo Kohonen. Es gibt mehrere Arten von Netzen, die von Kohnonen vorgeschlagen und entwickelt wurden. Wir betrachten hier die so genannten „Kohonen-Karten“, die „self-organizing [feature] maps“ (SOM). Kohonen, T.: Self-Organizing Maps. (= Springer Series in Information Sciences, Vol. 30) Berlin: Springer, 3. erweiterte Auflage 2001.
2.4 Kohonen-Netze – Idee Das Netz besteht aus einer Eingabeschicht und einem Repräsentationsraum, der „Karte“. Eingabeschicht Wie üblich ist jeder Knoten der Eingabeschicht mit jedem Knoten der Karte verbunden. Wird eine Eingabe (ein „Vektor“) angelegt, so werden die Knoten der Karte aktiviert. Karte
2.4 Kohonen-Netze – Idee Das Netz besteht aus einer Eingabeschicht und einem Repräsentationsraum, der „Karte“. Eingabeschicht Für den Knoten der Karte, der am stärksten auf die Eingabe reagiert (und für die Knoten um ihn herum) werden die Leitungs-stärken verstärkt. Auf diese Weise entsteht ein Bild der Vektoren in der Karte. Karte
2.4 Kohonen-Netze – Idee Das Netz besteht aus einer Eingabeschicht und einem Repräsentationsraum, der „Karte“. Eingabeschicht In der Karte werden letztlich die Vektoren nach Ähnlichkeit abgelegt. Die Karte ist damit eine Repräsentation der Eingaben. Karte
2.4 Kohonen-Netze – Algorithmus Aktivierung • Die Eingabeschicht wird aktiviert (Anlegen eines Vektors). • Die Karte wird aktiviert. Ist ai der Eingabevektor, so istaj = Σwij ai(wie üblich) die Aktivierung des Kartenknotens j. Lernen • Bestimme den Knoten der Karte, der am stärksten auf die Eingabe reagiert (= höchster Aktivierungswert). Dieser Knoten heiße s. • Ändere die Leitungsstärken wie folgt Wij(neu) = wij(alt) + α· hjs · (ai – wij(alt))
2.4 Kohonen-Netze – Algorithmus Was bedeutet Wij(neu) = wij(alt) +α· hjs· (ai – wij(alt)) ? α ist die Lernrate. (Wo die zu liegen hat, ist wie üblich unklar.) hjs ist eine topologie-erhaltene Funktion. Beispiel: S
2.4 Kohonen-Netze – Algorithmus Was bedeutet Wij(neu) = wij(alt) +α· hjs· (ai – wij(alt)) ? hjs ist eine topologie-erhaltene Funktion. zweites Beispiel: hjs = exp ( – | j – s |2 / σ2 ) Hier ist | j – s |2 eine Norm, also etwa die Euklidische Norm | j – s |2 = | j1 – s1 |2 + | j2 – s2 |2 σ gibt an, wie „breit“ die Spitze der Funktion ist. S
2.4 Kohonen-Netze – Algorithmus Was bedeutet Wij(neu) = wij(alt) +α·hjs · (ai – wij(alt))? (ai – wij(alt)) bewirkt, dass der “Vektor” der Verbindungsstärken des Kartenknotens j, also wij(alt), dem Eingabevektor ai angepasst wird. Würde der Eingabevektor ai dann gleich noch einmal angelegt, so würde der Knoten snoch stärker auf diese Eingabe reagieren, was in einem etwas reduzierten Maße auch für die Knoten gilt, die um sherum liegen. Das führt letztlich dazu, dass ähnliche Eingaben auf Kartenknoten abgebildet werden, welche benachbart sind.
2.4 Kohonen-Netze – Idee (noch einmal) Die Karte sollte letztlich die Topologie der Eingabedaten spiegeln.
2.4 Kohonen-Netze – Eingabebeispiel Wie sehen die Eingabevektoren aus ? Die Vektoren bestehen aus zwei Teilen. Der erste Teil repräsentiert den „Namen“ des zu repräsentierenden Objekts, der zweite Teil dessen „Eigenschaften“. (Normierung !) schwimmt klein mittel groß 2 Beine 4 Beine 6 Beine 8 Beine Fell Federn jagt rennt fliegt
2.4 Kohonen-Netze – Voraussetzungen Für Kohonen-Netze benötigt man den Eingabevektor und die Karte. Eingabevektor: Namensanteil und Eigenschaftsteil Eigenschaftsteil beruht auf Ähnlichkeit oder „Kontext“ • bekannte Eigenschaften / Features • reale Abstände (etwa zwischen Städten) = Abstandsmatrix • Welche Objekte sind benachbart ? (Kontext)
k2 k3 k1 k4 k6 k5 2.4 Kohonen-Netze – Beispiel Eingabevektoren: k1: (1,0,0,0,0,0, 1,0.5,0,0,0,0.5) k2: (0,1,0,0,0,0, 0.5,1,0.5,0,0,0) k3: (0,0,1,0,0,0, 0,0.5,1,0.5,0,0) k4: (0,0,0,1,0,0, 0,0,0.5,1,0.5,0) k5: (0,0,0,0,1,0, 0,0,0,0.5,1,0.5) k6: (0,0,0,0,0,1, 0.5,0,0,0,0.5,1) Name Kontext
2.4 Kohonen-Netze – Ergebnisse Die Trennung von Name und Kontext ermöglicht es, beim Test nur den Namen einzugeben und den Kontext auf Null zu setzen. Dies wird für die Ergebnisanzeige genutzt. Es gibt zwei Versionen von Ergebnissen: • Für jeden Namensvektor wird bestimmt, welcher Kartenknoten am stärksten reagiert. • Für jeden Knoten der Karte wird bestimmt, auf welchen Namensvektor dieser am stärksten reagiert. • (Die Gebietsgröße ist abhängig von der Häufigkeit, mit der beim Lernen Gesamtvektoren präsentiert wurden.)
k2 k3 k1 k4 k6 k5 2.4 Kohonen-Netze – Voraussetzungen Eine wichtige Frage ist stets die Wahl der Karte ! Beispiel: geeignete Karte ?
2.4 Kohonen-Netze – Ausgabebeispiel „Vokalkarte“: zweidimensional ?
2.4 Kohonen-Netze – Ausgabebeispiel „Konsonantenkarte“: dreidimensional ?