K - PowerPoint PPT Presentation

1 / 90
About This Presentation
Title:

K

Description:

K nstliche Neuronale Netze Stefan Hartmann Forschungszentrum caesar Warum Neuronale Netze? Neuronale Netze sind eine von der Natur inspirierte Methode, Computer ... – PowerPoint PPT presentation

Number of Views:248
Avg rating:3.0/5.0
Slides: 91
Provided by: Hart189
Category:
Tags: hebb

less

Transcript and Presenter's Notes

Title: K


1
Künstliche Neuronale Netze
Stefan Hartmann Forschungszentrum caesar
2
(No Transcript)
3
Warum Neuronale Netze?
  • Neuronale Netze sind eine von der Natur
    inspirierte Methode, Computer lernfähig zu
    machen.
  • Sie können Vorgänge im menschlichen Gehirn
    simulieren.
  • Anwendungen Neuronaler Netze (u.a.)-
    Mustererkennung, z.B. Sprach- und
    Schrifterkennung- Optimierung von Vorgängen,
    etwa in der Industrie- Künstliche Intelligenz

4
Ein einfaches Anwendungsbeispiel
1. Das folgende Neuronale Netz soll Ziffern von
0 bis 9 erkennen. Dafür wird zunächst das
Eingabefeld in 8x15 Elemente aufgeteilt
2. Die geschriebene Ziffer wird in eine Folge von
Nullen und Einsen umgewandelt, wobei 0 für leere
und 1 für übermalte Rasterpunkte steht
3. Nach erfolgreichem Training schafft es das
abgebildete Neuronale Netz, geschriebene Ziffern
zu erkennen und diese als Output y auszugeben.
5
Vorteile gegenüber klassischen Rechenmethoden
  • Lernfähigkeit
  • Generalisierungsfähigkeit
  • Fehlertoleranz (etwa bei verrauschten Daten)
  • Parallelität

6
Geschichtlicher Überblick
  • 1943 Warren McCulloch und Walter Pitts
    beschreiben und definieren eine Art erster
    neuronaler Netzwerke.
  • 1949 Formulierung der Hebbschen Lernregel (nach
    Donald O.Hebb)
  • 1957-1958 Entwicklung des Perzeptrons durch
    Frank Rosenblatt
  • 1969 Marvin Minsky und Seymour Papert
    untersuchen das Perzeptron mathematisch und
    zeigen dessen Grenzen, etwa beim XOR-Problem,
    auf.
  • 1982 Beschreibung der ersten selbstorganisierende
    n Netze (nach biologischem Vorbild) durch Teuvo
    Kohonen und Publikation eines richtungweisenden
    Artikels von John Hopfield, indem die ersten
    Hopfield-Netze (nach physikalischen Vorbild)
    beschrieben werden
  • 1986 Das Lernverfahren Backpropagation für
    mehrschichtige Perzeptrons wird entwickelt.

Anfänge
Donald O.Hebb
Ernüchterung
Renaissance
John Hopfield
7
Die Struktur Neuronaler Netze
  • Ein Neuronales Netz kann mathematisch als
    gerichteter Graph
  • aufgefasst werden, das bedeutet
  • Es besteht aus einer Menge von Eckpunkten X,
  • die durch eine Menge von Kanten (Pfeile) H
    verbunden sind, die je zwei Eckpunkte gerichtet
    verbinden.

Input
Output
Die sog. Knoten des Graphen (Eckpunkte, in denen
mind. ein Pfeil aufhört und ein Pfeil anfängt)
bilden die Grundlage für die Neuronen.
8
Netztopologien
FeedBack-Netze (rekurrente Netze) Verbindungen
zwischen allen Schichten möglich
FeedForward-Netze Gerichtete Verbindungen nur
von niedrigen zu höheren Schichten
FB-Netz mit Lateral-verbindungen
FF-Netz erster Ordnung
FB-Netz mit direkter Rückkopp-lung
FF-Netz zweiter Ordnung
9
Das Neuron
Biologisches Neuron
Künstliches Neuron
  • Die gewichteten Ausgaben anderer Neuronen werden
    empfangen (Input) und (in der Regel) aufsummiert.
  • Es wird unter Berücksichtigung eines
    Schwellenwertes der Aktivierungs-zustand
    berechnet,
  • ...von dem wiederum die Ausgabe (Output) des
    Neurons abhängt.
  • Dendriten empfangen Reize, die als Potentiale
    aufsummiert werden.
  • Überschreitet diese Summe ein Schwellenpotential,
    feuert das Neuron
  • ...und leitet über das Axon ein Aktionspotential
    weiter, das über Synapsen an benachbarte Zellen
    übertragen wird.

