963 Stimmen

Welche Rolle spielt die Verzerrung in neuronalen Netzen?

Ich kenne den Gradientenabstieg und den Back-Propagation-Algorithmus. Was ich nicht verstehe, ist: Wann ist die Verwendung einer Vorspannung wichtig und wie verwendet man sie?

Zum Beispiel, wenn die Abbildung der AND Funktion, wenn ich zwei Eingänge und einen Ausgang verwende, gibt sie nicht die richtigen Gewichte an. Wenn ich jedoch drei Eingaben verwende (von denen eine eine Vorspannung ist), gibt sie die richtigen Gewichte an.

1569voto

Nate Kohl Punkte 34194

Ich denke, dass Vorurteile fast immer hilfreich sind. In der Tat, Mit einem Bias-Wert können Sie die Aktivierungsfunktion nach links oder rechts verschieben. die für den Lernerfolg entscheidend sein können.

Es könnte hilfreich sein, sich ein einfaches Beispiel anzuschauen. Betrachten Sie dieses Netzwerk mit 1 Eingang und 1 Ausgang, das keine Vorspannung hat:

simple network

Der Ausgang des Netzes wird durch Multiplikation des Eingangs (x) mit dem Gewicht (w 0 ) und das Ergebnis durch eine Art Aktivierungsfunktion (z. B. eine Sigmoidfunktion) zu leiten.

Hier ist die Funktion, die dieses Netzwerk für verschiedene Werte von w berechnet 0 :

network output, given different w0 weights

Ändern des Gewichts w 0 ändert im Wesentlichen die "Steilheit" des Sigmas. Das ist nützlich, aber was ist, wenn das Netz 0 ausgeben soll, wenn x gleich 2 ist? Einfach die Steilheit des Sigmoids zu ändern, wird nicht wirklich funktionieren. Sie möchten die gesamte Kurve nach rechts verschieben können .

Das ist genau das, was der Bias Ihnen erlaubt zu tun. Wenn wir diesem Netzwerk eine Verzerrung hinzufügen, etwa so:

simple network with a bias

...dann wird die Ausgabe des Netzes sig(w 0 *x + w 1 *1.0). So sieht die Ausgabe des Netzes für verschiedene Werte von w aus 1 :

network output, given different w1 weights

Mit einem Gewicht von -5 für w 1 verschiebt die Kurve nach rechts, so dass wir ein Netz haben, das 0 ausgibt, wenn x 2 ist.

429voto

zfy Punkte 4317

Eine einfachere Art zu verstehen, was die Verzerrung ist: Sie ähnelt in gewisser Weise der Konstante b einer linearen Funktion

y = ax + b

Damit können Sie die Linie nach oben und unten verschieben, um die Vorhersage besser an die Daten anzupassen.

Ohne b geht die Linie immer durch den Ursprung (0, 0) und Sie erhalten möglicherweise eine schlechtere Anpassung.

119voto

JP K. Punkte 1121

Die folgenden Abbildungen zeigen das Ergebnis eines einfachen neuronalen Netzes mit zwei Schichten und ohne Bias-Einheiten für ein Regressionsproblem mit zwei Variablen. Die Gewichte werden nach dem Zufallsprinzip initialisiert und die Standard-ReLU-Aktivierung wird verwendet. Wie aus den Antworten vor mir hervorgeht, ist das ReLU-Netz ohne Vorspannung nicht in der Lage, von Null bei (0,0) abzuweichen.

enter image description here enter image description here enter image description here

57voto

Kiril Punkte 38504

Zwei verschiedene Arten von Parametern können während des Trainings eines ANN angepasst werden: die Gewichte und der Wert in der Aktivierungsfunktionen. Dies ist unpraktisch und es wäre einfacher, wenn nur einer der Parameter angepasst werden angepasst wird. Um dieses Problem zu lösen, wurde ein Bias-Neuron erfunden. Das Bias Neuron liegt in einer Schicht, ist verbunden mit allen Neuronen der nächsten Schicht verbunden, aber keinem in der vorherigen Schicht und es gibt immer 1 aus. Da das Bias-Neuron 1 ausgibt, werden die Gewichte, die mit dem Bias-Neuron verbunden sind, direkt zu der kombinierten Summe der anderen Gewichte (Gleichung 2.1), genau wie der t-Wert in den Aktivierungsfunktionen. 1

