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?