Neuronale Netze - Universität zu Köln

Werbung
Neuronale Netze
Von Deasy Sukarya & Tania Bellini
Universität zu Köln
Seminar: Künstliche Intelligenz II
Dozent: Claes Neuefeind
SS 2012
Einführung
2
 Symbolische vs. Sub-symbolische KI
 Symbolische KI: Fokussierung auf Logik und
Wissensdatenbanken
 Sub-symbolische KI: Fokussierung auf
unbewusstes Verhalten und das Lernen
Modellierung durch Neuronale Netze
Gliederung
3




Exkurs: Das Biologische Vorbild
Computer vs. menschliches Gehirn
Geschichte
Das Künstliche Neuronale Netz
 Eigenschaften
 Grundlagen
 Lernregeln
 Netztypen
 Für welche Probleme ist das neuronale Netz nicht geeignet ?
 Anwendungsbereich: Autismus (Kohonen-Netz)
 Praxis: Hopfield-Netz – Programmierung in Java
 Heute – Human-Brain-Project
Exkurs: Das Biologische Vorbild
4
 http://www.youtube.com/watch?v=FR4S1BqdFG4&feature
=related
Exkurs: Das Biologische Vorbild
5
 Konnektionismus (neuronale Netze)
 Aufbau einer Nervenzelle
 Gehirn (Zentralnervensystem, Gehirnlappen, Felder,
Sprachzentren und sprachrelevante Hirnregionen)
 Gedächtnis
Exkurs: Das Biologische Vorbild
6
Exkurs: Das Biologische Vorbild
7
Exkurs: Das Biologische Vorbild
8
Exkurs: Das Biologische Vorbild
9
Exkurs: Das Biologische Vorbild
10
Exkurs: Das Biologische Vorbild
11
Computer vs. menschliches Gehirn
12
 Computermetapher
 Menschlicher Geist  Gehirn
 Software vs. Hardware
 Funktionalistischer Ansatz
Computer vs. menschliches Gehirn
13
Geschichte
14
 1943: McCulloch und Walter Pitts  neuronale







Netzwerke
1949: Donald O. Hebb  Hebb´sche Regel
1951: Marvin Minsky  Neurocomputer
1969: Marvin Minsky und Seymour Papert  Perzeptron
1972: Teuvo Kohonen  Assoziativspeicher
1973: Christoph von der Malsburg  nichtlineares
Neuronenmodell
1974: Paul Werbos  Backpropagation- Verfahren
1982: John Hopfield  Hopfield- Netze
Geschichte
15
 1943: McCulloch und Walter Pitts  neuronale
Netzwerke
Geschichte
16
 1949: Donald O. Hebb  Hebb´sche Regel
Geschichte
17
 1951: Marvin Minsky  Neurocomputer
Geschichte
18
 1951: Marvin Minsky  Neurocomputer
Geschichte
19
 1969: Marvin Minsky und Seymour Papert 
Perzeptron
Geschichte
20
 1972: Teuvo Kohonen  Assoziativspeicher
Geschichte
21
 1973: Christoph von der Malsburg  nichtlineares
Neuronenmodell
Geschichte
22
 1974: Paul Werbos  Backpropagation- Verfahren
Geschichte
23
 1982: John Hopfield  Hopfield- Netze
Eigenschaften neuronaler Netze
24
 Parallelverarbeitung
 Lernfähigkeit
 Generalisierung
 Fehlertoleranz
Das künstliche neuronale Netz
Grundlagen
25
 Bestandteile des neuronalen Netzes
 Units (Oder: Knoten / Neuronen / Einheiten)
 Verbindungen zw. Units - Kanten /Links
 Arten von Units
Input-Units: Erhalten Infos in Form von Zahlen von der
Außenwelt
Hidden-Units: Befinden sich zw. Input und Output Schicht
Output-Units: Signale werden hier an die Außenwelt
weitergeleitet
Das künstliche neuronale Netz
Grundlagen
26
Das künstliche neuronale Netz
Grundlagen
27
Kanten
 Stärke der Verbindung zw. 2 Neuronen  Gewicht
 Wichtig: Je größer der Absolutbetrag des Gewichts umso größer ist der
Einfluss einer Unit auf die andere
Gewichtsarten
 Positives Gewicht: Eine Unit übt auf eine andere Unit einen erregenden
Einfluss aus
 Negatives Gewicht: Beeinflussung ist hemmend
 Gewicht von null: Kein Einfluss
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
28
Input
Input
Input
N
e
t
z
i
n
p
u
t
A
k
t
i
v
i
t
ä
t
s
l
e
v
e
l
O
u
t
p
u
t
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
29
1.
Berechnung der Inputwerte
inputij = aj wij
 Inputwert wird berechnet aus dem Outputwert der
