Künstliche Neuronale Netze Überblick 1

Werbung
10 Künstliche Neuronale Netze
Künstliche Neuronale Netze
Inhalt:
QuickTime™ and a
decompressor
are needed to see this picture.
•
Einführung
•
Aufbau künstlicher Neuronaler Netze
•
Arbeitsweise eines künstlichen Neurons
•
Aktivierungsfunktionen
•
Perzeptron
•
Elementare Boolesche Funktionen
•
Lernen in künstlichen Neuronalen Netzen
•
Lernen im Perzeptron
•
Delta-Regel
•
Backpropagation Lernregel
•
Verwendungsweise Neuronaler Netze
•
Beispiele weiterer Neuronaler Netze
•
Historie und Zukunft Neuronaler Netze
•
Literatur
Was sind künstliche Neuronale Netze
• Der Begriff künstliche Neuronale Netze steht für
mathematische Modelle, die sich an der
Informationsverarbeitung des Gehirns orientieren
• Neuronale Netze bestehen aus vielen kleinen
Verarbeitungseinheiten, den Neuronen, die miteinander
verbunden sind und die Fähigkeit zum Lernen besitzen.
• Neuronale Netze speichern das Wissen verteilt in sogenannten
Verbindungsgewichten
• Neuronale Netze verarbeiten Information subsymbolisch
Vorteile von künstlichen Neuronalen Netzen
Neuronale Netze erweisen sich insbesondere dann als vorteilhaft:
• wenn es a priori schwierig oder nicht praktikabel erscheint,
konkrete Annahmen über einen möglichen nichtlinearen
Zusammenhang von mehreren Variablen zu formulieren
• wenn eine genaue Kenntnis der Wirkungszusammenhänge
zweitrangig ist und es vorrangig auf eine möglichst präzise
funktionale Approximation der Zusammenhänge ankommt.
• wenn Beispiele zum Lernen vorhanden sind.
Computational Neuroscience / Neurokognition
•
•
•
Künstliche Neuronale Netze sind nochmals zu unterscheiden von
Ansätzen, die kognitive Prozesse des Gehirns oder das Verhalten
bestimmter Neurone im Detail untersuchen.
Künstliche Neuronale Netze haben zwar ein biologisches Vorbild,
versuchen aber nicht das Gehirn zu erklären oder nachzuimplementieren.
Forschungsdisziplinen wie Computational Neuroscience oder
Neurokognition sind eng an den Daten der Neurowissenschaften
orientiert, während künstliche Neuronale Netze nur die Konzepte
übernehmen und anwenden.
Schematischer Aufbau eines Neurons
Axon von einem
anderen Neuron
Synapse
Zellkörper
oder Soma
Synapsen
Dendriten
Axonale
Verzweigung
Zellkern
Axon
Arbeitsweise eines Neurons
Feuern, wenn das Integrationsergebnis
den Schwellenwert überschreitet
Kriterium zur Entscheidung
über Ausgabe (Schwellenwert)
Membranpotenzial
als Ergebnis der
Integration
Integration der
Eingaben, realisiert
durch Dendriten
Gewichtete Eingaben
(synaptische Wirksamkeit,
synaptische Stärke)
Entdeckung von Aktivitätsmustern
in den Eingaben
Aufbau künstlicher Neuronaler Netze
Einheiten
Gewichtete Kanten,
die Gewichte sind
veränderlich
Eingaben
Ausgaben
n
m
Verarbeitungsrichtung
Prinzipiell können die Neuronen beliebig untereinander verbunden sein. Oft
werden Neuronale Netze allerdings in Schichten organisiert, wobei die Schichten
hierarchisch angeordnet sind.
Aufbau künstlicher Neuronaler Netze
Arbeitsweise eines künstlichen Neurons
Gewichte
Eingaben
i = g(in
i)
a ja←
f (net
j)
wWi,j,ij
oa i
j
ini j
net
Eingabekanten
Σ
fg
oa j
i
∫
Ausgabe
-kanten
Eingabe- Aktivierungs- Ausgabe
funktion
funktion
net j = ∑W i, j oi = W j ⋅ o
i
⎛
⎞
a j ← f (net j ) = f ⎜∑ w i, j oi ⎟
⎝ i
⎠
Meistens wird die Ausgabe mit der Aktivierung identifiziert.
Aktivierungsfunktionen
Aktivierungsfunktionen
oj = aj = f (netj ) =
1
1+ exp(− β(netj − θ ))
⎧1, netj > θ
oj = aj = f (netj ) = ⎨
⎩0
oj = aj = f (netj ) = netj
Perzeptron
Ij
Eingabeeinheiten
W j,i
Oi
Ij
Ausgabeeinheiten
Eingabeeinheiten
Wj
O
Ausgabeeinheit
Frank Rosenblatt
(1928–1969) was a
computer scientist who
completed the
Perceptron, or MARK 1,
computer at Cornell
University in 1960.
This was the first
computer that could
learn new skills by trial
and error, using a type
of neural network that
simulates human
thought processes.
http://www.bookrags.com/wiki/Frank_Rosenblatt
(a) Perzeptron-Netz
(b) Einzelnes Perzeptron
Elementare Boolesche Funktionen
AND
Diskrete Schwelle bei θ=1.5
I1
w11 = +1
o1
I2
w 21 = +1
⎧1, net j > θ
o j = f (net j )= ⎨
⎩0
1 if net ≥ 1.5
f (net) = {
0 if net < 1.5
I1
I2
∑w
0
0
1
1
0
1
0
1
0
1
1
2
I
ij j
o1
0
0
0
1
o1 ist nur dann gleich 1 wenn I1 und
I2 jeweils 1 sind
Elementare Boolesche Funktionen
OR
Diskrete Schwelle bei θ=0.5
I1
w11 = +1
o1
I2
w 21 = +1
⎧1, net j > θ
o j = f (net j )⎨
⎩0
1 if net ≥ 0.5
f (net) = {
0 if net < 0.5
I1
I2
∑w
0
0
1
1
0
1
0
1
0
1
1
2
I
ij j
o1
0
1
1
1
o1 ist dann gleich 1 wenn I1 oder I2
(oder beide) jeweils 1 sind
Elementare Boolesche Funktionen
NOT AND (NAND)
Diskrete Schwelle bei θ=0.5
I1
w11 = +1
o1
I2
w 21 = −1
⎧1, net j > θ
o j = f (net j )⎨
⎩0
1 if net ≥ 0.5
f (net) = {
0 if net < 0.5
I1
I2
0
0
1
1
0
1
0
1
∑w
I
ij j
0
-1
1
0
o1
0
0
1
0
o1 ist dann gleich 1 wenn I1 gleich 1
ist und I2 nicht gleich 1 ist
Lineare Trennbarkeit
I1
I1
I1
?
I2
(a) I1 and I2
I2
(b) I1 or I2
I2
(c) I1 xor I2
Lineare Trennbarkeit
w0
1
w1
I1
w2
I2
I1
I2
0
0
1
1
0
1
0
1
w0 ≤ 0
w2 + w0 > 0
w1 + w0 > 0
w1 + w2 + w0 ≤ 0
nicht möglich (keine Lösung)
Elementare Boolesche Funktionen
XOR
Diskrete Schwelle bei θ=0.6
(auch für I3 !)
I1
w = 0.5
w = 0.5
I2
w11 = +1
I3 w 31 = −2
w 21 = +1
1 if net ≥ 0.6
f (net) = {
0 if net < 0.6
o1
I1
0
0
1
1
I2
0
1
0
1
0.5I1 + 0.5I2
I3
∑w
0
0.5
0.5
1
0
0
0
1
0
1
1
0
I
ij j
o1
0
1
1
0
o1 ist dann gleich 1 wenn I1 gleich 1
ist oder I2 gleich 1 ist, aber nicht
beide
Lernen in künstlichen Neuronalen Netzen
Damit ein Neuronales Netz lernen kann, müssen einige Komponenten des
Netzes flexibel sein. So ist es z.B. möglich, dass im Laufe des Lernvorgangs
(auch Training genannt) neue Neuronen entstehen, bestehende Neurone gelöscht
oder Aktivierungsfunktionen modifiziert werden. In der Regel wird unter
Lernen jedoch die Veränderung der Verbindungsstärke w verstanden.
Es wird zwischen drei Lernregimes unterschieden:
Unüberwachtes Lernen (unsupervised learning)
Überwachtes Lernen (supervised learning)
Verstärkendes Lernen (reinforcement learning)
Unüberwachtes Lernen
⎛ 0,1 ⎞
⎜ ⎟
0,4 ⎟
⎜
I=
⎜ 0,2 ⎟
⎜ ⎟
⎝ 0,9 ⎠
⎛0,7⎞
o=⎜ ⎟
⎝ 0,3⎠
Eingabemuster
W
Beim unüberwachten Lernen werden dem Netz lediglich mehrere
Eingabemuster I präsentiert und das Lernverfahren nutzt statistische
Eigenschaften in den Daten zur Generierung von Ausgabemustern.
Hebb’sche Lernregel:
ΔW = η ⋅ I ⋅ o
η Lernschrittweite
Unüberwachtes Lernen
Vorher:
0,1
0,7
0,4
0,2
W
0,9
Nachher:
W
Hebb’sche Lernregel:
ΔW = η ⋅ I ⋅ o
Überwachtes Lernen
⎛ 0,1 ⎞
⎜ ⎟
0,4 ⎟
⎜
I=
⎜ 0,2 ⎟
⎜ ⎟
⎝ 0,9 ⎠
⎛0,7⎞
o=⎜ ⎟
⎝ 0,3⎠
Eingabemuster
W
⎛1⎞
t =⎜ ⎟
⎝0⎠
Zielmuster
Beim überwachten Lernen werden dem Netz zu jedem Eingabemuster I
ein Zielmuster t angegeben. Die Aufgabe des Lernverfahrens ist es, die
Gewichte des Netzes so zu ändern, dass das Netz nach wiederholter
Präsentation der Paare von Eingabe- und Ausgabemustern diese
Assoziation selbständig vornehmen und dies auch für unbekannte,
ähnliche Eingabemuster tun kann (Generalisierung).
Delta-Lernregel:
Δw ij = η ⋅ Ii (t j − o j )
Reinforcement Lernen
⎛ 0,1 ⎞
⎜ ⎟
0,4 ⎟
⎜
I=
⎜ 0,2 ⎟
⎜ ⎟
⎝ 0,9 ⎠
⎛0,7⎞
o=⎜ ⎟
⎝ 0,3⎠
W
Eingabemuster
Bewertung
z.B. erwartet oder
unerwartet
Beim verstärkenden Lernen (reinforcement learning) wird lediglich ein
unspezifisches Signal z.B. eine Belohnung oder Bestrafung verwendet.
Diese Bewertung wird vom Modell antizipiert und es lernt nur dann,
wenn es einen Unterschied zwischen tatsächlicher und antizipierter
Belohung gibt.
Lernen im Perzeptron
Beispiel: Muster mit 2 Merkmalen sollen 2 Klassen zugeordnet werden
Zielvektor:
t ∈ {−1,+1}
Ij
Wj
I n ∈ C2
O
I2
Gewichtsvektor
I1
In ∈ C1
I3
I4
Ziel: Der Gewichtsvektor muss so eingestellt werden, dass die Beispiele richtig
klassifiziert werden (die Ausgabe dem Zielvektor entspricht).
Lernen im Perzeptron
Bias
⎛
⎞
o = f (net ) = f ⎜⎜ ∑ w j I j ⎟⎟ = f (wT I)
⎝ j
⎠
⎧1, net ≥ 0
f (net ) = ⎨
⎩−1, net < 0
wT In > 0
I2
wT In < 0
Ij
Wj
O
In ∈ C2
I n ∈ C1
Gewichtsvektor
I1
Zielvektor:
I3
I4
t ∈ {−1,+1}
Lernen im Perzeptron
wT In < 0
In ∈ C2
wT In > 0
I n ∈ C1
dann gilt:
Der Zielvektor für die Klassen ist:
t ∈ {−1,+1}
wT In t n > 0
Anstatt einfach die Anzahl der Fehler als Fehlerfunktion zu nehmen, kann man
eine stückweise glatte Fehlerfunktion gewinnen, indem man für jedes falsch
klassifizierte Muster die Entfernung des Musters im Gewichtsraum ansetzt:
E (w) = −
T
w
∑ In ⋅ t n
n ∈Fehler
Lernen im Perzeptron
E (w) = −
T
w
∑ In ⋅ t n
n ∈Fehler
Nach dem stochastischen Gradientenabstieg erhält man:
w(t + 1) = w(t) − η∇E (w) = w(t) + ηIn ⋅ t n
Falls eine exakte Lösung existiert, garantiert diese Lernregel, dass diese in einer
endlichen Anzahl an Lernschritten auch gefunden wird.
Allerdings muss das Problem linear separabel sein.
Lernen im Perzeptron
Fehler
w(t + 1)
I⋅ t
w(t)
w(t + 1) = w(t) − η∇E (w) = w(t) + ηIn ⋅ t n
Lernen im Perzeptron
w(t + 1) = w(t) − η∇E (w) = w(t) + ηIn ⋅ t n
Delta-Regel für einschichtige Netze mit linearen
Aktivierungsfunktionen
⎛ 0,1 ⎞
⎜ ⎟
0,4 ⎟
⎜
I=
⎜ 0,2 ⎟
⎜ ⎟
⎝ 0,9 ⎠
Eingabemuster
⎛0,7⎞
o=⎜ ⎟
⎝ 0,3⎠
W
⎛1⎞
t =⎜ ⎟
⎝0⎠
Zielmuster
Delta-Lernregel:
Δw ij = η ⋅ Ii (t j − o j ) = η ⋅ Ii ⋅ δ j
Diese Lernregel, auch als Widrow/Hoff-Regel (1960) bekannt, ermöglicht es,
Gewichtsänderungen so durchzuführen, dass ein bestimmter Eingabevektor mit einem
gewünschten Ausgabevektor assoziiert wird. Allerdings ist sie nur für zweischichtige Netze
definiert, da eine gewünschte Ausgabe nicht für Hidden-Units beschrieben wird.
Herleitung der Delta-Lernregel: Fehlerfunktion
Gegeben ist ein Input Ip aus der Menge aller Inputs und das dazugehörige
Ziel tp :
⎛ 0,1 ⎞
⎜ ⎟
0,4 ⎟
⎜
Ip =
⎜ 0,2 ⎟
⎜ ⎟
⎝ 0,9 ⎠
⎛0,7⎞
op = ⎜ ⎟
⎝ 0,3⎠
Ep
⎛1⎞
tp =⎜ ⎟
⎝0⎠
Fehler
W
Ziel: Anpassung der Gewichte
zur Minimierung des Fehlers
Fehlermaß:
1
E p = (t p − o p ) 2
2
Quadrat des Euklid’schen Abstandes
Herleitung der Delta-Lernregel: Fehlerfunktion
Die Fehlerfunktion lässt sich einfach visualisieren, wenn das neuronale Netz
lediglich zwei Gewichte besitzt.
Beispiel: OR Funktion
Variiere die Gewichte w1
und w2 und berechne für
jedes (w1,w2)-Paar den
Fehler E über alle
Eingabemuster
Ziel: Finde das Minimum der Fehlerfunktion!
Herleitung der Delta-Lernregel
Bestimme zunächst eine Fehlerfunktion (Optimierungsfunktion):
1
E = (t − o) 2
2
Da die relevanten unabhängigen Variablen lediglich die Gewichte wi sind,
wird der Fehler als Funktion der Gewichte definiert:
E = E ( w1,..., w n )
Nutze zur Minimierung beispielsweise den Gradientenabstieg:
E(w neu ) = E(w alt + Δw) ≤ E(w alt )
Herleitung der Delta-Lernregel
Nach dem Gradientenabstiegsverfahren berechnet sich die Änderung
eines jeden Gewichtes wij mit Hilfe der Ableitung der Fehlerfunktion nach
den Gewichten:
Δw ij = −η ⋅
∂E (W)
∂w ij
wobei
1
E = (t − o) 2
2
E ist zwar eine Funktion von w, allerdings nur indirekt durch die
Berechung der Aktivierung der Ausgabeneuronen oj(w) jedes Neurons j.
Die Berechung der Ableitung erfordert daher die Anwendung der
Kettenregel (äußere mal innere Ableitung):
∂E (W) ∂E ∂o j
=
∂w ij
∂o j ∂w ij
mit
1
E = (t − o(W ))2
2
folgt
∂E
= −(t j − o j )
∂o j
Herleitung der Delta-Lernregel
Bei Verwendung einer linearen Aktivierungsfunktion f(x)=x in der
Ausgabeschicht berechnet sich die Ausgabe als:
o j = ∑ Ii w ij
i
so dass gilt:
∂o j
=
∂w ij
∂ ∑ Ii w ij
i
∂w ij
= Ii
Damit ergibt sich die Delta-Lernregel für einschichtige Netze mit linearer
Aktivierungsfunktion zu:
Δw ij = η ⋅ Ii (t j − o j )
Herleitung der Delta-Lernregel für monotone,
differenzierbare, nichtlineare Aktivierungsfunktionen
∂E (W )
Δw ij = −η ⋅
∂w ij
∂E ( W) ∂E ∂o j ∂net j
=
∂w ij
∂o j ∂net j ∂w ij
wobei
mit
1
E = (t − o) 2
2
∂E
= −( t j − o j )
∂o j
∂o j
∂
=
f (net j )= f ′(net j )
∂net j ∂net j
Δw ij = −η ⋅ Ii (t j − o j ) f ′(net j )
∂net j
= Ii
∂w ij
Backpropagation Lernregel
Die bisher dargestellten Lernregeln funktionieren nur bei Neuronalen Netzen
ohne Hidden-Units.
Das Backpropagation Verfahren stellt eine
Rechenvorschrift dar, mit der die Gewichte zu den
Hidden-Units modifiziert werden können. Entwickelt
wurde das Verfahren bereits in den 70er Jahren (u. a.
von Paul Werbos, 1974), allerdings geriet es zunächst
für über ein Jahrzehnt in Vergessenheit.
Besonders bekannt wurde der Backpropagation Ansatz von
Rumelhart, Hinton und Williams (1986). Es ist allerdings
noch sehr umstritten, ob diese Form des Lernens überhaupt
in Gehirn verwendet wird.
QuickTime™ and a
decompressor
are needed to see this picture.
Paul Werbos
QuickTime™ and a
decompressor
are needed to see this picture.
David Rumelhart
Herleitung der Backpropagation Lernregel
δk
δj
∂E ( W) ∂E ∂o j ∂net j
=
∂w ij
∂o j ∂net j ∂w ij
δ1
∂E
δj =
∂net j
w kj
ol
ok
Um den Beitrag eines Hidden Neurons zum Fehler zu bestimmen, nutzen wir
den Zusammenhang, dass sich eine Variation der Aktivierung netk nur durch
Änderungen der Aktivierungen netj in der Fehlerfunktion bemerkbar macht.
∂w kj ok
∂w kj f (net k )
∂E
∂E ∂net j
δk =
=∑
= ∑δ j
= ∑δ j
∂net k
∂net j ∂net k
∂net k
∂net k
j
j
j
δk = f ′(net k )∑ w kjδ j
j
Herleitung der Backpropagation Lernregel
δk
δj
w kj
ol
ok
δk = f ′(net k )∑ w jkδ j
j
δ1
Die Backpropagation Lernregel besagt also, dass wir den Fehler (Delta) eines
Hidden Neurons bekommen, wenn wir die Fehler der Ausgabeneuronen
rückwärts propagieren.
Δw lk = −η ⋅ ol∂ k
Die Backpropagation Lernregel kann für beliebige Netze verwendet werden und
gilt nicht nur für das Multi-Layer Perzeptron (MLP).
Multi-Layer Perzeptron mit Backpropagation
Algorithmus:
Lege eine Eingabe an und berechne die Ausgabe.
Bestimme δj für alle Ausgabeneuronen.
δj = oj − t j
Rückwärtspropagierung der δj um die δ-Werte der Hidden-Neuronen zu
bestimmen:
δk = f ′(net k )∑ w jkδ j
j
Bestimmung der Gewichtsänderung unter Verwendung der δ-Werte:
Δw ij = −η ⋅ δ j I j
Verwendungsweise Neuronaler Netze
Die Anwendung von Neuronalen Netzen ist im Grunde sehr einfach, allerdings
kann sich die Suche nach dem “besten” Netz und Lernverfahren als langwierig
gestalten, da der Anwender sehr viele Freiheitsgrade hat.
•
•
•
•
Anzahl der Neuronen
Anzahl der Schichten
Wahl der Nichtlinearitäten
Lernstrategien (Batch, on-line, Momentum-Term, weight-decay)
Neben dem Gradientenabstiegsverfahren gibt es weitere Lernverfahren:
• Quickprop
• Conjugate Gradient Descent
Verwendungsweise Neuronaler Netze
Beispiel: Musterklassifikation einer Menge von Eingabevektoren
(Messwerte), die über den Zielvektor in jeweils eine Klasse A oder B
eingeordnet sind.
Ziel: Das künstliche neuronale Netz soll auf Basis dieser Trainingsdaten
eine Abbildung von einem Eingaberaum auf den Ausgaberaum (hier die
Klassen) lernen, um später auch unbekannte (aber in der Regel ähnliche)
Muster einer Klasse zuordnen zu können.
A
B
I1
I3
I5
I6
I4
I2
Neuronale Netze sind immer dann gut zur Datenanalyse geeignet, wenn
nichtlineare Abhängigkeiten zwischen den Messwerten vorliegen und die
für die Entscheidung wesentlichen Faktoren nicht hervorgearbeitet
werden müssen.
Verwendungsweise Neuronaler Netze
Trainingsphase
Konstruktionsphase
Es soll ein Neuronales Netz für eine bestimmte Aufgabe konstruiert werden. Dazu geht
man in folgenden Schritten vor:
1.
Lege Anzahl und Typ der benötigten Einheiten fest.
2.
Lege die Verbindungen zwischen den Einheiten fest.
3.
Initialisiere die Gewichte an den Kanten.
4.
Wähle eine Menge von Beispielen (Paare von Ein- und Ausgaben).
5.
Lege fest, in welcher Reihenfolge die Eingaben der Beispiele in das Netz
eingegeben werden sollen.
6.
Bestimme für jedes Beispiel die Differenz zwischen gewünschter und
tatsächlicher Ausgabe.
7.
Passe die Gewichte in geeigneter Weise an ⇒ Lernalgorithmus.
Verwendungsweise Neuronaler Netze
Abbruckkriterium
Da Neuronale Netze dazu neigen, die Trainingsdaten „auswendig“ zu lernen, wurden
verschiedene Kriterien entwickelt dieses „overfitting“ zu vermeiden. Eine einfache
Strategie ist die folgende:
1.
Bestimme den Fehler auf einem Validierungs-Datensatz (VD).
2.
Beende das Training, wenn der Fehler auf dem VD nicht weiter fällt.
3.
Ein Vergleich der Netze kann auf Basis eines unbekannten Testdatensatzes
erfolgen (Leave-k-out).
Verwendungsweise Neuronaler Netze
Bei Verwendung einer Hidden-Schicht mit nichtlinearen Aktivierungsfunktionen können
Neuronale Netze im Grunde beliebige nichtlineare Entscheidungsgrenzen lernen.
C1
C2
Radiale Basis-Funktion Netze
Radiale Basis-Funktion Netze
Während das MLP eine rein verteilte Repräsentation lernt, besitzen Radiale
Basis-Funktion Netze eher eine lokale Repräsentation, indem eine
Aktierungsfunktion verwendet wird, die den Abstand vom Muster zum Gewicht
der Neurone berechnet.
(
h j (I) = G I − c j
)
Oft werden die Zentren cj nach der Verteilung der Daten inintialisiert. Sie können
allerdings auch nach dem Backpropagation Lernalgorithmus gelernt werden. Es
gibt auch Verfahren, die Knoten neu Einfügen oder Löschen.
Die Gewichte der zweiten Schicht werden nach der Delta Lernregel bestimmt.
Selbstorganisierende Merkmalskarten
QuickTime™ and a
decompressor
are needed to see this picture.
Teuvo Kohonen
Historie und Zukunft Neuronaler Netze
Multi-Paradigmen
Systeme
Neuartige
NetzwerkModelle &
Lernverfahren
Neuronenmodelle
Perzeptron
Lernmatrix
Turing, EDV
Zahlreiche
Applikationen
Hebb
Gestaltgesetze
Aktivitäten
Computational
Neuroscience
Support Vector
Maschine und
andere statistische
Verfahren
Entdeckung
von Neuronen
Neuronale
Eiszeit!
Zeit
1900
1920
1940
1960
1980
2000
2020
Literatur
Bücher:
• Zell, A. Simulation Neuronaler Netzwerke. Addison-Wesley 1994.
• Brause, R. Neuronale Netze. B.G. Teubner Stuttgart, 1996
• Bishop, Chr. Neural Networks for Patter Recognition, Oxford Press 1997
• Ritter, H., Martinetz, Th., Schulten, K. Neuronale Netze. Addison-Wesley 1994.
• Kohonen, T. Self-Organizing Maps. Springer Series in Information Sciences. Vol. 30,
Springer Verlag 1995.
• Duda, R. O., Hart, P.E. & Stork, D.G. Pattern Classification. New York: Wiley,
2001.
• Lämmel, U., Cleve, J. Künstliche Intelligenz – Lehr- und Übungsbuch.
Fachbuchverlag Leipzig, 2001
• Haykin, S. Neural Networks and Learning Machines (3rd Edition), Prentice Hall, 2009
Zeitschriften:
• Neural Networks, Neural Computing, Neural Computation
• IEEE Transactions on Neural Networks
• Neural Processing Letters
Herunterladen