Heim >häufiges Problem >Resnet-Netzwerkstruktur

Resnet-Netzwerkstruktur

(*-*)浩
(*-*)浩Original
2019-06-10 11:44:2211258Durchsuche

ResNet wurde 2015 gemeinsam von He Kaiming, Zhang Xiangyu, Ren Shaoqing und Sun Jian vorgeschlagen. Durch die Verwendung von Residual Unit zum erfolgreichen Trainieren eines 152-schichtigen tiefen neuronalen Netzwerks gewann es die Meisterschaft im ILSVRC 2015-Wettbewerb , wodurch eine Top5-Fehlerrate von 3,57 % erreicht wird, während die Anzahl der Parameter geringer ist als bei VGGNet und der Effekt sehr hervorragend ist. Die Struktur von ResNet kann das Training ultratiefer neuronaler Netze extrem schnell beschleunigen, und auch die Genauigkeit des Modells wurde erheblich verbessert.

Resnet-Netzwerkstruktur

Die ursprüngliche Inspiration von ResNet kam von diesem Problem: Wenn die Tiefe des neuronalen Netzwerks weiter zunimmt, tritt ein Degradationsproblem auf , Genauigkeit Die Rate erhöht sich zunächst und erreicht dann die Sättigung. Wenn die Tiefe weiter erhöht wird, nimmt die Genauigkeit ab. Dies ist kein Problem der Überanpassung, da nicht nur der Fehler im Testsatz zunimmt, sondern auch der Fehler im Trainingssatz selbst. (Empfohlenes Lernen: PHP-Video-Tutorial)

ResNet verwendet eine neue Idee, um davon auszugehen, dass wir eine Netzwerkschicht einbeziehen und es ein optimiertes Netzwerk gibt Schicht, dann Oft haben die von uns entworfenen tiefen Netzwerke viele Netzwerkschichten, die redundant sind. Dann hoffen wir, dass diese redundanten Schichten die Identitätszuordnung vervollständigen können, um sicherzustellen, dass die Eingabe und Ausgabe über die Identitätsschicht genau gleich sind. Welche Schichten konkret Identitätsschichten sind, können Sie beim Netzwerktraining selbst bestimmen. Verwandeln Sie mehrere Schichten des ursprünglichen Netzwerks in einen Restblock.

Nehmen Sie an, dass ein relativ flaches Netzwerk die Sättigungsgenauigkeit erreicht, und fügen Sie dann mehrere kongruente Zuordnungen der y=x-Schicht hinzu. Zumindest wird der Fehler nicht zunehmen. Das heißt, ein tieferes Netzwerk sollte nicht zu einer Erhöhung des Fehlers im Trainingssatz führen. Die hier erwähnte Idee, kongruente Zuordnung zu verwenden, um die Ausgabe der vorherigen Schicht direkt an die spätere Schicht zu übertragen, ist die Inspirationsquelle für ResNet. Angenommen, die Eingabe eines bestimmten neuronalen Netzwerks ist x und die erwartete Ausgabe ist H(x). Wenn wir die Eingabe x als Anfangsergebnis direkt auf die Ausgabe übertragen, dann ist das Ziel, das wir zu diesem Zeitpunkt lernen müssen, F(x). ) = H(x) - x. Wie in der Abbildung gezeigt, handelt es sich hierbei um eine ResNet-Restlerneinheit (Resteinheit). ResNet entspricht nicht mehr einer vollständigen Ausgabe von H(x), sondern nur der Ausgabe von The Die Eingabedifferenz H(x)-x ist das Residuum.

Resnet-NetzwerkstrukturSie können die Ausgabe nach der linearen Änderung und Aktivierung der ersten Schicht sehen. Diese Abbildung zeigt das im Restnetzwerk, nach der linearen Änderung der zweiten Schicht und davor Bei der Aktivierung addiert F(x) den Eingabewert X dieser Ebene und gibt ihn nach der Aktivierung aus. Fügen Sie X hinzu, bevor der Ausgabewert der zweiten Ebene aktiviert wird. Dieser Pfad wird als Verknüpfungsverbindung bezeichnet.

Nach der Verwendung der Struktur von ResNet kann festgestellt werden, dass das Phänomen zunehmender Fehler im Trainingssatz, die durch die zunehmende Anzahl von Schichten verursacht werden, beseitigt wurde. Der Trainingsfehler des ResNet-Netzwerks nimmt mit zunehmender Anzahl allmählich ab Die Anzahl der Schichten nimmt zu und die Leistung des Testsatzes wird ebenfalls besser. Kurz nach der Einführung von ResNet übernahm Google die Essenz von ResNet und schlug Inception V4 und Inception ResNet V2 vor. Durch die Fusion dieser beiden Modelle wurde eine erstaunliche Fehlerrate von 3,08 % im ILSVRC-Datensatz erreicht. Es ist ersichtlich, dass der Beitrag von ResNet und seinen Ideen zur Erforschung von Faltungs-Neuronalen Netzen tatsächlich sehr bedeutsam und stark verallgemeinerbar ist.

Weitere PHP-bezogene technische Artikel finden Sie in der Spalte

PHP-Grafik-Tutorial

, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonResnet-Netzwerkstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn