Neuronales Netz mit Sprungschichtverbindungen


26

Ich interessiere mich für die Regression mit neuronalen Netzen.

Neuronale Netze mit Null versteckten Knoten und Sprungschichtverbindungen sind lineare Modelle.

Was ist mit den gleichen neuronalen Netzen, aber mit versteckten Knoten? Ich frage mich, welche Rolle die Sprungschichtverbindungen spielen würden.

Intuitiv würde ich sagen, dass das endgültige Modell eine Summe aus einem linearen Modell und einigen nichtlinearen Teilen ergibt, wenn Sie die Sprungschichtverbindungen einschließen.

Gibt es Vor- oder Nachteile beim Hinzufügen von Überspring-Layer-Verbindungen zu neuronalen Netzen?

Antworten:


38

Ich bin sehr spät dran, aber ich wollte etwas veröffentlichen, um einige aktuelle Entwicklungen in neuronalen Faltungsnetzen in Bezug auf das Überspringen von Verbindungen zu reflektieren .

Ein Microsoft-Forschungsteam hat kürzlich den ImageNet 2015-Wettbewerb gewonnen und einen technischen Bericht Deep Residual Learning for Image Recognition veröffentlicht, in dem einige ihrer Hauptideen beschrieben werden.

Einer ihrer Hauptbeiträge ist dieses Konzept tiefer Restschichten . Diese tiefen Restschichten verwenden Sprungverbindungen . Mit diesen tiefen Restschichten konnten sie ein Konvektionsnetz mit 152 Schichten für ImageNet 2015 trainieren. Sie trainierten sogar ein Konvektionsnetz mit mehr als 1000 Schichten für CIFAR-10.

Das Problem, das sie motivierte, ist das folgende:

Wenn tiefere Netzwerke konvergieren können, ist ein Verschlechterungsproblem aufgetreten: Mit zunehmender Netzwerktiefe wird die Genauigkeit gesättigt (was möglicherweise nicht überraschend ist) und nimmt dann schnell ab. Unerwarteterweise wird eine solche Verschlechterung nicht durch Überanpassung verursacht , und das Hinzufügen von mehr Schichten zu einem angemessen tiefen Modell führt zu einem höheren Trainingsfehler ...

Die Idee ist, dass, wenn Sie ein "flaches" Netzwerk nehmen und einfach auf mehr Ebenen stapeln, um ein tieferes Netzwerk zu erstellen, die Leistung des tieferen Netzwerks mindestens so gut sein sollte wie das flache Netzwerk, wenn das tiefere Netzwerk das exakte flache Netzwerk lernen könnte Netzwerk durch Setzen der neuen gestapelten Ebenen auf Identitätsebenen (in Wirklichkeit wissen wir, dass dies höchstwahrscheinlich ohne architektonische Prioritäten oder aktuelle Optimierungsmethoden nicht möglich ist). Sie stellten fest, dass dies nicht der Fall war und dass der Trainingsfehler manchmal schlimmer wurde, wenn mehr Schichten auf einem flacheren Modell gestapelt wurden.

Dies motivierte sie also, Sprungverbindungen zu verwenden und so genannte tiefe Restschichten zu verwenden, damit ihr Netzwerk Abweichungen von der Identitätsschicht lernen kann, daher der Begriff Residuum , Residuum, der sich hier auf den Unterschied zur Identität bezieht.

Sie implementieren Skip-Verbindungen auf folgende Weise: Bildbeschreibung hier eingeben

F(x): =H(x)-xF(x)+x=H(x)F(x)H(x)

Auf diese Weise ermöglicht die Verwendung tiefer Restschichten über Sprungverbindungen, dass ihre tiefen Netze ungefähre Identitätsschichten lernen, wenn dies tatsächlich optimal oder lokal optimal ist. In der Tat behaupten sie, dass ihre restlichen Schichten:

Wir zeigen durch Experimente (Abb. 7), dass die gelernten Restfunktionen im Allgemeinen kleine Antworten haben

Warum genau das funktioniert, wissen sie nicht genau. Es ist höchst unwahrscheinlich, dass Identitätsebenen optimal sind, sie glauben jedoch, dass die Verwendung dieser Restebenen die Vorkonditionierung des Problems erleichtert und es einfacher ist, eine neue Funktion zu lernen, wenn eine Referenz / Basislinie für den Vergleich mit der Identitätszuordnung angegeben wird, als eine "von Grund auf". ohne die Identitätsbasislinie zu verwenden. Wer weiß. Aber ich dachte, das wäre eine schöne Antwort auf Ihre Frage.

