Warum wird ein einschichtiges verstecktes Netzwerk gegenüber einer schlechten Initialisierung mit einer wachsenden Anzahl versteckter Neuronen robuster?


8

Kurz gesagt: Ich möchte verstehen, warum ein neuronales Netzwerk mit einer verborgenen Schicht zuverlässiger auf ein gutes Minimum konvergiert, wenn eine größere Anzahl versteckter Neuronen verwendet wird. Nachfolgend eine detailliertere Erklärung meines Experiments:

Ich arbeite an einem einfachen 2D-XOR-ähnlichen Klassifizierungsbeispiel, um die Auswirkungen der Initialisierung neuronaler Netze besser zu verstehen. Hier ist eine Visualisierung der Daten und der gewünschten Entscheidungsgrenze: Geben Sie hier die Bildbeschreibung ein

Jeder Blob besteht aus 5000 Datenpunkten. Das neuronale Netzwerk mit minimaler Komplexität zur Lösung dieses Problems ist ein Netzwerk mit einer verborgenen Schicht und zwei versteckten Neuronen. Da diese Architektur die minimal mögliche Anzahl von Parametern hat, um dieses Problem zu lösen (mit einem NN), würde ich naiv erwarten, dass dies auch am einfachsten zu optimieren ist. Dies ist jedoch nicht der Fall.

Ich fand heraus, dass diese Architektur bei zufälliger Initialisierung etwa die Hälfte der Zeit konvergiert, wobei die Konvergenz von den Vorzeichen der Gewichte abhängt. Insbesondere habe ich folgendes Verhalten beobachtet:

w1 = [[1,-1],[-1,1]], w2 = [1,1] --> converges
w1 = [[1,1],[1,1]],   w2 = [1,-1] --> converges
w1 = [[1,1],[1,1]],   w2 = [1,1] --> finds only linear separation
w1 = [[1,-1],[-1,1]], w2 = [1,-1] --> finds only linear separation

Das macht für mich Sinn. In den beiden letztgenannten Fällen bleibt die Optimierung in suboptimalen lokalen Minima stecken. Wenn jedoch die Anzahl der versteckten Neuronen auf Werte größer als 2 erhöht wird, entwickelt das Netzwerk eine Robustheit gegenüber der Initialisierung und beginnt zuverlässig für zufällige Werte von w1 und w2 zu konvergieren. Sie können immer noch pathologische Beispiele finden, aber mit 4 versteckten Neuronen ist die Wahrscheinlichkeit größer, dass ein "Pfadweg" durch das Netzwerk nicht pathologische Gewichte aufweist. Aber passiert mit dem Rest des Netzwerks, wird es dann einfach nicht verwendet?

Versteht jemand besser, woher diese Robustheit kommt, oder kann er vielleicht Literatur zu diesem Thema anbieten?

Weitere Informationen: Dies tritt in allen von mir untersuchten Trainingseinstellungen / Architekturkonfigurationen auf. Zum Beispiel wurden Aktivierungen = Relu, endgültige_Aktivierung = Sigmoid, Optimierer = Adam, Lernrate = 0,1, Kostenfunktion = Kreuzentropie, Verzerrungen in beiden Schichten verwendet.


2
Die Anzahl der versteckten Einheiten hängt nicht nur von der Komplexität der Funktion ab, sondern auch von der Anzahl der Proben, die Sie haben. Konsultieren Sie diese großartige Referenz .
BartoszKP

1
@ BartoszKP: Vielen Dank für den Hinweis. Es sieht im Allgemeinen unglaublich nützlich aus! In diesem Fall interessiert mich keine Heuristik zur Auswahl der optimalen Anzahl versteckter Einheiten. Ich weiß, dass das Problem mit 2 lösbar ist und Über- / Unteranpassung ein Problem ist, sodass die Anzahl der Datenpunkte nicht relevant sein sollte. Mein Ziel ist es eher, eine Vorstellung davon zu bekommen, warum ein Netzwerk mit redundanter Kapazität hier von Vorteil ist.
Chrigi

1
Was meinst du mit linearer Trennung?
DuttaA

