Von Deasy Sukarya & Tania Bellini
Neuronale Netze
Universität zu Köln
Seminar: Künstliche Intelligenz II
Dozent: Claes Neuefeind
SS 2012
Einführung
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
2
Gliederung
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
3
Exkurs: Das Biologische Vorbild
http://www.youtube.com/watch?v=FR4S1BqdFG4&feature=related
4
Exkurs: Das Biologische Vorbild
Konnektionismus (neuronale Netze)
Aufbau einer Nervenzelle
Gehirn (Zentralnervensystem, Gehirnlappen, Felder,
Sprachzentren und sprachrelevante Hirnregionen)
Gedächtnis
5
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
Computermetapher
Menschlicher Geist Gehirn
Software vs. Hardware
Funktionalistischer Ansatz
12
Computer vs. menschliches Gehirn 13
Geschichte
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
14
Geschichte
1943: McCulloch und Walter Pitts neuronale
Netzwerke
15
Geschichte
1949: Donald O. Hebb Hebb´sche Regel
16
Geschichte
1951: Marvin Minsky Neurocomputer
17
Geschichte
1951: Marvin Minsky Neurocomputer
18
Geschichte
1969: Marvin Minsky und Seymour Papert
Perzeptron
19
Geschichte
1972: Teuvo Kohonen Assoziativspeicher
20
Geschichte
1973: Christoph von der Malsburg nichtlineares
Neuronenmodell
21
Geschichte
1974: Paul Werbos Backpropagation- Verfahren
22
Geschichte
1982: John Hopfield Hopfield- Netze
23
Eigenschaften neuronaler Netze
Parallelverarbeitung
Lernfähigkeit
Generalisierung
Fehlertoleranz
24
Das künstliche neuronale Netz
Grundlagen
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
25
Das künstliche neuronale Netz
Grundlagen
26
Das künstliche neuronale Netz
Grundlagen
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
27
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
N
e
t
z
i
n
p
u
t
A
k
t
i
v
i
t
ä
t
s
l
e
v
e
l
Input
Input
Input
O
u
t
p
u
t
28
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
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
29
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
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
30
Lineare Aktivierungsfunktion Schwellenwertfunktion
Fermi-Funktion Tangens hyperbolicus 31
Das künstliche neuronale Netz
Grundlagen – Funktionsweise der Units
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
32
Das künstliche neuronale Netz
Grundlagen – Trainingsphase
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
33
Das künstliche neuronale Netz
Grundlagen – Testphase
Ü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
34
Das künstliche neuronale Netz
Lernregeln
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
35
Das künstliche neuronale Netz
Lernregeln - Zusammenfassung Hebb-Regel Delta-Regel Backpropagation Competitive Learning
Kernkonzept Gleichzeitige Aktivierung Vergleich: gewünscht vs.
beobachtet; Backward-pass "The winner takes it all."
Art der Lernregel
Als supervised,
unsupervised und
reinforcement learning
möglich
Supervised learning Supervised learning Unsupervised learning
Biologische
Plausibilität? Teilweise Eher nicht Eher nicht Teilweise
Netztypen, die auf
diese Lernregel
zurückgreifen (u.a.)
Pattern Associator; Auto
Associator
Pattern Associator; Auto
Associator
Simple Recurrent
Networks, Jordan Netze
Kompetitive Netze;
konzeptuell auch in
Kohonennetzen
Vorteile Einfachheit, biologische
Plausibilität
Einfachheit, relativ leicht
zu implementieren
Auch bei Netzen mit
Hidden-Units einsetzbar;
größere Mächtigkeit im
Ver-gleich zur Delta-
Regel
Unsupervised learning;
biologische Plausibilität
Nachteile
In der "klassischen"
Form: Überlaufen der
Werte der Gewichte und
geringe Mächtigkeit des
Systems
Nicht bei Netzen mit
Hidden-Units einsetzbar;
fragwürdige bio-logische
Plausibilität; geringe
Mächtigkeit des
Systems
Fragwürdige biologische
Plausibilität; lokale
Minima
Einzelne Output-Unit
kann alle Inputmuster
"an sich reißen" -->
keine Kategorisierung
mehr
Tabelle von Rey, Günter: Neuronale Netze (2008) 36
Das künstliche neuronale Netz
Netztypen – FeedForward-Netze
Vorwärtsgerichtete Verbindungen zu
anderen Schichten z.B.
Kohonennetze, Patternassociator
37
Das künstliche neuronale Netz
Netztypen - FeedBack-Netze
Direkte Rückkopplungen
Indirekte Rückkopplungen
Seitliche Rückkopplungen
38
Das künstliche neuronale Netz
Netztypen – Pattern Associator
Erkennt Muster z.B Gesichter
Lernt Assoziationen zw.
verschiedenen Reizpaaren zu
bilden
Keine Hidden-Units
Trainingsphase mit der Hebb-
Regel oder Delta-Regel
Art der Lernregel: Supervised
learning
39
Das künstliche neuronale Netz
Netztypen – Simple Recurrent Networks
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
40
Das künstliche neuronale Netz
Netztypen – Kompetitive Netze
Trainingsphase in 3 Schritten
1. Erregung
2. Wettbewerb
3. Gewichtsmodifikation
Anwendungen: u.a.
Musterklassifikation
Trainingsphase: Competitive
learning
Art der Lernregel: Unsupervised
learning
41
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
Tabelle von Rey, Günter: Neuronale Netze (2008) 42
Für welche Probleme sind neuronale Netze nicht
geeignet?
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!
43
Anwendungsbereich
Autismus
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?
44
Anwendungsbereich
Autismus - Kohonennetz
45
Praxis: Hopfield-Netz – Programmierung in Java
Klasse: Feedback-Netz
Mit allen Neuronen
verbunden, außer mit sich
selbst
Lernregel: Hebb-Regel
Anwendungen:
Mustererkennung &
Wiedergabe
46
Praxis: Hopfield-Netz – Programmierung in Java
Ausgangslage
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
47
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
BiPolarUtil Wandelt die boolean-Werte für die Berechnung in bipolare
Werte um d. h. true = 1 und false = -1
Praxis: Hopfield-Netz – Programmierung in Java
Quellcode
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
49
Heute
Human-Brain-Projekt
Arbeit an künstliche Version des Gehirns
Modellierung des Gehirns
Blue- Brain- Project: Modellierung eines
Rattenhirns
50
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
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.uni-
muenster.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
56