10
Die technische Realisierung des Neurons
  • i Index des Neurons
  • e1,e2,...ek Eingabewerte (Inputs)
  • wi,j Faktor, mit dem die Verbindung von Neuron i
    zu Neuron j gewichtet wird, wi(w1i,,wki)
  • neti Nettoinput des i-ten Neurons
  • ai Aktivierung des i-ten Neurons
  • oi Ausgabewert (Output) des i-ten Neurons, meist
    identisch zur Aktivierung

11
Die Inputfunktion
  • Die Input- oder Propagierungsfunktion berechnet
    aus
  • dem Eingabevektor und dem
    Gewichtsvektor
  • den Nettoinput des i-ten
    Neurons.
  • Es gibt folgende Inputfunktionen
  • Summe
  • Maximalwert
  • Produkt
  • Minimalwert

12
Die Aktivierungsfunktion
  • Mit der Aktivierungsfunktion (auch
    Transferfunktion) wird aus dem
  • Nettoinput der Aktivierungszustand des Neurons
    berechnet.
  • Folgende Aktivierungsfunktionen sind üblich
  • Lineare Aktivierungsfunktion
  • Binäre Schwellenwertfunktion
  • Fermi-Funktion (logistische Funktion)
  • Tangens hyperbolicus

Schwellenwert, häufig 0
13
Lineare Aktivierungsfunktion
Schwellenwertfunktion
Fermi-Funktion
Tangens hyperbolicus
14
Die Outputfunktion
  • Die Outputfunktion berechnet aus der Aktivierung
    ai den Wert, der als Ausgabe an die nächste
    Neuronenschicht weitergegeben wird.
  • In den meisten Fällen ist die Outputfunktion die
    Identität, d.h. oiai .
  • Für binäre Ausgaben wird manchmal auch eine
    Schwellenwertfunktion verwendet

15
Aufgabe 1
Neuron Aktivierungsfunktion des Neurons Gewichts-vektor
1 Linear c1 (1)
2 Linear c1 (1)
3 Schwellenwert-Funktion q 0 (1,-2)
4 Schwellenwert-Funktion q 0 (-1,0)
5 Schwellenwert-Funktion q 0 (3,2)
6 Schwellenwert-Funktion q 0 (0,2)
7 Linear c1 (0,2,-3,1)
8 Linear c1 (1,-2,3,8)
9 Linear c1 (0,2,3,-4)
Eingabewerte x12 x21 Berechne den Output des
gegebenen Neuronalen Netzes. (Die Nummerierung
der Verbindungen gibt an, welche Komponente des
Gewichtsvektors sie darstellen.) Welche Neuronen
können parallel arbeiten, welche müssen
aufeinander warten?
16
Frage
  • Wie könnte eurer Meinung nach ein
  • Neuronales Netz trainiert werden?
  • Welche Bestandteile des Netzes könnten im
  • Lernprozess verändert werden?

17
Lernmodi
  • In einer Trainingsphase werden Trainingsvektoren
    aus einer Trainingsmenge P
    vorgegeben, die das Netz lernt, indem es Gewichte
    und evtl. Schwellenwerte verändert.
  • In der Ausführungsphase wird das gelernte Wissen
    zur Lösung unbekannter Probleme eingesetzt.

18
Frage
  • Worauf muss man bei der Auswahl
  • geeigneter Trainingsdaten achten?

19
Das Panzerproblem der DARPA(Behörde des
Verteidigungsministeriums der USA)
20
Diese Fehler können bei einer ungeeigneten
Trainingsmenge auftreten
Zu viele Trainingsbeispiele das Netz hat
auswendig gelernt
Zu wenig Trainingsbeispiele keine richtige
Klassifikation
21
Die Trainingsmenge bei überwachtem Lernen
  • Bei überwachtem Lernen wird die Trainingsmenge
    häufig aufgeteilt in
  • eine Trainingsmenge, mit der wirklich trainiert
    wird
  • und eine Testmenge, mit der die Lernfortschritte
    getestet werden.

Erst wenn das Netz sowohl auf den Trainings- wie
auch auf den Testdaten gute Werte liefert, wird
das Training beendet.
22
Lernstrategien
  • Unüberwachtes Lernen
  • (unsupervised learning)
  • Dem Netz werden beim Training nur Eingabevektoren
    vorgegeben.
  • Das Netz erkennt selbstständig Klassen in der
    Datenmenge und passt seine Parameter an diese an
    (Autoadaption).
  • Überwachtes Lernen
  • (supervised learning)
  • Dem Netz werden beim Training Eingabe- und
    gewünschte Ausgabevektoren vorgegeben.
  • Das Netz lernt, bis dahin unbekannten
    Eingabevektoren plausible Ausgabevektoren
    zuzuordnen (Generalisierung).