Der Grund, warum es unpraktisch ist, liegt darin, dass Sie gleichzeitig das Gewicht und den Wert anpassen, so dass jede Änderung des Gewichts die Änderung des Werts, die für eine vorherige Dateninstanz nützlich war, neutralisieren kann... Das Hinzufügen eines Bias-Neurons ohne einen sich ändernden Wert ermöglicht es Ihnen, das Verhalten der Schicht zu steuern.

Darüber hinaus ermöglicht die Verzerrung die Verwendung eines einzigen neuronalen Netzes zur Darstellung ähnlicher Fälle. Betrachten wir die boolesche Funktion AND, die durch das folgende neuronale Netz dargestellt wird:

ANN
(Quelle: <a href="http://www.aihorizon.com/images/essays/perceptron.gif" rel="noreferrer">aihorizon.com </a>)

  • w0 entspricht b .
  • w1 entspricht x1 .
  • w2 entspricht x2 .

Ein einzelnes Perzeptron kann verwendet werden, um viele boolesche Funktionen darstellen.

Wenn wir zum Beispiel boolesche Werte annehmen von 1 (wahr) und -1 (falsch) annehmen, dann ist eine Möglichkeit, ein Perzeptron mit zwei Eingängen zu verwenden die UND-Funktion zu implementieren, ist die Einstellung die Gewichte w0 = -3 und w1 = w2 = .5. Dieses Perzeptron kann so eingestellt werden, dass es stattdessen die ODER-Funktion darstellen, indem den Schwellenwert auf w0 = -,3 ändert. In können AND und OR als Spezialfälle von Spezialfälle von m-von-n-Funktionen angesehen werden: Das heißt, Funktionen, bei denen mindestens m der der n Eingaben in das Perzeptron wahr sein müssen wahr sein müssen. Die ODER-Funktion entspricht m = 1 und der AND-Funktion mit m = n. Jede m-von-n-Funktion lässt sich leicht mit einem Perzeptron dargestellt werden, indem alle Eingangsgewichte auf denselben Wert gesetzt Wert (z. B. 0,5) setzen und dann den Schwellenwert w0 entsprechend.

Perceptrons können die gesamte Bandbreite der primitiven booleschen Funktionen AND, OR, NAND ( 1 AND) und NOR ( 1 OR) darstellen. Maschinelles Lernen - Tom Mitchell)

Der Schwellenwert ist die Verzerrung und w0 ist das Gewicht, das dem Bias/Schwellenwert-Neuron zugeordnet ist.

35voto

Pradi KL Punkte 658

Die Verzerrung ist keine _NN_ Begriff. Es ist ein allgemeiner Algebra-Begriff, der zu berücksichtigen ist.

Y = M*X + C (Geradengleichung)

Wenn nun C(Bias) = 0 dann geht die Linie immer durch den Ursprung, d. h. (0,0) und hängt nur von einem Parameter ab, d.h. M Das ist die Neigung, mit der wir weniger zu tun haben.

C die Vorspannung nimmt eine beliebige Zahl und hat die Aktivität, den Graphen zu verschieben, und ist daher in der Lage, komplexere Situationen darzustellen.

Bei einer logistischen Regression wird der erwartete Wert des Ziels durch eine Verknüpfungsfunktion transformiert, um seinen Wert auf das Einheitsintervall zu beschränken. Auf diese Weise können die Modellvorhersagen als primäre Ergebniswahrscheinlichkeiten betrachtet werden, wie dargestellt:

Sigmoidfunktion auf Wikipedia

Dies ist die letzte Aktivierungsschicht in der NN-Karte, die das Neuron ein- und ausschaltet. Auch hier spielt die Vorspannung eine Rolle, die die Kurve flexibel verschiebt und uns bei der Abbildung des Modells hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X