sendenden Unit mal dem Gewicht zw. beiden Units
2.
Bildung eines Netzinputs
 Summe aller oben berechneten Inputwerte
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
30
3.
Zuordnung des Netzinputs zu einem Aktivitätslevel
Lineare Aktivierungsfunktion: Netzinput = Aktivitätslevel
Binäre Schwellenwertfunktion: Falls Netzinput > 0, dann 1
ansonsten 0
Fermi-Funktion (logistische Funktion): Wertebereich von 0 bis
+1 begrenzt
Tangens hyperbolicus: Wertebereich zw. -1 und +1
Lineare Aktivierungsfunktion
Schwellenwertfunktion
Fermi-Funktion
Tangens hyperbolicus
31
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
32
4.
Erzeugung eines Outputs

Aus Aktivitätslevel wird mit der Outputfunktion die Ausgabe
berechnet

Meistens Identitätsfunktion  Aktivitätslevel = Output

Für binäre Ausgabe: Schwellenwertfunktion
Das künstliche neuronale Netz
Grundlagen – Trainingsphase
33

Supervised learning: Korrekter Output zu Input wird
vorgegeben

Reinforcement learning: Angabe, ob die Ausgabe richtig oder
falsch war

Unsupervised learning: Kein Output vorgegeben, das Netz
orientiert sich an der Ähnlichkeit der eingegebenen inputwerte
und modifiziert die Gewichte von selbst
Das künstliche neuronale Netz
Grundlagen – Testphase
34

Überprüft, ob das Netz was gelernt hat

Dazu werden neue Inputs präsentiert, um anschließend zu
schauen, welchen Output das netz berechnet hat
Das künstliche neuronale Netz
Lernregeln
35
 Hebb- Regel  Veränderung des Gewichts zwischen
zwei Einheiten, wenn beide Units gleichzeitig aktiv sind.
 Delta- Regel  Vergleich zwischen dem gewünschten
und dem tatsächlichen Output.
 Backpropagation  Modifizierung der Gewichte zu den
Hidden- Units.
 Competitive Learning  unsupervised
Das künstliche neuronale Netz
Lernregeln - Zusammenfassung
Hebb-Regel
Kernkonzept
Art der Lernregel
Biologische
Plausibilität?
Netztypen, die auf
diese Lernregel
zurückgreifen (u.a.)
Vorteile
Nachteile
Delta-Regel
Backpropagation
Competitive Learning
Gleichzeitige Aktivierung
Vergleich: gewünscht vs.
Backward-pass
beobachtet;
"The winner takes it all."
Als supervised,
unsupervised und
reinforcement learning
möglich
Supervised learning
Supervised learning
Unsupervised learning
Teilweise
Eher nicht
Eher nicht
Teilweise
Kompetitive Netze;
Pattern Associator; Auto Pattern Associator; Auto Simple Recurrent
konzeptuell auch in
Associator
Associator
Networks, Jordan Netze
Kohonennetzen
Auch bei Netzen mit
Hidden-Units einsetzbar;
Einfachheit, biologische Einfachheit, relativ leicht
Unsupervised learning;
größere Mächtigkeit im
Plausibilität
zu implementieren
biologische Plausibilität
Ver-gleich zur DeltaRegel
In der "klassischen"
Form: Überlaufen der
Werte der Gewichte und
geringe Mächtigkeit des
Systems
Nicht bei Netzen mit
Hidden-Units einsetzbar;
Fragwürdige biologische
fragwürdige bio-logische
Plausibilität; lokale
Plausibilität; geringe
Minima
Mächtigkeit des
Systems
36
Tabelle von Rey, Günter: Neuronale Netze (2008)
Einzelne Output-Unit
kann alle Inputmuster
"an sich reißen" -->
keine Kategorisierung
mehr
Das künstliche neuronale Netz
Netztypen – FeedForward-Netze
37
 Vorwärtsgerichtete Verbindungen zu
anderen Schichten z.B.
Kohonennetze, Patternassociator
Das künstliche neuronale Netz
Netztypen - FeedBack-Netze
38
 Direkte Rückkopplungen
 Indirekte Rückkopplungen
 Seitliche Rückkopplungen
Das künstliche neuronale Netz
Netztypen – Pattern Associator
39
 Erkennt Muster z.B Gesichter
 Lernt Assoziationen zw.
verschiedenen Reizpaaren zu
bilden
 Keine Hidden-Units
 Trainingsphase mit der HebbRegel oder Delta-Regel
 Art der Lernregel: Supervised
learning
Das künstliche neuronale Netz
Netztypen – Simple Recurrent Networks
40
 Kontext-Einheiten fungieren als
Zwischenspeicher
 Enthalten indirekt Teilinfos aus
den vorangegangenen
Zeitpunkten
Anwendungsbereich: Prognosen,
Simulation des menschl.
Verhalten o. ä.
Trainingsphase:
Backpropagation-Algorithmus
 Art der Lernregel: Supervised
learning
Das künstliche neuronale Netz
Netztypen – Kompetitive Netze
41
 Trainingsphase in 3 Schritten
1. Erregung
2. Wettbewerb
3. Gewichtsmodifikation
 Anwendungen: u.a.
Musterklassifikation
 Trainingsphase: Competitive
learning
 Art der Lernregel: Unsupervised
