Faltungsneuronale Netze: Sind die zentralen Neuronen in der Ausgabe nicht überrepräsentiert?


30

[Diese Frage wurde auch beim Stapelüberlauf gestellt]

Die Frage in Kürze

Ich untersuche faltungsbedingte neuronale Netze und glaube, dass diese Netze nicht jedes Eingangsneuron (Pixel / Parameter) gleichwertig behandeln. Stellen Sie sich vor, wir haben ein tiefes Netzwerk (viele Ebenen), das auf ein Eingabebild eine Faltung anwendet. Die Neuronen in der "Mitte" des Bildes haben viele einzigartige Wege zu vielen Neuronen der tieferen Schicht, was bedeutet, dass eine kleine Variation in den mittleren Neuronen einen starken Einfluss auf die Ausgabe hat. Die Neuronen am Bildrand haben jedoch nur Wege (oder, abhängig von der genauen Implementierung, in der Größenordnung von ), in denen ihre Informationen durch den Graphen fließen. Es scheint, dass diese "unterrepräsentiert" sind.11

Ich mache mir Sorgen darüber, da diese Unterscheidung von Randneuronen exponentiell mit der Tiefe (Anzahl der Schichten) des Netzwerks skaliert . Selbst das Hinzufügen einer Max-Pooling-Schicht kann den exponentiellen Anstieg nicht aufhalten. Nur eine vollständige Verbindung bringt alle Neuronen auf die gleiche Grundlage. Ich bin jedoch nicht davon überzeugt, dass meine Argumentation richtig ist, daher lauten meine Fragen:

  • Habe ich recht, dass dieser Effekt in tiefen Faltungsnetzwerken stattfindet?
  • Gibt es eine Theorie darüber, wurde sie jemals in der Literatur erwähnt?
  • Gibt es Möglichkeiten, diesen Effekt zu überwinden?

Da ich nicht sicher bin, ob dies genügend Informationen enthält, werde ich etwas mehr über die Problemstellung und den Grund, warum ich dies für bedenklich halte, berichten.

Detailliertere Erklärung

Stellen Sie sich vor, wir haben ein tiefes neuronales Netzwerk, das ein Bild als Eingabe verwendet. Angenommen, wir wenden einen Faltungsfilter von Pixel auf das Bild an, wobei wir das Faltungsfenster jedes Mal um Pixel verschieben. Dies bedeutet, dass jedes Neuron in der Eingabe seine Aktivierung an Neuronen in Schicht sendet . Jede dieser Neuronen könnte ihre Aktivierung an einem anderen senden 265 , so dass unser oberstes Neuron in dargestellt ist 265 ^ 2 Ausgangsneuronen, und so weiter.64×64416×16=26522652652

Dies gilt jedoch nicht für Neuronen an den Rändern: Diese werden möglicherweise nur in einer kleinen Anzahl von Faltungsfenstern dargestellt, sodass sie in der nächsten Schicht (in der Größenordnung von) nur Neuron aktivieren . Tricks wie das Spiegeln entlang der Ränder helfen nicht weiter: Die zu projizierenden Neuronen der zweiten Schicht befinden sich noch an den Rändern, was bedeutet, dass die Neuronen der zweiten Schicht unterrepräsentiert sind (was die Bedeutung von einschränkt) auch unsere Randneuronen). Wie zu sehen ist, skaliert diese Diskrepanz exponentiell mit der Anzahl der Schichten.1

Ich habe ein Bild zur Veranschaulichung des Problems erstellt, das hier zu finden ist (ich darf keine Bilder in den Beitrag selbst einfügen). Dieses Netzwerk hat ein Faltungsfenster der Größe . Die Zahlen neben den Neuronen geben die Anzahl der Pfade bis zum tiefsten Neuron an. Das Bild erinnert an Pascals Dreieck .3

https://www.dropbox.com/s/7rbwv7z14j4h0jr/deep_conv_problem_stackxchange.png?dl=0

Warum ist das ein Problem?

Dieser Effekt scheint auf den ersten Blick kein Problem zu sein: Grundsätzlich sollten sich die Gewichte automatisch so einstellen, dass das Netzwerk seinen Job macht. Außerdem sind die Kanten eines Bildes bei der Bilderkennung sowieso nicht so wichtig. Dieser Effekt macht sich bei alltäglichen Bilderkennungstests möglicherweise nicht bemerkbar, betrifft mich jedoch aus zwei Gründen: 1. Verallgemeinerung auf andere Anwendungen und 2. Probleme bei sehr tiefen Netzwerken.

1. Möglicherweise gibt es andere Anwendungen, wie die Sprach- oder Tonerkennung, bei denen die Neuronen in der Mitte nicht die wichtigsten sind. Das Anwenden von Faltung wird häufig in diesem Bereich durchgeführt, aber ich konnte keine Papiere finden, die den Effekt erwähnen, mit dem ich mich befasse.

