Warum werden Gewichte neuronaler Netze mit Zufallszahlen initialisiert?


9

Warum werden Anfangsgewichte neuronaler Netze als Zufallszahlen initialisiert? Ich hatte irgendwo gelesen, dass dies getan wird, um "die Symmetrie zu brechen" und dies das neuronale Netzwerk schneller lernen lässt. Wie kann das Brechen der Symmetrie schneller lernen?

Wäre es nicht besser, die Gewichte auf 0 zu initialisieren? Auf diese Weise könnten die Gewichte ihre Werte (ob positiv oder negativ) schneller finden?

Gibt es eine andere zugrunde liegende Philosophie hinter der Randomisierung der Gewichte, abgesehen von der Hoffnung, dass sie bei der Initialisierung nahe an ihren optimalen Werten liegen würden?

Antworten:


6

Die grundlegende Intuition hinter dem Initialisieren von Gewichtsschichten in kleine (und unterschiedliche) Werte besteht darin, dass die Vorspannung des Systems unterbrochen wird und sich Gewichtswerte entlang und weg und auseinander zu unterschiedlichen Werten bewegen können.

Genauer gesagt, Sie möchten wahrscheinlich, dass Ihre Anfangsgewichte deutlich sind und "eine kleine Lücke" zwischen ihnen haben. Diese "Lücke" vergrößert sich im Laufe der Zeit und zwingt die Gewichte, bei jeder Iteration etwas größer zu werden, und dies hilft das Netzwerk schneller zu konvergieren, dh der Lernprozess beschleunigt.

Wenn Sie stattdessen alle Ihre Gewichte auf eine Konstante bringen würden, wird jedes Gewicht mit einer sehr langsamen (~ festen) Rate aktualisiert, und dies hilft nicht viel, insbesondere wenn die Anfangswerte "sehr weit" von den Endwerten entfernt sind.

Hoffe das hilft, viel Spaß beim Lernen :)


Was Sie also sagen, ist die Zufallsgenerierung der Anfangsgewichte gleichbedeutend damit, dass Sie jedem Gewicht einen Anstoß in die Richtung geben, in die es sich bewegen muss (und die Lücke, um sich zu vergrößern).
Shayan RC

Ich denke nicht, dass es in die richtige Richtung gehen muss. Sie können auch mit einem Init-Gewicht von [-0,5, +0,5] beginnen, wobei die Endwerte [+0,5, -0,5] sein können verschiedene Werte ..
Subhayan

Es ist über ein Jahr her, seit ich mit NNs gearbeitet habe, also spreche ich handgewellt. Bitte lassen Sie mich wissen, wenn Sie die Mathematik dahinter haben möchten. aber ich denke, es ist wichtiger, die Intuition hier zu bekommen, die Mathematik ist so ziemlich überall verfügbar .. :)
Subhayan

Die Mathematik dahinter wäre hilfreich, aber noch hilfreicher wären einige praktische Ratschläge: Wie klein sollten die Anfangsgewichte sein (10 ^?) Wie variieren sie für verschiedene Arten von Netzwerken? Gibt es magische Zahlen, die für alle funktionieren?
Shayan RC
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.