23
Die Hebbsche Lernregel
Wenn ein Axon der Zelle A ... Zelle B erregt
und wiederholt und dauerhaft zur Erzeugung von
Aktionspotentialen in Zelle B beiträgt, so
resultiert dies in Wachstumsprozessen oder
metabolischen Veränderungen in einer oder in
beiden Zellen, die bewirken, dass die Effizienz
von Zelle A in Bezug auf die Erzeugung eines
Aktionspotenzials in B größer wird. (Donald
Olding Hebb, Psychologe, 1949)
Das bedeutet Je häufiger im Gehirn zwei Neuronen
gleichzeitig aktiv sind, desto stärker wird die
Verbindung (Synapse) zwischen ihnen.
24
Die Hebbsche Lernregel 2
Bei künstlichen Neuronalen Netzen wird dieses
Phänomen mathematisch mit folgender Formel
simuliert
Gewichtsänderung von Neuron i nach j
Lernrate
Ein zweischichtiges Neuronales FeedForward-Netz,
das nach der Hebbschen Lernregel arbeitet, wird
auch linearer Assoziierer genannt.
25
Satz
Der lineare Assoziierer arbeitet auf den
Trainingsdaten perfekt, falls die Eingabeneuronen
ein orthonormales Vektorsystem bilden, d.h. falls
sie die Länge 1 besitzen und senkrecht
aufeinander stehen.
26
Aufgabe 2
  • Das Programm LINASSOZ.C ist ein einfacher
    linearer Assoziierer mit zwei Neuronenschichten.
    Öffne das Programm und versuche, es
    nachzuvollziehen.
  • Die Unterprogramme lernen() und ausführen()
    fehlen noch. Ergänze sie so, dass das
    programmierte Neuronale Netz die Hebbsche
    Lernregel anwendet und beim Ausführen die
    korrekten Ausgabevektoren liefert!
  • Benutze danach das fertige Programm
  • Trainiere das Netz für n2 und m1 mit den
    folgenden Daten und lasse dir das Netz anzeigen.
  • Lasse das Netz mit denselben Daten im
    Ausführmodus arbeiten.
  • Setze nun das Training mit folgender Assoziation
    fort
  • Welche Ausgaben liefert das Netz im Ausführmodus
    zu den vier Trainingsvektoren? Warum?

27
Die Fehlerfunktion
Der spezifische Fehler für ein Trainingsbeispiel
p ist wie folgt definiert Summiert man den
spezifischen Fehler aller Trainingsbeispiele auf,
ergibt sich der Gesamtfehler
Mit W werden Outputneuronen bezeichnet mit O die
Menge derselben
28
Die Delta-Regel
Die Delta-Regel vergleicht den tatsächlichen
Output eines Neurons und den Solloutput. Ziel ist
es, durch mehrfache Anwendung die Netzausgabe in
Richtung der erwarteten Ausgabe zu verschieben.
Solloutput
29
Fragen
Warum kann die Delta-Regel nur auf
FeedForward-Netze mit maximal 2 Neuronenschichten
angewendet werden?
  • Wie verändert sich das Gewicht in den folgenden
    Fällen?
  • Der beobachtete Output ist zu niedrig.
  • Der beobachtete Output ist zu hoch.
  • Der beobachtete Output ist genau richtig.

30
Das (Singlelayer-)Perzeptron
Ein Perzeptron ist ein zweischichtiges, überwacht
lernendes Neuronales FeedForward-Netz.
31
Der Aufbau des Perzeptrons
  • Ein Perzeptron hat folgende Bestandteile
  • Die Retina- eine Neuronenschicht, die nur der
    Datenaufnahme dient und statische Gewichte zur
    nächsten Schicht hat,
  • Die Eingabeschicht- bestehend aus Eingabeneuronen
    die ihren Input als Ausgabe weitergeben
    (sogenannten Identitätsneuronen)
  • Im Lernprozess veränderbare Gewichte zwischen
    Ein- und Ausgabeschicht
  • Die Ausgabeschicht- bestehend aus sog.
    Informationsverarbeitenden Neuronen (d.h. die
    Aktivierungsfunktion ist nicht die Identität)

Retina
Eingabeschicht
Trainierbare Gewichte
Ausgabeschicht
32
Wie lernt ein Perzeptron?
  • Die Aktivierungsfunktion des Perzeptrons ist die
    binäre Schwellwertfunktion
  • Während des Lernprozesses werden alle
    Trainingsvektoren
  • an das Netz
    angelegt, und die Ausgaben mit den erwartetem
    Solloutput verglichen
  • Die Gewichte werden nach der Delta-Regel
    modifiziert.
  • Bewiesen ist das Perzeptron-Konvergenz-Theorem
  • Der Algorithmus konvergiert das Perzeptron
    kann in endlicher Zeit all das lernen, was es
    überhaupt theoretisch abbilden kann.

Schwellenwert
33
Aufgabe 3
  • Das Programm PERCEPT1.C ist ein Perzeptron.
    Öffne das Programm und versuche, es
    nachzuvollziehen.
  • Die Unterprogramme lernen() und ausführen() sind
    unvollständig. Ergänze sie so, dass das Programm
    läuft (siehe Kommentare im Listing).
  • Benutze das fertige Programm
  • Trainiere das Netz für n2 und m1 mit den
    folgenden Daten und lasse dir das Netz anzeigen.
  • Teste das Netz im Ausführmodus.
  • Trainiere das Netz weitere Male mit den gleichen
    Daten, ohne die Gewichte zu ändern und teste es
    danach im Ausführmodus. Was fällt auf?

34
Das XOR-Problem
  • XOR steht für exclusive or und bedeutet soviel
    wie entweder oder
  • Ein Perzeptron kann diese Funktion nicht
    simulieren!

e1 e2 o
0 0 0
1 0 1
0 1 1
1 1 0
0 entspricht falsch, 1 entspricht wahr
35
Beweis
Angenommen, es gibt ein Perzeptron mit den
Gewichten w1 und w2, welches die XOR-Funktion
simuliert. Dann müsste gelten
Widerspruch!
36
Lineare Separierbarkeit
Bei dem Perzeptron (hier Eingabeneuronen i und j,
Ausgabeneuron W) wird von einem Ausgabeneuron der
Wert 1 ausgegeben, wenn gilt
(Für positives wi,W)
37
Lineare Separierbarkeit 2
ei
1
0
0
1
ej
Ein Single-Layer-Perzeptron kann nur linear
separierbare Mengen klassifizieren. (bei n
Eingabeneuronen nur Mengen, die durch eine
(n-1)-dimensionale Hyperebene trennbar sind)
38
Aufgabe 4
Wie sehen die beiden Perzeptrons aus, die die
AND-Funktion (das logische Und) bzw. die
OR-Funktion (das logische Oder) simulieren
können?
39
Mehrschichtige Perzeptrons
  • Die sogenannten Multilayer-Perzeptrons (MLP) mit
    einer oder mehreren verdeckten Schichten können
    das XOR-Problem lösen.
  • Allerdings können MLPs nicht mehr mit der
    einfachen Delta-Regel trainiert werden!

40
Backpropagation (BP)
  • Der Backpropagation-Algorithmus arbeitet mit der
    erweiterten Delta-Regel
  • Zuerst wird die hinterste Gewichtsschicht
    verändert, dann arbeitet sich BP weiter nach vorn

41
Die erweiterte Delta-Regel
  • Die erweiterte Delta-Regel ist auf drei- oder
    mehrschichtige Neuronale FeedForward-Netze
    anwendbar

42
Gradientenabstieg
Der Gradient stellt eine Verallgemeinerung der
Ableitung für Funktionen mehrerer Variablen dar.
Er ist ein Vektor, in dessen Komponenten die
partiellen Ableitungen stehen, der in die
Richtung des steilsten Anstieges zeigt und dessen
Länge ein Maß für die Steilheit (Steigung) ist.
Die Backpropagation ist ein Gradientenabstiegsverf
ahren, das entgegen der Richtung des Gradienten
nach einem Minimum in der Fehlerfunktion sucht.
43
Der BP-Algorithmus
Die folgenden Schritte werden für jedes
Trainingsmuster durchgeführt. Das Ganze wird
wiederholt, bis der Gesamtfehler klein genug oder
die maximal verfügbare Zeit überschritten ist
  1. Ein Trainingsmuster wird angelegt und der Output
    berechnet.
  2. Der Fehler für dieses Muster wird berechnet.
  3. Der Fehler wird von der Ausgabe- zur
    Eingabeschicht zurück propagiert und die Gewichte
    werden, beginnend mit der hintersten Schicht,
    nach der erweiterten Delta-Regel angepasst.

44
Aufgabe 5
Nun geht es darum, ein Multilayer-Perzeptron mit
einer versteckten Schicht zu trainieren. Öffne
hierzu das Programm BACKPROP1.C.
  • Versuche, die Struktur nachzuvollziehen.
  • Trainiere das Netz für n2, q2, m1, t4,
    beta1, lambda0.5, s_max1 und epsilon0.0001
    auf dem XOR-Problem. Lasse es dir danach anzeigen
    und führe es auf den XOR-Eingabevektoren aus.
    Beurteile die Resultate.
  • Wiederhole die obigen Schritte, diesmal aber mit
    s_max10000. Was fällt auf? Wie konnte das
    passieren???

