Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
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:
- Gesichtserkennung
- Generierung von Bildern andhand von Textbeschreibungen (z.B. https://thisxdoesnotexist.com/)
- Erkennung von Sprache (z.B. in digitalen Sprachassistenten wie Alexa und Siri)
- Erkennung von Bildern (https://quickdraw.withgoogle.com/)
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: 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))$

