Neuronale Netze - Universität Regensburg
Neuronale Netze - Universität Regensburg
Neuronale Netze - Universität Regensburg
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Neuronale</strong> <strong>Netze</strong> - Grundlagen und<br />
Anwendungen<br />
Fabian Theis<br />
<strong>Universität</strong> <strong>Regensburg</strong>
Übersicht<br />
� <strong>Neuronale</strong> <strong>Netze</strong><br />
– Biologische Motivation<br />
– Künstliches Neuron<br />
– Historische Entwicklung<br />
– Perceptrons & überwachtes Lernen<br />
– MLPs & Backpropagation<br />
� SOM<br />
– Algorithmus<br />
– Beispiele & Anwendungen<br />
� Zusammenfassung
Biologische Signalverarbeitung
Struktur eines Neurons<br />
� Neuron:<br />
– Zellkörper<br />
– Verzweigte<br />
Eingangsstruktur (Dendrit)<br />
– Verzweigte<br />
Ausgangsstruktur (Axon)<br />
� Axone verbinden sich<br />
mit Dendriten durch<br />
Synapsen<br />
� Signale werden<br />
elektrochemisch im<br />
Neuron weitergeleitet<br />
synapse<br />
synapse<br />
nucleus<br />
nucleus<br />
cell body<br />
cell body<br />
dendrites<br />
dendrites<br />
axon<br />
axon
Struktur eines Neurons<br />
� Neuron dient der<br />
Signalweitergabe<br />
� Neuron „schießt“ nur,<br />
wenn Gesamtinput an<br />
den Dendriten einen<br />
Schwellenwert<br />
(Aktionspotential)<br />
überschreitet<br />
� Synapsen<br />
– untersch. Stärken<br />
– verstärkend oder<br />
hemmend
Synapse in 3D
Biologische <strong>Neuronale</strong> <strong>Netze</strong><br />
� Menschliches Gehirn mit<br />
mehr als 10 11 Neuronen<br />
� 1000 Synapsen für Einund<br />
Ausgang pro Neuron<br />
� 10 6 fach langsamere<br />
„switching time“ als<br />
Computer<br />
� 1000 fach höhere<br />
Verschaltung
Neuronen in 3D
Künstliches Neuron<br />
fester Input wk0 = θk (Threshold)<br />
yk=f(Σiwki+ θk) x0=-1 Eingabewerte<br />
x 1<br />
x 2<br />
x p<br />
w k0<br />
w k1<br />
w k2<br />
w kp<br />
Gewichte<br />
(mit Threshold)<br />
Σ<br />
Summation<br />
Aktivierungsfunktion<br />
v k<br />
f(·)<br />
θk Threshold<br />
Ausgabe<br />
y k
Aktivierungsfunktionen<br />
� beispielsweise Heaviside(Step), Signum,<br />
Identität, Arctan, Sigmoid (1/(1+e -x ))
Künstliche <strong>Neuronale</strong> <strong>Netze</strong> (ANNs)<br />
� Verschaltung von<br />
künstlichen Neuronen<br />
durch Graphen<br />
� Beliebige Komplexität<br />
möglich (� Gehirn)<br />
� Im allgemeinen entsteht<br />
rekurrentes Netzwerk<br />
(Graph hat Schleifen) �<br />
dynamische Struktur<br />
Σ<br />
-0.5<br />
0.4<br />
Σ<br />
Σ<br />
0.2<br />
1<br />
Σ<br />
0.6
Layered feed-forward NNs<br />
� Hier: nur geschichtete<br />
neuronale azyklische<br />
<strong>Netze</strong> (layered feedforward<br />
NNs) Σ<br />
-0.5<br />
0.4<br />
Σ<br />
Σ<br />
1<br />
Σ<br />
0.6
Biologische ���� Künstliche NNs<br />
Eingabe<br />
Ausgabe
Historische Entwicklung<br />
Vapnik (1990): support vector machine<br />
Broomhead & Lowe (1988): Radial basis function networks (RBF)<br />
Linsker (1988): Infomax Prinzip<br />
Rumelhart, Hinton & Williams (1986): Backpropagation<br />
Kohonen (1982): Self-organizing maps (SOM)<br />
Hopfield (1982): Hopfield <strong>Netze</strong> (machte NNs wieder “glaubwürdig”)<br />
Minsky & Papert (1969): Perceptron kann XOR-Problem nicht lösen<br />
Rosenblatt (1958): Perceptron<br />
Minsky (1954): “Neural Networks” (PhD Thesis)<br />
Hebb (1949): Korellierte Synapsen und Hebb’s Regel<br />
McCullogh & Pitts (1943): Begriff “<strong>Neuronale</strong>s Netzwerk” (boolsche NNs)
Perceptrons<br />
� einschichtige Netzwerke mit<br />
asymmetrischen feedforward<br />
Kopplungen<br />
� keine Rückkopplungen von<br />
der Ausgangsschicht zur<br />
Eingangsschicht<br />
� keine lateralen Kopplungen in<br />
der Ausgangsschicht<br />
� lineare oder nicht-lineare<br />
Neuronen<br />
� Training mit überwachten<br />
Lernverfahren<br />
� Hauptanwendung:<br />
Assoziations- und<br />
Klassifikationsaufgaben<br />
Ausgaben<br />
Eingaben
Perceptrons<br />
� x Eingaben<br />
� W Gewichtsmatrix<br />
� g Aktivierungsfunktion<br />
(z.B. Heaviside, Signum,<br />
Identität, Arctan,<br />
Sigmoid)<br />
� Ausgabe y geg. durch<br />
� Klassifikation: ein<br />
Neuron mit Signum als<br />
Aktivierungsfunktion<br />
� dann y geg. durch<br />
� Menge mit Ausgabe 1 ist<br />
� Also Mustertrennung<br />
durch Gerade
Lineare Separabilität<br />
x 1<br />
A<br />
A<br />
A<br />
A<br />
A<br />
B<br />
A A<br />
B<br />
B<br />
B<br />
B<br />
B<br />
B<br />
B<br />
x 2<br />
Entscheidungsgrenze
Verschiedene Separabilitäten<br />
Struktur<br />
Eine Schicht<br />
2 Schichten<br />
2 / 3 Schichten<br />
Typen von<br />
Entsch.regionen<br />
Halbebene<br />
Begrenzt durch<br />
Hyperebene<br />
Convex Offen<br />
Oder<br />
Geschl. Region<br />
beliebig<br />
A<br />
B<br />
A<br />
B<br />
A<br />
B<br />
XOR<br />
Problem<br />
B<br />
A<br />
B<br />
A<br />
B<br />
A<br />
Klassen mit<br />
Verb. Regionen<br />
B<br />
B<br />
B<br />
A<br />
A<br />
A<br />
Allgemeinere<br />
Formen
Beispiele von Perceptrons<br />
� Modellierung von boolschen Funktionen<br />
� Aktivierungsfunktion: Step-Funktion mit bias<br />
� Problem: XOR nicht modellierbar (da nicht<br />
linear separabel)
Überwachtes Lernen<br />
� Lernen: Veränderung der<br />
Gewichte W eines <strong>Netze</strong>s<br />
Γ, so dass A(Γ(W))(x t)=o t<br />
� Lernen als Minimierung<br />
einer Energiefunktion (z.B.<br />
Methode der kleinsten<br />
Quadrate)<br />
E<br />
=<br />
N<br />
∑<br />
t=<br />
1<br />
(<br />
A(<br />
Γ(<br />
W ))( x<br />
t<br />
) − o<br />
t<br />
2<br />
)
Lernen als Optimierungsproblem<br />
� Minimiere Energiefunktion<br />
� Gradientenabstieg:<br />
Δw<br />
w<br />
j<br />
i<br />
j<br />
i<br />
( t)<br />
( t)<br />
=<br />
=<br />
w<br />
∂E<br />
−<br />
∂w<br />
j<br />
i<br />
j<br />
i<br />
( W<br />
)<br />
( t)<br />
+ ηΔw<br />
j<br />
i<br />
( t)<br />
� Alternative<br />
Optimiermethoden:<br />
– Konjugierter<br />
Gradientenabstieg<br />
– Simulated Annealing<br />
– Genetische Algorithmen
Gradientenabstieg visualisiert
Lernen mit Perceptrons<br />
Lineares Perceptron:<br />
y = w ⋅<br />
Daten: x , o ), ( x , o ),..., ( x , )<br />
Fehler:<br />
Lernen (Deltaregel):<br />
x<br />
( 1 1 2 2 N oN<br />
E<br />
=<br />
N<br />
N<br />
∂E(<br />
t)<br />
wi<br />
( t + 1)<br />
= wi<br />
( t)<br />
−η<br />
= wi<br />
( t)<br />
−η∑<br />
( yt<br />
− ot<br />
) xt<br />
= wi<br />
( t)<br />
−η∑<br />
δt<br />
xt<br />
∂w<br />
i<br />
N<br />
∑<br />
t=<br />
1<br />
( y<br />
t<br />
− o<br />
Lernregel wird auch Adaline - Regel, Widrow -<br />
Hoff Regel oder LMS - Regel bezeichnet<br />
1<br />
2<br />
t<br />
2<br />
)<br />
t=<br />
1<br />
t=<br />
1
Perceptronlernen visualisiert
Multi-Layered Perceptrons (MLPs)<br />
� mehrschichtige<br />
Netzwerke mit<br />
asymmetrischen<br />
feedforward Kopplungen<br />
� Hidden Neurons sind<br />
wichtig für komplexere<br />
Approximationen<br />
� Theorem: Ein 2schichtiges<br />
NN ist ein<br />
universeller<br />
Approximator.<br />
x 1<br />
x 2<br />
3-schichtiges Netzwerk<br />
x n<br />
Hidden layers
MLP Beispiel (XOR)<br />
� XOR kann mit einer Zwischenschicht von 2 Neuronen<br />
gelöst werden.<br />
Eing. Ausg.<br />
0 0 1 (A)<br />
0 1 0 (B)<br />
1 0 0 (C)<br />
1 1 1 (D)<br />
Eing. unit 2<br />
1<br />
B<br />
OR<br />
AND<br />
D<br />
0<br />
A<br />
C<br />
0 Eing. unit 1 1<br />
Eingabe 1<br />
Eingabe 2<br />
AND Unit<br />
OR Unit<br />
AND Unit<br />
0<br />
A<br />
B<br />
C<br />
0 OR Unit 1<br />
� Entscheidungsgrenzen sind von der Form: w 1 s 1 +w 2 s 2 +β=0<br />
1<br />
Ausgabe<br />
XOR<br />
D
Lernen mit MLPs: Backpropagation<br />
� Berechne<br />
Energiegradienten im<br />
mehrschichtigen<br />
Netzwerk<br />
� Dazu:<br />
– Berechne<br />
Synapsenänderung an<br />
den Ausgängen<br />
– Propagiere die lokalen<br />
Fehleränderungen durch<br />
die Schichten zurück<br />
j ∂E<br />
– Erhalte Δwi<br />
( t)<br />
= − ( W ) j<br />
∂w<br />
i
Lernbeispiel<br />
� Matlab program
MLPs: Anwendungsbeispiele<br />
� Klassifikation<br />
– Analyse von<br />
Prozessierungsparameter<br />
bei der Waferproduktion<br />
– Qualitätsbestimmung von<br />
Holz und Klassifikation<br />
von Knotentype bei<br />
Asteinschlüssen<br />
– Arteriogrammsegmentierung<br />
� Allgemeinere Funktionsapproximation<br />
– Interpolierung (Missing<br />
data recovery)<br />
– HLPC Spektrumskorrektur<br />
(Laufzeitunterschied<br />
zwischen zwei Spektra<br />
wird mit MLP gelernt �<br />
Korrektur möglich)
Radiale Basisfunktionsnetze (RBF)<br />
� adaptives Mehrschichtnetze mit nichtlinearen,<br />
lokalisierten Aktivierungsfunktionen in der verborgenen<br />
Schicht<br />
– Aktivierungsfunktion: z(x)=K(|x-μ|/σ 2 )<br />
– lokalisierte rezeptive Felder<br />
� Architektur<br />
– feedforward mit einer verborgenen Schicht<br />
– lineare Ausgänge<br />
� Unterschied zu MLP<br />
– Aktivierungsfunktion hängt zusätzlich vom Ort ab (lokalisiert)
RBF Architektur
Lernen in RBFs<br />
� zusätzlich zu Gewichten wird gelernt:<br />
– Zentren μ der rezeptiven Felder<br />
– Breiten σ<br />
� späteres Lernen wieder über<br />
Gradientenabstieg<br />
� Initialisierung beispielsweise durch<br />
– k-means Clustering um μ zu lernen<br />
– Clusterbreite bestimmt σ
Selbstorganisierende<br />
Merkmals-Karten (SOM)<br />
� Biologische Motivation<br />
� Topologieerhaltende<br />
Abbildung<br />
� Gegebene Modellvektoren<br />
werden so<br />
akkurat wie möglich<br />
repräsentiert<br />
� Nachbarschaftsrelation<br />
bleibt erhalten<br />
� Ordnungs- und<br />
Clusteringphase
SOM Algorithmus<br />
� Abbildung wird modelliert<br />
durch Neuronen w j<br />
� Abfallende Nachbarschaftsfunktion<br />
h i,j<br />
� zu Sample x(t) bestimme<br />
das am nächsten<br />
gelegene „Winner<br />
Neuron“ c(x(t))<br />
� Ändere Neuronen gemäß<br />
w j<br />
(t + 1)<br />
=<br />
wj ( t)<br />
+η(<br />
t)<br />
hc(<br />
x(<br />
t)),<br />
j(<br />
x(<br />
t)<br />
− wj<br />
( t))
SOM Algorithmus visualisiert
SOM Beispiele
SOM IR 2 ���� IR 2
SOM IR 2 ���� IR 3
SOM Anwendungen<br />
� WEBSOM: SOM von<br />
Dokumenten-sammlungen<br />
zum einfacheren Durchsuchen<br />
http://www.cis.hut.fi/websom<br />
� Visualisierung von<br />
hochdimensionalen Daten,<br />
beispielsweise<br />
makroökonomische Daten<br />
� Clustering von Phonemen zur<br />
automatischen<br />
Spracherkennung
Netlab<br />
� Netlab toolbox http://www.ncrg.aston.ac.uk/netlab/<br />
– MATLAB toolbox<br />
– stellt Methoden für<br />
Simulation von<br />
neuronalen <strong>Netze</strong>n<br />
bereit<br />
– Christopher M. Bishop,<br />
(Oxford University<br />
Press, 1995)<br />
– MLPs, SOMs, RBFs…
Referenzen<br />
� Homepage http://www.theis.de.vu<br />
� Neuro- and Bioinformatics Group<br />
Elmar Lang http://www.biologie.uniregensburg.de/Biophysik/Lang/index.html<br />
� SOM http://www.cis.hut.fi/websom<br />
� Lehrbuch: Simon Haykin, Neural<br />
Networks: A Comprehensive<br />
Foundation, Macmililan College<br />
Publishing Company
Zusammenfassung<br />
� <strong>Neuronale</strong> <strong>Netze</strong> als<br />
Modell für Gehirnstruktur<br />
� Perceptrons lösen lineare<br />
Klassifikationsaufgaben<br />
� MLPs approximieren<br />
beliebige Funktionen<br />
(� überwachtes Lernen)<br />
� SOM als Beispiel von<br />
nichtüberwachtem<br />
Lernen
Ende<br />
“If the brain were so simple<br />
that we could understand it<br />
then we’d be so simple that<br />
we couldn’t.”<br />
Lyall Watson