45
Probleme bei der Backpropagation
Mögliche Fehler bei einem Gradientenabstieg a)
Finden schlechter Minima b) Quasi-Stillstand bei
kleinem Gradienten c) Oszillation in
Schluchten d) Verlassen guter Minima
46
Lösungsansatz 1 Der Momentum-Term
Auf Plateaus wird beschleunigt, da der Gradient
dort ständig das gleiche Vorzeichen hat. Auf
zerklüfteten Flächen bremst der Momentum-Term den
Gradientenabstieg, da sich das Vorzeichen der
Gewichtsänderung ständig ändert.
47
Lösungsansatz 2Weight Decay
Bei dieser von der Natur inspirierten Erweiterung
des Fehlers werden zu große Gewichte bestraft
Das Netz hält die Gewichte klein, sodass das
Lernen kontrollierter wird und die Fehlerfunktion
weniger stark schwankt.
48
Anwendungsbeispiel Farbkonstanz
Als Farbkonstanz wird das Phänomen bezeichnet,
dass die Farbe eines Objektes bei
unterschiedlicher Beleuchtung immer gleich
wahrgenommen wird, auch wenn die Wellenlänge des
reflektierten Lichtes variiert.
Diese Erdbeeren werden von uns z.B. als rot statt
eigentlich orange oder violett wahrgenommen.
49
Erklärungsansatz
  • Das menschliche Gehirn bekommt als Eingabe die
    Wellenlängen des vom Objekt reflektierten Lichts
    und des Hintergrundlichts.
  • Vernetzte Neuronen (im visuellen Areal V4 des
    Kortex) verarbeiten diese Informationen.
  • Als Ausgabe liefern die Neuronen dann die
    subjektiv wahrgenommene Farbe, die sich von der
    tatsächlichen unterscheiden kann.

Im Jahre 2004 wurde dieser Prozess im Gehirn mit
Hilfe eines Neuronalen Netzes simuliert.
50
Netzaufbau
  • Input-Schicht Sechs Eingabeneuronen, die in zwei
    Farbkanäle zu
  • je drei Zapfen aufgeteilt sind
  • R-Zapfen für langwelliges (rotes) Licht
  • G-Zapfen für mittelwelliges (grünes) Licht
  • B-Zapfen für kurzwelliges (blaues) Licht
  • Erste Hidden-Schicht Statische Gewichte zur
    Input-Schicht,
  • pro Farbkanal drei Gegenfarbenzellen
  • R-G Aktivierung durch rotes, Hemmung durch
    grünes Licht
  • B-G Aktivierung durch gelbes (Wellenlänge
    zwischen rot und grün), Hemmung durch blaues
    Licht
  • S-W Aktivierung durch weißes Licht (Mischung von
    rot und grün)
  • Zweite Hidden-Schicht Trainierbare Gewichte zur
    vorigen Schicht,
  • Zusammenführung der Farbkanäle
  • Output-Schicht Ebenfalls trainierbare Gewichte,
    Ausgabe soll die
  • subjektiv empfundene Wellenlänge sein

51
Der obere Farbkanal verarbeitet die Wellenlänge
der Hintergrundfarbe, der untere die der
Objektfarbe.
52
Training
  • Das Netz wurde auf Trainingsbeispielen mit 40
    verschiedenen Objektfarben (Hintergrundfarbe
    konstant) und 9 Beleuchtungsarten trainiert.
  • Die erwarteten Outputwerte waren vorgegeben, es
    wurde nach der Backpropagation-Lernregel gelernt.

53
Ergebnisse
  1. Das trainierte Netz zeigte auch bei unbekannten
    Beispielen Farbkonstanz.
  2. Die Lernleistung war bei hoher Farbsättigung
    besser.
  3. Es gab eine große Ähnlichkeit zu der
    Farbwahrnehmung im menschlichen Gehirn.

Neuronale Netze sind ein vielversprechender
Ansatz, der z.B. auch bei der Entwicklung von
Roboteraugen genutzt werden kann. ABER Das
menschliche Gehirn lernt, anders als das hier
verwendete Netz, unüberwacht!
54
Rückgekoppelte (rekurrente) Netze
  • Rückgekoppelte Netze sind dynamisch, sie können,
    müssen aber nicht konvergieren.
  • Konvergiert das Netz nicht, können Periodika oder
    Attraktoren auftreten.

