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:
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?
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.
quelle
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).
quelle
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.
quelle