Der Bias

Integrationskonstante

Bereits bei der Linearen Regression hatten wir festgestellt, dass wir neben dem Paramter der Steigung 𝑚m noch einen zweiten Parameter b benötigten, obwohl es sich eigentlich um ein eindimensionales Problem handelt. Auch bei der Polynomialen Regression tauchte eine Konstante a_0 auf. Diese Konstanten waren notwendig, denn die übrigen Parameter sorgten nur dafür, dass die Ausgleichsgerade bzw. das Ausgleichspolynom die Änderungsrate zwischen den Messwerten berücksichtigt, aber nicht deren absolute Lage. d.h. die approximierende Kurve hat zwar die Form, aber nicht die richtige Position und muss noch vertikal verschoben werden. Dazu ist ein konstanter Faktor notwendig, den wir in der Schulmathematik als Integrationskonstante kennengelernt haben. Ohne diese Konstante könnten wir nur Funktionen approximieren, die im Nullpunkt den Wert Null haben.

Auch im Deep Learning taucht diese Konstante auf; sie wird dann der Bias genannt.

Der Bias

Der Bias ist für KNN unerlässlich; nur auf diese Weise lässt sich bei Eingangssignalen 0 ein von 0 verschiedenes Ausgangssignal erzielen. Der Bias entspricht bei der Linearen und Polynomialen Regression dem konstanten Koeffizienten a_0.

Bereits beim Perzeptron haben wir den Bias b kennengelernt. Dort wurde er neben den beiden Gewichten w_1,w_2 eingeführt, um einen von 0 verschiedenen Ausgang zu erzielen, obwohl beide Eingänge 0 sind. Dies führte zu der Lernregel

(1)   \begin{equation*}\begin{split}w_{1,2} &\rightarrow w_{1,2} + \alpha (y - o) x_{1,2}\\b &\rightarrow b + \alpha (y - o )\end{split}\end{equation*}


Wir brauchten also zwei Anweisungen, um die Gewichte und den Bias anzupassen.

Es ist aber lästig, ständig zwei Regeln zu entwickeln, für N Gewichte und den Bias. Mit einem Trick können wir dieses Problem lösen!

 Ein Zaubertrick – Der verschwundene Bias

Es ist allerdings weniger ein Zaubertrick, sondern eine geschickte neue Notation. Wir zeigen sie am Beispiel des Perzeptrons. Wir führen ein weiteres (virtuelles) Eingangsneuron ein, an dem immer der Wert 1 anliegt. Dieses Neuron bekommt den Index 0. Damit haben wir nun die Eingangsneuronen x_0,x_1,x_2. Betrachten wir nun b als Gewicht dieses fiktiven Eingangsneurons und bezeichnen es mit w_0, so erhalten wir folgendes KNN:

Das Perzeptron, in dem der Bias durch ein fiktives Eingabe-Neuron ersetzt wurde.

Unsere Verlustfunktion lässt sich nun einfach schreiben als

    \[L(w_k) = \sum_{k=0}^2 (w_k x_k - y_k)^2\]

und unser Lernalgorithmus wird einfach zu

    \[w_k \rightarrow w_k + \alpha (y - o) x_k, \;\;\;k=0,1,2.\]

Dieser kleine Kniff macht die Formeln sehr übersichtlich. Man muss sich lediglich merken, dass das 0. Neuron immer den Wert 1 hat. Wir werden dies in Zukunft bei Bedarf verwenden, wie es auch in der Fachliteratur häufig gemacht wird.