55
Jordannetze
Ein Jordannetz ist aufgebaut wie ein
Multilayer-Perzeptron, hat jedoch für die
Neuronen der Ausgabeschicht zusätzliche
Kontextneuronen k1,..,kk, die einen Output des
Netzes zwischenspeichern (puffern) und im
nächsten Zeitschritt wieder ins Netz einbringen
Kontextneuron
56
Radiale Basisfunktionennetze
  • RBF-Netze sind dreischichtige FeedForward-Netze,
    deren Schichten vollständig miteinander verknüpft
    sind
  • Sie dienen wie die MLPs als Funktionsapproximatore
    n, d.h. sie können eine unbekannte Funktion nach
    dem Training simulieren

57
Der Aufbau von RBF-Netzen
Ein RBF-Netz besteht aus
  • Eingabeneuronen, diese sind wie beim Perzeptron
    Identitätsneuronen
  • Ungewichteten Verbindungen zwischen Eingabe- und
    versteckter Schicht
  • Informationsverarbeitenden Neuronen in der
    versteckten Schicht, sog. RBF-Neuronen h1,...,hk
    mit Zentren c1,...,ck
  • Einer zu trainierenden Gewichtsschicht
  • Einer Schicht Ausgabe-neuronen W1,...,Wk, die als
    Inputfunktion die gewichtete Summe haben und
    diese identisch ausgeben

58
Das RBF-Neuron
Beim RBF-Neuron verwendet man den Euklidischen
Abstand zwischen dem Eingabevektor e und dem
Zentrum ch des RBF-Neurons h als
Propagierungsfunktion
59
Das RBF-Neuron 2
Dieser Abstand wird dann durch die
Aktivierungsfunktion des RBF-Neurons, eine
Gauß-Funktion, geschickt
60
Das Training von RBF-Netzen
Es wird die Delta-Regel angewendet (wobei keine
Backpropagation nötig ist, da nur eine
Gewichtsschicht trainiert wird).
61
Die Funktionsapproximation
62
Die Funktionsapproximation
Trainierte RBF-Netze können durch das
Aufsummieren von Gaußglocken eine Funktion
annähern und simulieren.
63
Vergleich RBF-Netze und MLPs
Ob ein Problem einfacher von einem RBF-Netz oder
von einem MLP, das mit Backpropagation trainiert
wird, gelöst werden kann, hängt von den zu
klassifizierenden Clustern ab
Klassifikation durch ein Radiales
Basisfunktionennetz
Klassifikation durch ein Multilayer-Perzeptron
64
Hopfieldnetze
Hopfieldnetze sind unüberwacht lernende Neuronale
Netze, die zur Mustererkennung eingesetzt
werden. Sie sind physikalisch motiviert
  • Elementarmagnete (Neuronen) beeinflussen sich
    gegenseitig
  • Sie drehen sich dabei auf der Suche nach dem
    energetisch günstigsten Zustand (Minimum der
    Energiefunktion)
  • Es werden zwei Drehwinkel, sog. Spins zugelassen

65
Der Aufbau eines Hopfieldnetzes
  • Ein Hopfieldnetz besteht aus einer Menge K von
    Neuronen, die untereinander vollverknüpft sind.
    Es gibt keine Aufteilung in Neuronen-schichten!
  • Die Aktivierungsfunktion der Neuronen ist die
    binäre Schwellenwertfunktion mit den Ausgaben 1
    oder -1.
  • Die Verbindungen zwischen den Neuronen sind
    symmetrisch gewichtet, es gilt also wi,jwj,i .
  • Der Zustand des Netzes ist die Gesamtheit der
    Aktivierungen aller Neuronen er wird als Vektor
    (Binärstring) geschrieben

Ein Hopfieldnetz
Die binäre Schwellenwertfunktion
66
Wie arbeitet ein Hopfieldnetz?
  • Die Initialisierung aller Neuronen durch einen
    Vektor wird als Eingabe in das
    Netz bezeichnet.
  • Das Hopfieldnetz konvergiert immer (bewiesen).
  • Wenn das Netz seinen Zustand nicht mehr ändert,
    ist der neue Netzzustand die
    Ausgabe des Netzes

67
Zustandwechsel der Neuronen
In jedem Zeitschritt wird zufällig das Neuron
ausgewählt, das als nächstes seinen Zustand
ändern soll. Der neue Zustand eines Neurons i
wird wie folgt berechnet
Binäre Schwellenwertfunktion
68
Frage
Welchen Einfluss hat das Vorzeichen des Gewichtes
wi,j auf den Aktivierungszustand des Neurons i ,
abhängig vom Aktivierungszustand des Neurons j ?
69
Das Training von Hopfieldnetzen
  • Das Netz wird mit jedem Trainingsmuster
    genau einmal initialisiert
  • Sind zwei Neuronen i,j in dem gleichen Zustand,
    so wird 1 zu dem Gewicht wi,j addiert,
    andernfalls wird 1 subtrahiert. Die Lernregel
    lautet also

