19.01.2013 Aufrufe

Neuronale Netze - Universität Regensburg

Neuronale Netze - Universität Regensburg

Neuronale Netze - Universität Regensburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!