28.12.2013 Aufrufe

McCulloch-Pitts-Neuron

McCulloch-Pitts-Neuron

McCulloch-Pitts-Neuron

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!