Aktivierungsfunktion

Im Abschnitt zuvor haben wir bereits die Verallgemeinerung zugelassen, dass Eingangsneuronen nicht nur die Werte 0 und 1 annehmen können, sondern auch (reelle) Zahlen zwischen 0 und 1. Für alle anderen Neuronen ergibt das Modell aber weiterhin nur aktiviert (1) bzw. nicht aktiviert (0). Und genau dies wollen wir nun ändern, sodass sämtliche Neuronen auch Werte zwischen 0 und 1 annehmen können.

Der Wert eines jeden Neurons soll aber weiterhin vom Schwellwerte sowie von der gewichteten Summe der einwirkenden Neuronen abhängen. Genauer soll gelten:

Je größer die Differenz zwischen gewichteter Summe der einwirkenden Neuronen und Schwellwert,

desto größer der Wert des Neurons. Zudem soll der Wert eines jeden Neurons aus dem Intervall [0,1] sein.

Und genau hier kommt eine sogenannte Aktivierungsfunktion ins Spiel:

Der Wert von Neuron A ist

unter Verwendung einer geeigneten Aktivierungsfunktion mit

Eine sehr einfache Aktivierungsfunktion ist die Stufenfunktion:

Mit dieser Aktivierungsfunktion ergibt sich exakt das gleiche Verhalten wie zuvor, denn ist gleichbedeutend mit der für aktivierte Neuronen gültigen Ungleichung

wie bisher. Eine in vielerlei Hinsicht sinnvollere Wahl ist folgende:

Ein geeignete und häufig genutze Aktivierungsfunktion ist die Sigmoid-Funktion:

Unter Verwendung der Sigmoid-Funktion erhalten alle Neuronen einen Wert zwischen 0 und 1 und zudem gilt die geforderte Eigenschaft:

Je größer die Differenz zwischen gewichteter Summe der einwirkenden Neuronen und Schwellwert,

desto größer der Wert des Neurons.

Auch diese Verallgemeinerung lässt sich im Quellcode auf einfache Art und Weise berücksichtigen.

Anwendung
Gegeben ist ein neuronales Netz samt Gewichten und Schwellwerten. Definiere die Eingangsneuronen und beobachte, wie sich die übrigen Neuronen verändern.
Aufgabe

Bestimme die Werte der Neuronen A bis E in Abhängigkeit der gewählten Zustände der Eingangsneuronen sowie unter Verwendung der Sigmoid-Aktivierungsfunktion.

Implementierung
Der Quellcode zeigt, wie das Modell mit einer beliebigen Anzahl an Schichten implementiert werden kann. Als Aktivierungsfunktion wird die Sigmoid-Funktion verwendet.
Quiz
Schwertlilien