Benutzer-Werkzeuge

Webseiten-Werkzeuge


ki:neuron

Dies ist eine alte Version des Dokuments!


Wiederholung aus Jgst. 11: Künstliches Neuron

Ein künstliches Neuron ist eine Funktion, die $n$ Eingabewerte $x_1, x_2, \ldots, x_n$ entgegennimmt und einen Ausgabewert liefert. Die genaue Funktion des Neurons wird bestimmt durch folgende Konstanten:

  • $n$ Gewichte $w_1, w_2, \ldots, w_n$
  • den Schwellenwert $\theta$ und
  • die Aktivierungsfunktion, z,B. die Heaviside-Funktion $H(x)$.

Der Ausgangswert des Neurons berechnet sich (bspw. mit Heaviside als Aktivierungsfunktion) folgendermaßen: $$H(x_1\cdot w_1 + x_2\cdot w_2 + \ldots + x_n\cdot w_n - \Theta)$$

Die am häufigsten verwendeten Aktivierungsfunktionen sind:

Die Heavyside-Funktion: $H(x) = \begin{cases} 0 & \text{für } x < 0 \\ 1 & \text{für } x \ge 0 \end{cases}$
Die ReLU-Funktion: $\mathrm{ReLU}(x) = \begin{cases} 0 & \text{für } x < 0 \\ x & \text{für } x \ge 0 \end{cases}$ (Rectified Linear Unit)
Die Sigmoid-Funktion: $\sigma(x) = \frac{1}{1 + e^{-x}}$
Die Identität: $\mathrm{id}(x) = x$

Hier eine überblicksartige graphische Darstellung eines künstlichen Neurons:

Für Interessierte: Warum ist das künstliche Neuron so definiert?

  • Um den Eingangswerten $x_1, x_2, \ldots, x_n$ verschieden hohe Bedeutung zuzumessen, werden sie mit den Gewichten $w_1, w_2, \ldots, w_n$ multipliziert: $x_1\cdot w_1 + x_2\cdot w_2 + \ldots + x_n\cdot w_n$
  • Fasst man die Werte zu Vektoren $\vec{x} = (x_1\ x_2\ \ldots\ x_n)$ und $\vec{w} = \begin{pmatrix} w_1 \\w_2 \\ \vdots \\w_3 \end{pmatrix}$ zusammen, so kann man die gewichtete Summe als Skalarprodukt auffassen:
    $x_1\cdot w_1 + x_2\cdot w_2 + \ldots + x_n\cdot w_n = \vec{x} \circ \vec{w}$
    Dieses lässt sich mit modernen Prozessoren sehr schnell berechnen.
  • Der Schwellenwert $\theta$ modelliert, dass das Neuron erst ab einem bestimmten Wert "feuert".
  • Die Aktivierungsfunktion hat die Aufgabe, die Ausgangswerte auf das Intervall $[0; 1]$ abzubilden, also zu normieren. Besonderer Bedeutung kommt der Sigmoid-Funktion zu, da sie stetig und differenzierbar ist und ihre Ableitung sehr leicht berechnet werden kann: $\sigma'(x) = \sigma(x)\cdot(1-\sigma(x))$

Beispiel 1: Erkennen der Baumart anhand von Höhe und Masse

Ausgewählte Eichen und Pappeln wurden vor dem Fällen vermessen und nach dem Fällen gewogen. Je Baum wurde ein Punkt ins rechts dargestellte Koordinatensystem gezeichnet.
Konstruieren Sie ein künstliches Neuron, das die Baumhöhe in m und die Masse in t als Eingabwerte entgegennimmt und eine 1 ausgibt, falls es sich um eine Eiche handelt und ein 0, falls es sich um eine Pappel handelt.

Lösung:

Wir zeichnen eine Grade ein, die die grünen und Roten Punktmengen möglichst gut voneinander trennt ("Trennlinie"). Sie geht durch die Punkte (2/0) und (8/0,5), kann also durch die Gleichung $$x_2 = x_1 \cdot \frac{1}{12} - \frac{1}{6}\ \ \ (I)$$ beschrieben werden.

Multipliziert man beide Seiten der Gleichung mit 6 und bringt man alle Summanden auf die linke Seite, so erhält man: $$-0,5 \cdot x_1 + 6\cdot x_2 + 1 = 0\ \ \ (II)$$ Verwendet man für das Neuron die Heaviside-Funktion und als Parameter $$w_1 = -0,5,\ w_2 = 6,\ \theta = -1$$ so liefert das Neuron den Wert 1, falls $$w_1 \cdot x_1 + w_2\cdot x_2 - \theta \ge 0\ \ \ (III)$$ (d.h. wenn der Wert "oberhalb" der Trennlinie liegt) und den Wert 0, falls $$w_1 \cdot x_1 + w_2\cdot x_2 - \theta < 0\ \ \ (IV)$$ (d.h. wenn der Wert "unterhalb" der Trennlinie liegt).

Ein mögliches Neuron, das die Punktmengen der Testdaten gut trennt, ist also:

Details zur Lösungsfindung

Wie kommt man auf die Geradengleichung?

Die Steigung $m$ der Gerade erhält man als $m = \frac{\Delta x_2}{\Delta x_1} = \frac{0,5 - 0}{8 - 2} = \frac{0,5}{6} = \frac{1}{12}$. Setzt man diese in die Geradengleichung $x_2 = m \cdot x_1 + t$ ein, so erhält man $$x_2 = \frac{1}{12}\cdot x_1 + t$$ Da der Punkt (2/0) auf der Geraden liegt, muss gelten $$0 = \frac{1}{12}\cdot 2 + t$$ Damit erhält man $t = -\frac{1}{6}$ und so die Geradengleichung $$x_2 = x_1 \cdot \frac{1}{12} - \frac{1}{6}$$

Wie stellt man sicher, dass das Neuron bei Eichen 1 ausgibt und bei Pappeln 0 und nicht umgekehrt?

Bei den angegebenen Parametern $$w_1 = -0,5,\ w_2 = 6,\ \theta = -1$$ und unter Verwendung der Heaviside-Funktion gibt das Neuron 1 aus, falls $$-0,5 \cdot x_1 + 6\cdot x_2 + 1 \ge 0$$ Wir wissen, dass für alle Punkte auf der Trennlinie gilt $$-0,5 \cdot x_1 + 6\cdot x_2 + 1 = 0$$ Am positiven Faktor 6 vor $x_2$ sehen wir, dass der Wert des Terms auf der linken Seite steigt, falls bei gleichbleibendem $x_1$ der Wert von $x_2$ erhöht wird, das heißt, wenn wir uns im Koordinatensystem nach "oben" bewegen. Für die Eichen, das sind die Punkte auf der Trennlinie und oberhalb, gilt daher $$-0,5 \cdot x_1 + 6\cdot x_2 + 1 \ge 0$$ und damit liefert das Neuron für sie den Wert 1.

Wir hatten natürlich Glück, dass es genau so passt. Falls die Pappeln auf der Halbebene oberhalb der Trennlinie liegen würden, würden wir Gleichung (II) einfach mit -1 durchmultiplizieren. Das würde dann bewirken, dass das Neuron für die Punkte auf- und unterhalb der Trennlinie den Wert 1 ausgibt. Natürlich hätte das Neuron damit die Parameter $$w_1 = 0,5,\ w_2 = -6,\ \theta = 1$$

ki/neuron.1767633929.txt.gz · Zuletzt geändert: von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki