Benutzer-Werkzeuge

Webseiten-Werkzeuge


ki:neuronen:start

Dies ist eine alte Version des Dokuments!


Das künstliche Neuron

Künstliche neuronale Netze sind ein wichtiger Teilbereich der Künstlichen Intelligenz. Sie können mit gelabelten Testdaten trainiert werden (überwachtes Lernen) und viele Probleme lösen, die handprogrammierten Algorithmen nicht zugänglich sind.

Beispiele:

Von der Nervenzelle zum künstlichen Neuron (Perzeptron)

Eine Nervenzelle (Neuron) hat mehrere Eingänge und einen Ausgang. An den Eingängen erhält sie verschieden starke Stromimpulse, am Ausgang generiert sie ebenfalls einen Stromimpuls, dessen Stärke von der Stärke der Impulse an den Eingängen abhängt. Es liegt nahe, auf ähnliche Weise ein künstliches Neuron zu erstellen, das - abhängig von den Eingangsgrößen $x_1, x_2,\ \ldots,\ x_n$ am Ausgang den Wert 0 oder 1 liefert.

Definition eines künstlichen Neurons

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$ (sprich: "Theta") und
  • die Aktivierungsfunktion, in Jahrgangsstufe 11 ausschließlich die Heaviside-Funktion $H(x)$.

Die Heaviside-Funktion ist folgendermaßen definiert: $H(x) = \begin{cases} 0 & \text{für } x < 0 \\ 1 & \text{für } x \ge 0 \end{cases}$

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

Das heißt, das Neuron hat den Ausgabewert 1 (man sagt, es "feuert"), wenn $$x_1\cdot w_1 + x_2\cdot w_2 + \ldots + x_n\cdot w_n - \Theta \ge 0$$

Für Interessierte:

a) Welche weiteren Aktivierungsfunktionen gibt es?
Die am häufigsten verwendeten Aktivierungsfunktionen sind:

Die Heaviside-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$

b) Warum ist das künstliche Neuron so definiert?
Das künstliche Neuron bildet die Funktionsweise natürlicher Neuronen bei weitem nicht exakt nach, sondern ist nur ein einfaches Modell, das sich in der Praxis als funktionsfähig erwiesen hat. Folgende Überlegungen haben bei seiner Definition sicher eine Rolle gespielt:

  • 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 (insbesondere auch denen auf Grafikkarten) 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))$

c) Lernen wir in Jahrgangsstufe 11 wirklich nur ein einzelnes künstliches Neuron kennen? Wars das dann?!?
Ich kann verstehen, dass Sie enttäuscht sind, insbesondere dann, wenn in Jahrgangsstufe 12 vielleicht mal kein Informatikkurs zustandekommt. Daher hier ein paar Quellen, die Ihnen helfen, sich über Neuronale Netze selbst zu informieren:

ki/neuronen/start.1779257019.txt.gz · Zuletzt geändert: von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki