McCulloch-Pitts-Neuron
McCulloch-Pitts-Neuron
McCulloch-Pitts-Neuron
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Was bisher geschah<br />
◮ Lernen:<br />
◮ überwachtes Lernen<br />
◮ korrigierendes Lernen<br />
◮ bestärkendes Lernen<br />
◮ unüberwachtes Lernen<br />
◮ biologisches Vorbild neuronaler Netze:<br />
◮ <strong>Neuron</strong> (Zellkörper, Synapsen, Axon) und Funktionsweise<br />
◮ (Natürliches) neuronales Netz:<br />
(Teil des) ZNS von Lebewesen<br />
◮ biologischer Vorgang beim Lernen<br />
◮ Hebb-Regel<br />
20
Künstliche <strong>Neuron</strong>en:<br />
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> ohne Hemmung<br />
einfaches abstraktes <strong>Neuron</strong>enmodell von<br />
<strong>McCulloch</strong> und <strong>Pitts</strong>, 1943<br />
Aufbau eines künstlichen <strong>Neuron</strong>s u (Tafel)<br />
Eingabe: x = (x 1 , . . . , x mu ) ∈ {0, 1} mu (ankommende Reize)<br />
Schwellwert: θ u ∈ R (Reizschwelle)<br />
Ausgabe: f (x 1 , . . . , x mu ) ∈ {0, 1} (weitergegebener Reiz)<br />
Parameter eines <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong>s u ohne Hemmung:<br />
◮ m u : Anzahl der (erregenden) Eingänge<br />
◮ θ u : Schwellwert<br />
21
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> ohne Hemmung: Funktionen<br />
Eingangsfunktion des <strong>Neuron</strong>s u: I u : {0, 1} mu → R mit<br />
∑m u<br />
I u (x 1 , . . . , x mu ) =<br />
i=1<br />
(Summe aller erregenden Eingänge des <strong>Neuron</strong>s u)<br />
Aktivierungsfunktion des <strong>Neuron</strong>s u (abhängig vom<br />
Schwellwert θ u ): A u : R × R → {0, 1} mit<br />
x i<br />
{ 1 falls v ≥ θu<br />
A u (θ u , v) =<br />
0 sonst<br />
(Stufenfunktion mit Stufe bei θ u )<br />
Ausgabefunktion des <strong>Neuron</strong>s u: O u : {0, 1} → {0, 1} mit<br />
O u (v) = v<br />
(Identität)<br />
22
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> ohne Hemmung: Berechnung<br />
vom <strong>Neuron</strong> u berechnete Funktion: f u : {0, 1} mu → {0, 1} mit<br />
f u (x 1 , . . . , x mu ) = O u (A u (θ u , I u (x 1 , . . . , x mu )))<br />
{ ∑ 1 falls<br />
mu<br />
=<br />
i=1 x i ≥ θ u<br />
0 sonst<br />
m u -stellige Boolesche Funktion<br />
23
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> ohne Hemmung: Beispiele<br />
elementare Boolesche Funktionen ∨, ∧<br />
mehrstellige ∨, ∧<br />
Existiert zu jeder Booleschen Funktion f : {0, 1} n → {0, 1} ein<br />
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> ohne Hemmung, welches f berechnet?<br />
Nein, nur monotone Boolesche Funktionen,<br />
z.B. ¬ nicht<br />
Warum?<br />
24
Geometrische Interpretation<br />
Jedes <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> u mit m u Eingängen teilt die<br />
Menge {0, 1} mu in zwei Teilmengen:<br />
und<br />
f −1<br />
u (1) = {(x 1 , . . . , x mu ) ∈ {0, 1} mu | f (x 1 , . . . , x mu ) = 1}<br />
∑m u<br />
= {(x 1 , . . . , x mu ) ∈ {0, 1} mu | ≥ θ u }<br />
f −1<br />
u (0) = {(x 1 , . . . , x mu ) ∈ {0, 1} mu | f (x 1 , . . . , x mu ) = 1}<br />
∑m u<br />
= {(x 1 , . . . , x mu ) ∈ {0, 1} mu | < θ u }<br />
i=1<br />
i=1<br />
geometrische Interpretation als Teilräume des R m<br />
Grenze zwischen beiden Bereichen:<br />
(m u − 1)-dimensionaler Teilraum ∑ m u<br />
i=1 x i = θ<br />
parallele Schnitte (abhängig von θ)<br />
25
Geometrische Interpretation: Beispiele<br />
Beispiele:<br />
◮ <strong>Neuron</strong> u mit m u = 2 Eingängen und Schwellwert θ u = 1<br />
{ 1 falls x1 + x<br />
f u (x 1 , x 2 ) =<br />
2 ≥ 1<br />
0 sonst<br />
Bereich der x 1 , x 2 -Ebene mit f u (x 1 , x 2 ) = 1 ist die<br />
Halbebene mit x 2 ≥ 1 − x 1 .<br />
x 2 = g(x 1 ) = 1 − x 1 ist eine lineare Trennfunktion zwischen<br />
den Halbebenen mit f u (x 1 , x 2 ) = 0 und f u (x 1 , x 2 ) = 1.<br />
◮ <strong>Neuron</strong> v mit m v = 3 Eingängen und θ v = 1<br />
26
Linear trennbare Funktionen<br />
Zwei Mengen A, B ⊆ R n heißen genau dann linear trennbar,<br />
wenn eine lineare Funktion g : R n → R mit<br />
g(x 1 , . . . , x n ) = a 0 + ∑ n<br />
i=1 a ix 1 existiert, so dass<br />
◮ für alle (x 1 , . . . , x n ) ∈ A gilt g(x 1 , . . . , x n ) > 0<br />
◮ für alle (x 1 , . . . , x n ) ∈ B gilt g(x 1 , . . . , x n ) < 0<br />
(eindeutig beschreiben durch n + 1-Tupel (a 0 , a 1 , . . . , a n ) )<br />
Eine Boolesche Funktion f : {0, 1} n → {0, 1} heißt genau dann<br />
linear trennbar, wenn die Mengen f −1 (0) und f −1 (1) linear<br />
trennbar sind.<br />
Beispiele: ∨, ∧, ¬x 1 , x 1 → x 2 , x 1 ∧ ¬x 2<br />
Die Boolesche Funktion XOR ist nicht linear trennbar.<br />
27
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> mit Hemmung<br />
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> u mit Hemmung:<br />
Eingabewerte: x = (x 1 , . . . , x mu ) ∈ {0, 1} mu erregend<br />
y = (y 1 , . . . , y m ′ u<br />
) ∈ {0, 1} m′ u hemmend<br />
Schwellwert: θ u ∈ R<br />
Ausgabe: f (x 1 , . . . , x mu , y 1 , . . . , y m ′ u<br />
) ∈ {0, 1}<br />
Parameter eines <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong>s u (mit Hemmung):<br />
◮ m u : Anzahl der erregenden Eingänge<br />
◮ m u: ′ Anzahl der hemmenden Eingänge<br />
◮ θ u : Schwellwert<br />
28
Funktionen bei hemmenden Eingängen<br />
Eingangsfunktion des <strong>Neuron</strong>s u: I u : {0, 1} mu+m′ u → R × R<br />
⎛<br />
m u m<br />
∑ ∑u<br />
′<br />
I u (x 1 , . . . , x mu , y 1 , . . . , y m ′ u<br />
) = ⎝ x i ,<br />
i=1<br />
i=1<br />
y i<br />
⎞<br />
⎠<br />
(Summe aller erregenden Eingänge des <strong>Neuron</strong>s u,<br />
Summe aller hemmenden Eingänge des <strong>Neuron</strong>s u)<br />
Aktivierungsfunktion des <strong>Neuron</strong>s u (abhängig von θ u ):<br />
A u : R × (R × R) → {0, 1}<br />
{ 1 falls x ≥ θu und y ≤ 0<br />
A u (θ u , (x, y)) =<br />
0 sonst<br />
(Stufenfunktion)<br />
Ausgabefunktion des <strong>Neuron</strong>s u: O u : {0, 1} → {0, 1} mit<br />
O u (v) = v<br />
(Identität)<br />
29
Berechnung bei hemmenden Eingängen<br />
Gesamtfunktion des <strong>Neuron</strong>s u<br />
f u (x 1 , . . . , x mu , y 1 , . . . , y m ′ u<br />
) = O u (A u (θ u , I u (x 1 , . . . , x mu , y 1 , . . . , y m ′ u<br />
)))<br />
Jedes <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> u mit m u erregenden<br />
Eingängen, m u ′ hemmenden Eingängen und Schwellwert θ u<br />
repräsentiert die Boolesche Funktion f u : {0, 1} mu+m′ u → {0, 1}:<br />
⎧<br />
⎨<br />
f u (x 1 , . . . , x mu , y 1 , . . . , y m ′ u<br />
) =<br />
⎩<br />
falls ∑ m u<br />
i=1 x i ≥ θ u<br />
1<br />
und ∑ m u<br />
′<br />
i=1 y i ≤ 0<br />
0 sonst<br />
Beispiele mit Hemmung:<br />
◮ elementare Boolesche Funktion: ¬<br />
◮ komplexere Boolesche Funktionen, z.B.<br />
x 1 ∧ ¬x 2<br />
¬x 1 ∧ x 2 ∧ x 3 ,<br />
¬(x 1 ∨ ¬x 2 ∨ ¬x 3 )<br />
30
<strong>McCulloch</strong>-<strong>Pitts</strong>-Netze<br />
<strong>McCulloch</strong>-<strong>Pitts</strong>-Netz:<br />
gerichteter Graph mit<br />
◮ <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong>en als Ecken und<br />
◮ gerichteten Kanten zwischen <strong>Neuron</strong>en<br />
zwei Arten: erregend, hemmend<br />
Berechnung der <strong>Neuron</strong>en-Funktionen (entsprechend Struktur<br />
des Netzes):<br />
◮ parallel<br />
◮ sequentiell<br />
◮ rekursiv<br />
31
<strong>McCulloch</strong>-<strong>Pitts</strong>-Netze<br />
Ein-Schicht-<strong>McCulloch</strong>-<strong>Pitts</strong>-Netz<br />
parallele Schaltung mehrerer<br />
Mc-Culloch-<strong>Pitts</strong>-<strong>Neuron</strong>en<br />
repräsentiert Boolesche Funktionen mit mehreren<br />
Ausgaben<br />
Beispiel: Parallelschaltung von x 1 ∧ ¬x 2 und<br />
¬x 1 ∧ x 2<br />
Mehr-Schicht-<strong>McCulloch</strong>-<strong>Pitts</strong>-Netz<br />
parallele und sequentielle Schaltung mehrerer<br />
Mc-Culloch-<strong>Pitts</strong>-<strong>Neuron</strong>en<br />
Beispiel: XOR<br />
Analogie zu logischen Schaltkreisen<br />
Jede Boolesche Funktion f : {0, 1} n → {0, 1} lässt sich durch<br />
ein <strong>McCulloch</strong>-<strong>Pitts</strong>-Netz berechnen.<br />
<strong>McCulloch</strong>-<strong>Pitts</strong>-Netz mit zwei Schichten genügt<br />
(analog DNF, CNF in Aussagenlogik)<br />
32
Modifikationen von <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong>en<br />
◮ Durch Vervielfachung eines Einganges erhöht sich seine<br />
Wirkung (sein Gewicht).<br />
◮ Vervielfachung (absolut) hemmender Eingänge ändert die<br />
berechnete Funktion nicht.<br />
◮ relative Hemmung:<br />
hemmende Eingänge verhindern das Feuern der Zelle<br />
nicht völlig, sondern erschweren es (erhöhen den<br />
Schwellwert, negatives Gewicht).<br />
◮ Absolute Hemmung lässt sich durch relative Hemmung mit<br />
großer Schwellwerterhöhung (auf Anzahl aller erregenden<br />
Eingänge +1) simulieren.<br />
◮ Durch Einführung von Gewichten wird Trennung in<br />
hemmende und erregende Eingänge überflüssig.<br />
33
Parameter künstlicher <strong>Neuron</strong>en<br />
verschiedene künstliche <strong>Neuron</strong>enmodelle unterscheiden sich<br />
in:<br />
◮ Anzahl Typen der Ein- und Ausgabewerte,<br />
◮ zulässige Gewichte an den Eingangskanten,<br />
◮ Eingabe-, Ausgabe- und Aktivierungsfunktion<br />
Jedes <strong>Neuron</strong> mit m Eingängen repräsentiert eine Funktion von<br />
m Eingabewerten<br />
34
Zusammenfassung<br />
◮ <strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong> (mit und ohne Hemmung):<br />
◮<br />
◮<br />
◮<br />
Aufbau<br />
Parameter<br />
Funktionen:<br />
◮ Eingabefunktion<br />
◮ Aktivierungsfunktion<br />
◮ Ausgabefunktion<br />
Gesamtberechnung<br />
◮ geometrische Deutung der Funktion eines<br />
<strong>McCulloch</strong>-<strong>Pitts</strong>-<strong>Neuron</strong>s<br />
(lineare Trennfunktionen)<br />
35