learning
Das künstliche neuronale Netz
Netztypen - Zusammenfassung
Pattern Associator
Rekurrente Netze
Kompetitive Netze
Kernkonzept
Assoziationen zwischen
verschiedenen
Reizpaaren bilden
Rückkopplungen zu
derselben oder einer
vorherigen Schicht
1. Erregung
2. Wettbewerb
3. Gewichtsmodifikation
Lernregel
Hebb-Regel; Delta-Regel
Backpropagation
Competitive Learning
Rückkopplungen?
Nein
Ja
Nein
Hidden-Units?
Nein
Können vorhanden sein
Können vorhanden sein
Art der Lernregel?
Supervised learning
Supervised learning
Unsupervised learning
Vorteile
Einfachheit
Entdeckung zeitlich
codierter Informationen
Biologische Plausibilität
Nachteile
Keine Hidden-Units -->
biologisch eher
unplausibel
"Überlaufen" der Aktivität
"Erstarken" einzelner
Output-Units verhindert
"sinnvolle"
Kategorisierung
42
Tabelle von Rey, Günter: Neuronale Netze (2008)
Für welche Probleme sind neuronale Netze nicht
geeignet?
43
 Keine Änderung der Programmlogik
 Probleme, die den genauen Lösungsweg zeigen
sollen
 Probleme, die man als Flussdiagramm darstellen
kann
 Neuronale Netze sind sehr langsame Lerner!
Anwendungsbereich
Autismus
44
 Film „Rain Man“  Autist
 Symptome von Autismus  Einsamkeit,
 Kommunikationsdefizite, rituelle Handlungen
 Kohonennetze  „unsupervised learning“
 Netzaufbau  Gustafsson und Paplinski(2004)
 Fazit  Guter Ansatz der Simulation mit Hilfe
 neuronaler Netze für die Erforschung
 autistischer Symptome?
Anwendungsbereich
Autismus - Kohonennetz
45
Praxis: Hopfield-Netz – Programmierung in Java
46
 Klasse: Feedback-Netz
 Mit allen Neuronen
verbunden, außer mit sich
selbst
 Lernregel: Hebb-Regel
 Anwendungen:
Mustererkennung &
Wiedergabe
Praxis: Hopfield-Netz – Programmierung in Java
Ausgangslage
47
 4 Neuronen
 Geringfügige Änderungen am trainierten Muster
müssen trotzdem das trainierte Muster
wiedergeben
 Für Java-Programm: Muster aus boolean-Werten
 Input und Output: boolean
Praxis: Hopfield-Netz – Programmierung in Java
Klassen
48
HopfieldNetwork
In der Klasse werden die Hauptaufgaben durchgeführt,
d. h . das Präsentieren und Trainieren der Werte
ConsoleHopfield
Diese Klasse ist die konkrete Anwendung
(Konsolenanwendung) des Netzwerks und benutzt die
Methoden der Klasse HopfieldNetwork
Matrix
Die Klasse konstruiert die Gewichtsmatrix .
MatrixMath
Mit der MatrixMath Klasse können mathematische
Operationen durchgeführt werden mit 2 oder mehr
Matrizen
Wandelt die boolean-Werte für die Berechnung in bipolare
Werte um d. h. true = 1 und false = -1
BiPolarUtil
Praxis: Hopfield-Netz – Programmierung in Java
Quellcode
49
 http://www.heatonresearch.com/dload/IntroNeuralJava
ExampesEdition2.zip
 In beliebige Java IDE (z.B. Eclipse oder NetBeans)
importieren
Packages:
[…].ch3.console
[…].neural.hopfield
[…].neural.matrix
Heute
Human-Brain-Projekt
50
 Arbeit an künstliche Version des Gehirns
 Modellierung des Gehirns
 Blue- Brain- Project: Modellierung eines
Rattenhirns
Heute
Human-Brain-Projekt
51
www.spiegel.de/wissenschaft/mensch/
Heute
Human-Brain-Projekt
52
Heute
Human-Brain-Projekt
53
Heute
Human-Brain-Projekt
54
Heute
Human-Brain-Projekt
55
Quellen
56
 Jeff Heaton: An Introduction to Neural Networks with Java. 2nd
edition. Heaton Research, 2008.
 www.heatonresearch.com
 Vorlesung: Kognitionslinguistik (2011)
 Günter D. Rey/Karl F. Wender, Neuronale Netze. Eine
Einführung in die Grundlagen, Anwendungen und
Datenauswertung. Huber Verlag, 2008.
 Georg Dorffner: Konnektionismus. Teubner, Stuttgart 1991
 Detlef P. Zaun: Künstliche neuronale Netze und
Computerlinguistik. Niemeyer Verlag, 1999.
 http://cs.unimuenster.de/Studieren/Scripten/Lippe/wwwnnscript/ge.html
 http://www.spiegel.de/wissenschaft/mensch/0,1518,761995,00.h
tml
 http://www.youtube.com/watch?v=FR4S1BqdFG4&feature=relat
ed
Herunterladen