2. Sehr tiefe Netzwerke werden einen exponentiell schlechten Effekt der Unterscheidung von Grenzneuronen bemerken , was bedeutet, dass Zentralneuronen um mehrere Größenordnungen überrepräsentiert werden können (stellen Sie sich vor, wir haben Schichten, sodass das obige Beispiel Wege ergeben würde Die zentralen Neuronen können ihre Informationen projizieren. Wenn man die Anzahl der Schichten erhöht, muss man an eine Grenze stoßen, an der Gewichte diesen Effekt nicht wirklich ausgleichen können.1026510

Stellen Sie sich nun vor, wir stören alle Neuronen um eine kleine Menge. Die zentralen Neuronen bewirken, dass sich die Ausgabe im Vergleich zu den Randneuronen um mehrere Größenordnungen stärker ändert. Ich glaube, dass für allgemeine Anwendungen und für sehr tiefe Netzwerke Wege gefunden werden sollten, um mein Problem zu umgehen.


8
Ich kann Ihre Frage nicht vollständig beantworten, habe jedoch folgendes Dokument gefunden: cs.utoronto.ca/~kriz/conv-cifar10-aug2010.pdf, das Ihr Problem behebt . Sie sprechen über verschiedene Lösungen: 1) Auffüllen der Kanten der Eingänge mit Nullen, 2) Hinzufügen von zufällig global verbundenen Komponenten oder 3) Fixieren und Weiterleiten der Kanten, damit keine Kanteninformationen verloren gehen. Ich war kürzlich neugierig auf das gleiche Problem und habe Ihre Frage gefunden. Ich bin immer noch dabei, die Details dieses Papiers durchzublättern. Ich hoffe es hilft.
Nfmcclure

Danke, genau das habe ich gesucht! Beeindruckend, dass sich dies schon ab 2 Lagen bemerkbar macht. Für diese TL, DR'ing das ganze Papier: Die Verwendung einer Kombination von 1) (Null-Polsterung) und 2) (zufällige globale Verbindungen) wurde als das beste Mittel befunden.
Koen


Ich bin neugierig, reicht es nicht, einen nicht überlappenden Offset zu verwenden? In Ihrem Beispiel haben Sie also 64x64-Patches und verschieben Ihre Eingabe jedes Mal um 64 Pixel, während Sie die Faltung anwenden. (Ihre "Verschiebung" ist mein "Offset"). Was ist, denke ich, genau das Gleiche wie Null-Auffüllen?
Renthal

1
Es tut mir leid, dass ich eine Weile nicht geantwortet habe. Ich arbeite nicht mehr an NN. Ich denke jedoch, ich könnte die Fragen beantworten, obwohl mir klar wurde, dass mein größeres Ziel darin bestand, besser zu verstehen, was vor sich geht (was ich immer noch nicht tue). 1) Dieser Effekt scheint tatsächlich aufzutreten. 2) Das oben verlinkte Papier beschreibt es und 3) untersucht auch Möglichkeiten, es zu überwinden. Zu Renthal: Nicht überlappende Patches (Auswahl von Offset = Konv. Größe) sollten mein Problem in der Tat lösen, aber die Leute finden oft überlappende Patches, die besser funktionieren. An EngrStudent, Entschuldigung, ich bin nicht mit Bootstrap Resampling vertraut.
Koen

Antworten:


4

In hierarchischen Modellen werden spärliche Darstellungen erwartet. Möglicherweise ist das, was Sie entdecken, ein Problem, das der hierarchischen Struktur von Deep-Learning-Modellen innewohnt. Insbesondere in der Gedächtnisforschung finden Sie zahlreiche wissenschaftliche Arbeiten zu "spärlichen Darstellungen".

Ich denke, Sie würden vom Lesen über "Rezeptorfelder" im visuellen Kortex profitieren. Es gibt nicht nur EIN- und AUS-Zellen im Säugetiergehirn, sondern auch HF-Zellen, die sowohl beim EIN- als auch beim AUS-Zustand ausgelöst werden. Möglicherweise könnte das Rand- / Spärlichkeitsproblem umgangen werden, indem das Modell aktualisiert wird, um die aktuellen neurowissenschaftlichen Erkenntnisse über das Sehen widerzuspiegeln, insbesondere in Tiermodellen.


3

Sie haben Recht, dass dies ein Problem ist, wenn die Faltung nur für die Bildpixel ausgeführt wird. Das Problem verschwindet jedoch, wenn Sie die Bilder auf null setzen (wie allgemein empfohlen). Dies stellt sicher, dass die Faltung den Filter für jedes Pixel gleich oft anwendet.


1
Ich bin noch nicht überzeugt. Das Auffüllen mit Nullen erzeugt nur mehr Ausgabepixel um die "mittleren" Pixel, die man ohne Auffüllen findet. Die Werte der "mittleren" Pixel sind genau gleich, unabhängig davon, welche Auffüllung man verwendet.
Koen

1
n×nn1

Die Faltungsvisualisierung in der Mitte
jon_simon
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.