Übrigens im Nachhinein: Sashkellos Antwort ist doch noch besser, oder?


Was meinst du mit Vorbedingung? (auch deine Antwort ist um einiges besser als die von Sashkello). Das Problem ist also, dass das Hinzufügen weiterer Ebenen ohne die überspringenden Verbindungen es dem tieferen Netzwerk erschwert, die Identitätszuordnung überhaupt zu finden. (aus irgendeinem Grund?)
Charlie Parker

20

Theoretisch sollten Verbindungen auf Übersprungsebene die Netzwerkleistung nicht verbessern. Da jedoch komplexe Netzwerke schwer zu trainieren und einfach zu überarbeiten sind, kann es sehr nützlich sein, dies explizit als linearen Regressionsbegriff hinzuzufügen, wenn Sie wissen, dass Ihre Daten eine starke lineare Komponente haben. Dies weist das Modell in die richtige Richtung ... Dies ist ausserdem deutlicher, da es Ihr Modell als lineare + Störungen darstellt und ein Stück Struktur hinter dem Netzwerk auflöst, das normalerweise nur als Blackbox betrachtet wird.


@sashkello können Sie in theoretischer Weise erläutern, wie "Verbindungen auf Übersprungebene die Netzwerkleistung nicht verbessern sollten". Das wäre toll zu verstehen.
Hunch

@hunch Das liegt daran, dass Sie dies modellieren können, ohne dass Sie die Ebene überspringen müssen. Skip-Layer ist nur ein linearer Begriff. Die Sigmoid-Funktion ist ~ linear um 0. Eine Sprungschicht-Verbindung verhält sich also wie ein versteckter Knoten mit sehr kleinen Eingabegewichten.
Sashkello

5

Meine alte Toolbox für neuronale Netze (ich verwende heutzutage hauptsächlich Kernel-Maschinen) verwendete L1-Regularisierung, um redundante Gewichte und versteckte Einheiten zu entfernen, und hatte auch Verbindungen auf Übersprungsebene. Dies hat den Vorteil, dass, wenn das Problem im Wesentlichen linear ist, die ausgeblendeten Einheiten dazu neigen, beschnitten zu werden, und Sie ein lineares Modell haben, das eindeutig angibt, dass das Problem linear ist.

Wie Sashkello (+1) andeutet, sind MLPs universelle Approximatoren, so dass Verbindungen durch Überspringen von Ebenen die Ergebnisse im Grenzbereich unendlicher Daten und einer unendlichen Anzahl versteckter Einheiten nicht verbessern (aber wann nähern wir uns jemals diesem Grenzbereich?). Der eigentliche Vorteil besteht darin, dass das Abschätzen guter Werte für die Gewichte erleichtert wird, wenn die Netzwerkarchitektur gut an das Problem angepasst ist und Sie möglicherweise ein kleineres Netzwerk verwenden und eine bessere Generalisierungsleistung erzielen können.

Wie bei den meisten Fragen zu neuronalen Netzen besteht die einzige Möglichkeit, herauszufinden, ob dies für ein bestimmtes Dataset hilfreich oder schädlich ist, darin, es zu überprüfen (mithilfe eines zuverlässigen Leistungsbewertungsverfahrens).


3
"versuchen Sie es und sehen Sie" - goldene Worte :)
Sashkello

0

Basierend auf Bischof 5.1. Feed-Forward-Netzwerkfunktionen: Eine Möglichkeit zur Verallgemeinerung der Netzwerkarchitektur besteht darin, Verbindungen auf Überspringebene einzuschließen, die jeweils einem entsprechenden adaptiven Parameter zugeordnet sind. In einem Zwei-Ebenen-Netzwerk (zwei Hidden-Layer-Netzwerke) werden diese direkt von den Eingängen zu den Ausgängen übertragen. Im Prinzip kann ein Netzwerk mit sigmoidalen, verborgenen Einheiten die Verbindungen von Sprungebenen (für begrenzte Eingabewerte) immer imitieren, indem ein ausreichend kleines Gewicht der ersten Ebene verwendet wird, so dass die verborgene Einheit über ihren Betriebsbereich effektiv linear ist, und dann mit einem großen kompensiert wird Gewichtswert von der versteckten Einheit zum Ausgang.

In der Praxis kann es jedoch vorteilhaft sein, Skip-Layer-Verbindungen explizit einzubeziehen.Bildbeschreibung hier eingeben

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.