Ein hohes positives Gewicht bedeutet soviel wie
In den Trainingsdaten haben Neuron i und j oft
den gleichen Zustand.
Leider kann ein Hopfieldnetz auf diese Art nur
begrenzt viele Muster speichern, es gilt
70
Frage
  • Wie viele Neuronen braucht man etwa, um 10
    Trainingsmuster in einem Hopfieldnetz
    abzuspeichern?
  • Was könnte passieren, wenn die Anzahl der maximal
    speicherbaren Trainingsmuster überschritten wird?

71
Hopfieldnetze als Autoassoziatoren
  • Ein Autoassoziator a hat
  • folgende Eigenschaften
  • Bei Eingabe eines bekannten Musters wird genau
    dieses wieder ausgegeben
  • Auch bei verrauschten Daten, die nahe an einem
    bekannten Muster liegen, erzeugt das Netz die
    gleiche Ausgabe

Trainingsbeispiele mit je 10x12 binären Pixeln
Konvergenz des Netzes bei Eingabe einer stark
verrauschten 3
72
Aufgabe 6
Berechne die Gewichte wi,j für ein Hopfieldnetz
mit 6 Neuronen unter Verwendung der folgenden
Trainingsmenge
Trage die Gewichte in eine solche Tabelle (also
eine Matrix) ein
1 2 3 4 5 6
1 0
2 0
3 0
4 0
5 0
6 0
73
Self Organizing Maps (SOMs)
SOMs, auch Kohonenkarten genannt (nach Teuvo
Kohonen), sind unüberwacht lernende Neuronale
Netze, die biologische Eigenschaften des Gehirns
realisieren
  • Das Gehirn reagiert auf Reize (Inputs) mit
    Zustandsänderungen.
  • Es interessiert oft nicht, wie stark ein Neuron
    feuert, sondern lediglich welches Neuron aktiv
    ist.
  • Bei ähnlichen Reizen werden Neuronen benachbarter
    Regionen aktiviert.
  • Hochdimensionale Eingabewerte müssen auf weniger
    Dimensionen abgebildet werden.

74
Das Konzept der selbstorganisiernden Karten
SOMs arbeiten in zwei Datenräumen
  • Dem N-dimensionalen Eingaberaum
  • und dem G-dimensionalen Gitter, auf dem die
    Neuronen liegen.

Ziel ist es, den höherdimensionalen Eingaberaum
auf Bereiche in dem Gitter abzubilden, man sagt
auch eine Karte von ihm zu zeichnen. Dazu
erhält die SOM Punkte aus dem Eingaberaum und
versucht, diese Punkte abzudecken, indem jedem
Neuron ein Bereich aus dem Eingaberaum zugeordnet
wird.
75
Der Aufbau von SOMs
  • Eine SOM besteht aus einer Menge von Neuronen
    k1,,kk
  • Jedes SOM-Neuron hat ein Zentrum ck im
    Eingaberaum, das beim Training angepasst wird
  • Diese Neuronen haben untereinander
    Nachbarschafts-beziehungen, die durch sogenannte
    Topologiefunktionen definiert sind.

Beispieltopologien
76
Die Arbeitsweise einer SOM
Eine fertig trainierte SOM arbeitet in diesen
Schritten
  1. Eingabe eines beliebigen Wertes x aus dem
    Eingaberaum
  2. Abstandsberechnung von jedem Neuron k zu x
  3. Aktivierung des Neurons i (Gewinnerneuron) mit
    dem geringsten Abstand (auch Winner-takes-all-Sche
    ma genannt)


!
!
Die Ausgabe, die uns interessiert ist nicht, wie
hoch die Aktivierung dieses Neurons ist, sondern
nur welches Neuron aktiv ist
77
Das Training von SOMs
  • Initialisierung Die Neuronenzentren
  • werden zufällig gewählt
  • Anlegen eines Eingangsmusters Ein Punkt aus dem
    Eingaberaum wird in das Netz eingegeben
  • Abstandsmessung Es wird für jedes Neuron k der
    Abstand bestimmt.
  • Winner-takes-all Das Gewinnerneuron i wird
    ermittelt, für das gilt
  • Adaption der Zentren Die Zentren werden nach der
    SOM-Lernregel angepasst

p
Ein eindimensionales Gitter (rechts dargestellt)
in einem zweidimensionalen Eingaberaum Die
Zentren des Gewinnerneurons 3 und seiner Nachbarn
2 und 4 werden in Richtung der Eingabe p
verschoben.
78
Beispielhaftes Verhalten einer SOM mit
eindimensionaler Topologie und zweidimensionalem
Eingaberaum
0 Eingabemuster
100 Eingabemuster
500 Eingabemuster
300 Eingabemuster
79
5000 Eingabemuster
50000 Eingabemuster
80000 Eingabemuster
70000 Eingabemuster
80
Reinforcement Learning
Beim Reinforcement Learning (bestärkenden Lernen)
handelt es sich um einen Mittelweg zwischen
überwachtem und unüberwachtem Lernen.
  • Die Idee
  • Ein Agent wechselwirkt mit einem Umweltsystem,
    das ihm positive oder negative Rückmeldungen
    (Rewards) liefert
  • Ziel Das Finden einer Strategie (Policy), die zu
    jeder Situation die Summe der erwarteten
    zukünftigen Rewards maximiert.
  • Lernen durch Ausprobieren
  • und durch Zuckerbrot und Peitsche

81
Ein Beispiel
  • Agent sich in vier mögliche Richtungen im Gitter
    bewegender Punkt
  • Umweltsystem diskrete Gitterwelt (Gridworld) mit
    5x7 Feldern
  • Die dunklen Felder sind nicht begehbar.
  • Das blaue Feld ist eine Tür, die zufällig
    entweder offen oder geschlossen ist das System
    ist nicht deterministisch.
  • Zustände/ Situationen die 30 (bzw. bei
    geschlossener Tür 29) Felder, die der Agent
    belegen kann
  • Aktionen Der Agent geht je ein Feld nach oben,
    unten, rechts oder links.
  • Ziel Der Agent erreicht den Ausgang (hellblau).

82
Standard-Reward-Vergaben
  • Pure Delayed Reward Die Belohnung wird erst am
    Schluss vergeben
  • Pure Negative Reward Je schneller, desto
    besser, jede Aktion wird bestraft
  • Avoidance Strategy Schädlichen Situationen wird
    ausgewichen

83
Frage
Welche Arten der Reward-Vergabe sind für die
folgenden Aufgaben am besten geeignet?
  1. Der Agent soll in der Gitterwelt möglichst
    schnell aus einem Labyrinth herausfinden.
  2. Der Agent soll ein Spiel, beispielsweise Tic Tac
    Toe, erlernen.
  3. Der Agent soll in der Gitterwelt den Hindernissen
    ausweichen.

84
Der Return
Die aufsummierten Rewards werden als Return Rt
bezeichnet.
Bei unendlich langen Folgen werden weit in der
Zukunft liegende Rewards schwächer gewichtet
Der optimale Return in der Beispiel-Gridworld
(unter Verwendung des pure negative Rewards)
85
Die optimale Policy
  • Die optimale Policy soll den Return langfristig
    maximieren.
  • Um zu einer optimalen Policy zu gelangen, muss
    der Agent seine Situation und seine Aktionen
    beurteilen können.
  • Es gibt daher
  • die State-Value-Funktion zur Situationsbewertung
  • und die Action-Value-Funktion zur
    Aktionsbewertung.

86
Die State-Value-Funktion
  • Die State-Value-Funktion bewertet eine
  • Situation, indem sie den Erwartungswert
  • des Returns liefert.

87
Einfaches Beispiel
Tür auf
Tür öffnet mit Wahrscheinlichkeit 1/2
88
Die Action-Value-Funktion
  • Die Action-Value-Funktion bewertet eine bestimmte
    Aktion unter einer bestimmten Situation.

Beispielhafte Action-Value-Werte in unserer
Gridworld
89
und was hat Reinforcement Learning mit
Neuronalen Netzen zu tun?
  • Die State-Value-Funktion und die
    Action-Value-Funktion sind oft so komplex (bei
    einem Backgammon-Spiel 1020 mögliche
    Situationen), dass sie angenähert werden müssen
  • Zur Approximation dieser Funktionen werden
    überwacht lernende Neuronale Netze- also MLPs
    oder RBF-Netze- eingesetzt

90
Java-Applets
Auf dieser Seite findet ihr Programme von
Informatik-Studenten der Universität Bonn zu den
verschiedenen Arten künstlicher Neuronaler
Netze http//www.nero.uni-bonn.de/course/coursefr
ame.html Viel Spaß beim Ausprobieren!
Wenn das Gehirn so einfach wäre, dass wir es
verstehen könnten, wären wir zu dumm, um es zu
begreifen. (Jostein Gaarder)
Write a Comment
User Comments (0)
About PowerShow.com