1
@DuttaA: Ich meine, den Raum in nur zwei Domänen zu unterteilen, die durch eine einzelne Zeile getrennt sind, anstatt wie oben gezeigt in zwei Zeilen. Stellen Sie sich vor, die untere rechte Ecke ist ebenfalls rot.
Chrigi

1
ai.stackexchange.com/questions/2349/… überprüfen Sie die Antworten
DuttaA

Antworten:


1

Sie haben ein bisschen von der Antwort verstanden.

In den beiden letztgenannten Fällen bleibt die Optimierung in suboptimalen lokalen Minima stecken.

Wenn Sie nur zwei Dimensionen haben, existiert ein lokales Minimum. Wenn Sie mehr Dimensionen haben, wird es immer schwieriger, diese Minima zu erreichen, da ihre Wahrscheinlichkeit abnimmt. Intuitiv haben Sie viel mehr Dimensionen, durch die Sie sich verbessern können, als wenn Sie nur 2 Dimensionen hätten.

Das Problem besteht immer noch, selbst bei 1000 Neuronen konnte man einen bestimmten Satz von Gewichten finden, der ein lokales Minimum war. Es wird jedoch viel weniger wahrscheinlich.


Aber lokale Minima werden immer existieren. Wahrscheinlich gibt es mit 4 versteckten Neuronen viel mehr lokale Minimale als mit 2, richtig? Warum bleibt es dann weniger wahrscheinlich, in einem stecken zu bleiben?
Chrigi

Die lokalen Minima nehmen nicht unbedingt mit mehr Neuronen zu (obwohl sie es könnten!). Trotzdem sind sie schwerer zu finden, weil Sie mehr Dimensionen haben und es bei all diesen ein Minimum sein muss. Ein lokales Minimum mit XY muss also nur ein lokales Minimum für XY sein, während es bei 100 Neuronen ein Minimum für alle 100 Dimensionen sein muss, damit sich Backprop dort niederlässt.
BlueMoon93

Okay, wenn die Anzahl der lokalen Minima mit der Anzahl der versteckten Neuronen langsam genug wächst, ist dies sinnvoll. Danke für deine Antwort! Wissen Sie, ob es gute Materialien gibt, die diese Dinge diskutieren? Das heißt, wie sieht die Optimierungs- "Landschaft" aus und wie wird sie sich wahrscheinlich mit der Komplexität des Netzwerks ändern?
Chrigi

IIRC David Silver erwähnt die Robustheit neuronaler Netze in diesem Kurs, aber ich konnte den genauen Moment nicht finden. Er beschreibt im Grunde genommen, dass das Netz so viele Parameter hat, dass es gegenüber lokalen Minima robust ist. Bei der Visualisierung der Landschaft ist es unmöglich, genügend Eingaben zu machen. Sie könnten es mit Ihren 2 Eingangsneuronen tun, aber mehr als das kann für Menschen nicht visuell dargestellt werden. Ich machte einen Workshop und erwähnte einige Anzeigen hier
BlueMoon93

@ BlueMoon93 Ich war immer mit dem Problem konfrontiert, bei diskreten Eingängen und diskreten Ausgängen in lokalen Minima zu stecken ... Ich habe noch keine Probleme für kontinuierliche Eingabeklassifizierungsaufgaben. Aber können diese existieren?
DuttaA

0

Ich habe möglicherweise die Oberfläche eines viel größeren Problems zerkratzt, als ich diese Frage gestellt habe. In der Zwischenzeit habe ich das Papier zur Lotterie-Hypothese gelesen: https://arxiv.org/pdf/1803.03635.pdf

Grundsätzlich ist es wahrscheinlicher, dass Sie bei einer Überparametrisierung Ihres Netzwerks eine zufällige Initialisierung finden, die eine gute Leistung erbringt: Ein Gewinn-Ticket. Das obige Papier zeigt, dass Sie die nicht benötigten Teile des Netzwerks nach dem Training tatsächlich entfernen können. Sie müssen das Netzwerk jedoch zunächst überparametrieren, um die Wahrscheinlichkeit zu erhöhen, dass eine erfolgreiche Ticketkonfiguration zufällig ausgewählt wird.

Ich glaube, der Fall in meiner obigen Frage ist ein minimales Beispiel dafür.

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.