Hallo, Sie gehören zu CodeNext, es ist @ aiskoaskosd. Ich bin regelmäßig Chainer verpflichtet, daher dachte ich, es wäre großartig, wenn ich etwas zurückgeben könnte, also schrieb ich einen Artikel. Heute werde ich mich auf das Bilderkennungsmodell konzentrieren, das in den letzten 1-2 Jahren zu einem heißen Thema geworden ist, die Implementierung veröffentlichen und einige Inhalte des Papiers erläutern. Einige der Papiere vor 2013 sind ebenfalls außergewöhnlich umgesetzt. ** 22 von 24 Modellen wurden in Chainer implementiert. ** Leider wurden bis zum 22. Dezember nicht alle Implementierungen und Überprüfungen mit cifar10 abgeschlossen. Wir werden es einzeln aktualisieren. Ich denke, es gibt einige Fehlinterpretationen und Implementierungsfehler. In diesem Fall würde ich mich sehr freuen, wenn Sie es mir sagen könnten.
1. Netowork In Network 2. Very Deep Convolutional Networks for Large-Scale Image Recognition 3. Going deeper with convolutions 4. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 5. Rethinking the Inception Architecture for Computer Vision 6. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification 7. Training Very Deep Networks 8. Deep Residual Learning for Image Recognition 9. Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning 10. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size 11. Identity Mappings in Deep Residual Networks 12. Resnet in Resnet: Generalizing Residual Architectures 13. Deep Networks with Stochastic Depth 14. Swapout: Learning an ensemble of deep architectures 15. Wide Residual Networks 16. FractalNet: Ultra-Deep Neural Networks without Residuals 17. Weighted Residuals for Very Deep Networks 18. Residual Networks of Residual Networks: Multilevel Residual Networks 19. Densely Connected Convolutional Networks 20. Xception: Deep Learning with Depthwise Separable Convolutions 21. Deep Pyramidal Residual Networks 22. Neural Architecture Search with Reinforcement Learning 23. Aggregated Residual Transformations for Deep Neural Networks 24. Deep Pyramidal Residual Networks with Separated Stochastic Depth
Einführungspapier | Datum | Modell- | Anzahl der Parameter( |
cifar10 Papier mit Gesamtgenauigkeit(%) | Implementierung der vollständigen Genauigkeit von cifar10 | imagenet top-5 error(%) |
---|---|---|---|---|---|---|
1 | 131116 | Caffe Implementierungsreferenz | 0.1 | 91.19 | ||
1 | 131116 | Caffe Implementierungsreferenz mit BN | 0.1 | Es ist kein Papier vorhanden | 91.52% | Es ist kein Papier vorhanden |
2 | 140904 | Modell A. | 129 | 92.1(Modell A.) | 6.8(Modell E.) | |
3 | 140917 | googlenet | 6 | 91.33% | 6.67 | |
4 | 150211 | inceptionv2 | 10 | 94.89% | 4.9 | |
5 | 151202 | inceptionv3(Referenz) | 22.5 | 94.74% | 3.58 | |
6 | 150206 | model A | 43.9(Globales durchschnittliches Pooling anstelle von spp) | 94.98% | 4.94 | |
7 | 150722 | Highway(Fitnet19) | 2.8 | 92.46 | ||
8 | 151210 | ResNet110 | 1.6 | 93.57 | 3.57 | |
9 | 160223 | inception v4 | 3.1 | |||
10 | 160224 | Squeezenet with BN | 0.7 | 82%(alexnet without data augmentation) | 17.5(withoutBNandsingle) | |
11 | 160316 | ResNet164 | 1.6 | 94.54 | 4.8(single) | |
12 | 160325 | 18-layer + wide RiR | 9.5 | 94.99 | ||
13 | 160330 | ResNet110 | 1.7 | 94.75 | ||
14 | 160520 | Swapout v2(32)W×4 | 7.1 | 95.24 | ||
15 | 160523 | WRN28-10 | 36.2 | 96.0 | ||
16 | 160524 | 20 layers | 33.7 | 95.41 | 7.39%(FractalNet-34) | |
17 | 160528 | WResNet-d | 19.1 | 95.3 | ||
18 | 160809 | RoR-3-WRN58-4 | 13.6 | 96.23 | ||
19 | 160825 | k=24, depth=100 | 27.0 | 96.26 | ||
20 | 161007 | xception | 5.5(single) | |||
21 | 161010 | 28.4 | 96.23 | 4.7( |
||
22 | 161105 | depth=49 | 32(Aus dem Papier) | 96.16 | $\bigtriangleup$90.35(Appendix A: 4.1M) | |
23 | 161116 | ResNeXt-29, 16×64d | 68.3 | 96.42 | ||
24 | 161205 | depth=182, |
16.5 | 96.69 |
https://github.com/nutszebra/chainer_image_recognition
Seien Sie vorsichtig, wenn Sie Modelle verwenden, die nicht überprüft wurden
Im Moment denke ich, dass 97% oder mehr SoTA sein werden. Soweit ich weiß, liegt die höchste Genauigkeit bei 96,69%. Es kann an der Zeit sein, sich auf cifar100 oder einen anderen Datensatz zu konzentrieren.
Ich denke, dieses Jahr war das Jahr der Familie Resnet. Der charakteristische Punkt ist, dass Tiefe = Genauigkeit vorbei ist. Obwohl Googlenet und andere schon lange darauf bestehen, haben verschiedene Papiere gezeigt, dass ** wenn es bis zu einem gewissen Grad tief ist, die Genauigkeit höher ist, wenn die Breite breiter als die Tiefe ist **. Ab etwa März ist das Ergebnis, dass es besser ist, die Breite von Resnet zu vergrößern, als Nebeneffekt herausgekommen, und ich denke, dass es in den am 23. Mai veröffentlichten Wide Residual Netowrks entscheidend wurde. Ich denke, es ist dieses Jahr klar, dass die Breite wichtig ist. Wenn man das Papier aus der Vogelperspektive betrachtet, scheint es, dass die Resnet-Familie größtenteils ein ** Res-Block modifiziert ** war.
Es ist schwer zu sagen, welches die beste Ableitung dieses Res-Blocks ist. Wie jeder denkt, haben in dem Artikel alle Modelle unterschiedliche Anzahlen von Parametern und FLOPS von Vorwärts, so dass es nicht viel Sinn macht, einfach die Genauigkeit zu vergleichen. Selbst wenn Sie das Papier lesen, ist daher nicht klar, welche Methode wesentlich und in die richtige Richtung ist. Ich denke, es besteht derzeit die Notwendigkeit einer Regel, dass jeder ein Modell mit einer bestimmten Metrik erstellt und dann die Testgenauigkeit eines einzelnen Modells (wie FLOPS?) Veröffentlicht. Alle Papiere sind in einem schwer zu bewertenden Zustand, aber ich denke, die allgemeine Tendenz ist, dass ** ReLU nicht auf den endgültigen Ausgabewert des Res-Blocks ** angewendet wird. Ich denke, es ist besser, es auf den Res-Block von BN-ReLU-Conv-BN-ReLU-Conv zu stützen, der in 11 vorgeschlagen wurde, anstatt auf den ursprünglichen 8. Es ist ein persönlicher Eindruck, aber es scheint ein ruhiges Jahr zu sein, in dem sich die Genauigkeit stetig verbessert hat. Ich glaube nicht, dass dieses Jahr neue Strukturen wie Residuen herausgekommen sind. Imagenet 2016 gab es auch viele Ensembles, die auf Residual Networks und Inception basierten.
Ich persönlich denke, dass das Google-Papier von 22 sehr schockierend ist und es eine kleine Möglichkeit gibt, dass sich von hier aus etwas entwickelt (es gibt keine Grundlage). 22 durchsucht das Netzwerk mit einem Richtliniengradienten von 800 gpu und RNN + und hat mit cifar 10 96,16% verzeichnet. Wenn dies für mnist 99% ist, ist es vorbei, aber es ist erstaunlich, dass cifar10 einen Wert nahe SoTA hat. Die Daten die Netzwerkstruktur bestimmen zu lassen, ist eine sehr faszinierende Idee, die an das Aufkommen von DNN erinnert (Erstellen von Feature-Design-Daten). Ich habe es hier auch nicht vorgestellt, aber ich erinnere mich, dass Hyper Networks sehr interessant und schockiert war, als ich es las. HyperNetworks ist ein Netzwerk, das Netzwerkgewichte generiert, und eine Technologie, die wahrscheinlich in Zukunft fusioniert oder entwickelt wird. Wenn es nichts gibt, scheint sich die Art und Weise des Umbaus des Res-Blocks und des Verbindens des Res-Blocks in Zukunft zu entwickeln, aber was wird passieren?
4. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift Die Chargennormalisierung ist kurz gesagt "Normalisierung jeder Eingabe zwischen Chargen auf Kanalebene". Diese Chargennormalisierung ist sehr nützlich. Es gibt keinen Grund, nicht im Netzwerk zu sein. Konvergenz ist nicht mehr möglich und die Genauigkeit wird leicht verbessert. Die Chargennormalisierung ist wichtig, daher werde ich sie ausführlich erläutern. Zunächst erkläre ich das Phänomen der internen Kovariatenverschiebung, das die Grundlage für die Motivation zur Chargennormalisierung bildet, und den spezifischen Algorithmus.
Angenommen, das Gewicht der Schicht $ l_ {i} $ wird durch die Fehlerrückvermehrungsmethode geändert. Dann ändert sich die Verteilung des Ausgabewerts (die Art der Ausgabe), die unter Verwendung dieses Gewichts ausgegeben wird. Die Schicht $ l_ {i + 1} $ muss die entsprechende nichtlineare Abbildung lernen, die der Verteilung variierender Ausgabewerte entspricht. Was hier falsch ist, ist, dass das Lernen von nichtlinearen Zuordnungen zur Diskriminierung aufgrund des großen Aufwands beim Lernen, sich an die sich ändernde Verteilung der Ergebnisse anzupassen, sehr langsam ist. Dieses Phänomen wird in der Arbeit als interne Kovariatenverschiebung definiert. Diese interne Kovariatenverschiebung führt dazu, dass das Lernen stagniert. Nehmen wir an, dass der Lernkoeffizient von SGD groß eingestellt ist. Dann ändert sich das Gewicht der Schicht $ l_ {i} $ stark. Infolgedessen kann sich die Schicht $ l_ {i + 1} $ nicht an den geänderten Ausgabewert anpassen (oder die Anpassung dauert enorm lange), und das Lernen stagniert. Infolgedessen muss der Lernkoeffizient zum Lernen klein eingestellt werden, und diesmal verlangsamt das Lernen die Konvergenz des Lernens. Wenn Sie dort stehen, haben Sie das Gefühl, hier nicht stehen zu können. Diese interne Kovariatenverschiebung wird zu einem ernsteren Problem, wenn das Modell tiefer wird. Selbst wenn die Ausgangsänderung in der unteren Schicht gering ist, wird sie in der oberen Schicht verstärkt, und selbst eine kleine Änderung wird zu einer großen Änderung. Es ist wie ein Schmetterlingseffekt. Die Lösung hierfür ist sehr einfach. Wenn sich die Verteilung der Ausgabewerte ändert, können Sie sie jedes Mal so anpassen, dass die Verteilung gleich ist. BN (Batch Normalization) normalisiert den Eingang (Mittelwert 0, Verteilung 1) und gibt ihn aus. Wenn daher der Ausgang von BN als Eingang verwendet wird, wird die Verteilung des Ausgangs stabil und der Lernbedarf, auf Änderungen in der Ausgangsverteilung zu reagieren, wird verringert. Sie können sich darauf konzentrieren, das nichtlineare Mapping zu lernen, das Sie im Wesentlichen ausführen müssen, und als Ergebnis konvergiert das Lernen schnell. Darüber hinaus können Sie durch die stabile Verteilung einen großen Lernkoeffizienten festlegen. Dies trägt auch erheblich zur raschen Konvergenz des Lernens bei. Wenn Sie diese BN einbeziehen, beträgt die Lernzeit von GoogLeNet etwa 7%. Es ist wunderbar.
Geben Sie $ x_ {i, cxy} $ ein. Dies bedeutet, dass sich die Eingabe in der Position $ (x, y) $ des Kanals $ c $ im Stapel $ i $ befindet. Der Durchschnitt auf Kanal $ c $ sei $ \ mu_ {c} $ und die Varianz auf Kanal $ c $ sei $ \ sigma_ {c} ^ 2 $. Wenn dann die Anzahl der Stapel $ m $ beträgt, beträgt die Eingabehöhe $ Y $ und die Eingabebreite $ X $, $ \ mu_ {c} $ und $ \ sigma_ {c} ^ 2 $ können wie folgt ausgedrückt werden. Ich werde.
Wenn wir uns die Gleichungen (4.1) und (4.2) ansehen, können wir sehen, dass der Durchschnitt $ \ mu_ {c} $ und die Verteilung $ \ sigma_ {c} ^ 2 $ für jeden Kanal zwischen Chargen berechnet werden. Das lernt nicht. Als nächstes sei $ \ hat {x_ {i, cxy}} $ die normalisierte Version jeder Eingabe $ x_ {i, cxy} $. Hier definieren wir die Skala $ \ gamma_ {c} $ und die Verschiebung $ \ beta_ {c} $ für jeden Kanal. $ \ Gamma_ {c} $ und Shift $ \ beta_ {c} $ sind Parameter, die von der Fehler-Backpropagation-Methode gelernt wurden. Der Grund für die Einführung einer solchen Sache wird später beschrieben. Wenn Sie in der Stapelnormalisierung $ x_ {i, cxy} $ eingeben, werden die endgültige Ausgabe $ y_ {i, cxy} $ und der normalisierte Wert $ \ hat {x_ {i, cxy}} $ eingegeben Ist wie folgt definiert.
Sie können sehen, dass Gleichung (4.3) einfach $ x_ {i, cxy} $ unter Verwendung der Gleichungen (4.1) und (4.2) normalisiert (verteilt $ \ sigma_ {c} ^ 2 $ ist 0). Wenn $ \ hat {x_ {i, cxy}} $ unendlich wird, fügen Sie eine kleine Zahl $ \ epsilon $ hinzu. Chainer verwendet $ 2.0 \ times 10 ^ {-5} $ als Standardwert Es ist.). Die Frage hier ist Gleichung (4.4), in der $ \ gamma_ {c} $ und Verschiebung $ \ beta_ {c} $ linear abgebildet werden, Gleichung (4.3) jedoch den Hauptkreis bereits normalisiert. Ich bin fertig, was machst du?
Sei $ \ gamma_ {c} = \ sigma_ {c}, \ beta_ {c} = \ mu_ {c} $. Wenn dann $ \ epsilon $ klein ist und ignoriert wird, lautet $ y_ {i, cxy} $ wie folgt.
5. Rethinking the Inception Architecture for Computer Vision Das Netzwerk selbst ist eine anmutige Erweiterung von Googlenet. Das Gute an diesem Dokument ist, dass es die Netzwerkdesignrichtlinie verbalisiert. Insbesondere vor dem ** Downsampling ist es sehr wichtig, die Anzahl der Kanäle im Netzwerk ** zu erhöhen.
6. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification Dies ist eine ReLU-Erweiterung von xavier-Initialisierung, der aktuellen Standardinitialisierungsmethode für DNN. Es wird auch als ReLU-Initialisierung, MSRA-Initialisierung, He-Initialisierung usw. bezeichnet. Diese xavier-Initialisierung ist eine sehr revolutionäre Methode zur Berechnung der Gewichtsverteilung, damit sich der Wert der Ausgabeverteilung während der Weiterleitung nicht ändert. Ding. Als datengesteuerte Initialisierung benötigen Sie lediglich eine gute Initialisierung (https://arxiv.org/abs/1511.06422) und datenabhängige Initialisierungen von Faltungs-Neuronalen Netzen. / 1511.06856) usw. wurden in diesem Jahr vorgeschlagen, dies ist jedoch auch eine Erweiterung von xavier initialization. Grundsätzlich verwende ich den durch msra-Initialisierung berechneten Varianzwert, um eine diagonale Zufallsmatrix zu generieren, und verwende sie als Anfangswert des Gewichts. Ich bin. In diesem Dokument wird PReLU vorgeschlagen, eine andere Erweiterung von ReLU als die Initialisierung. Der Inhalt ist einfach, z. B. das Ändern des x <0-Teils in ax anstelle von 0 wie bei ReLU. Zu diesem Zeitpunkt wird a durch das Fehlerrückausbreitungsverfahren gelernt. Das Interessante an diesem Artikel ist der erlernte Wert von a. Das Ergebnis ist: Es ist ein großes a in der Anfangsschicht und wird ein kleiner Wert in der oberen Schicht. Es scheint, dass die erste Ebene die Informationen beibehält und sie beim Aufstieg verwirft. Es ist ersichtlich, dass die anfängliche Schicht die Linearität beibehält und nicht linear wird, wenn sie nach oben geht. Dieses Ergebnis liegt sehr nahe an CReLU. CReLU ist eine nichtlineare Funktion der Idee, eine Verkettung von ReLU (x) und ReLU (-x) auszugeben. Ein weiterer interessanter Punkt ist, dass der Wert von a vor dem Downsampling (Pool) zunimmt. Informationen werden im Pool abgelegt, sodass Sie anscheinend versuchen, sie nicht abzulegen. Wenn ich den Wert von a betrachte, habe ich das Gefühl, die Gefühle von CNN verstehen zu können, und ich mag es.
7. Training Very Deep Networks
Es heißt Autobahnnetze. Autobahnnetze sind mathematisch wie folgt.
8. Deep Residual Learning for Image Recognition Es ist ein Netzwerk, das der Champion von ILSVRC2015 in der Anerkennungsabteilung wurde. Es hat eine vereinfachte Struktur von Highway Netoworks (7), und der charakteristische Teil wird als Residuum bezeichnet. Die meisten in diesem Jahr veröffentlichten Netzwerke werden darauf basieren und verbessert. Die obige Abbildung zeigt deutlich die Reststruktur. Fügen Sie einfach die Eingabe x zu F (x) hinzu, wobei die nichtlineare Funktion angewendet wird. Dieses F besteht aus mehreren Schichten von conv, BN und ReLU. Unten finden Sie eine Übersicht über das Netzwerk.
10. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size Dieses Squeezenet ist ein sehr kostengünstiges Modell. Es wurde ein Modul namens Feuermodul vorgeschlagen, aus dem ein Netzwerk aufgebaut wird. Das Feuermodul sieht folgendermaßen aus: Die Idee des Feuermoduls ist sehr einfach: Sie können beispielsweise den Ausgang von 1x1conv mit Dimensionsreduzierung (Reduzierung der Anzahl der Eingangskanäle in der nächsten Stufe) auf 3x3conv und 1x1conv eingeben und die jeweiligen Ausgänge verketten. Wenn das Netzwerk in dem Papier BN erhält, beträgt die Gewichtszahl etwa 0,7 M und 92,6% können mit cifar10 erhalten werden. Wenn Sie in der Praxis Bilderkennungsaufgaben der Klasse 2-100 lösen, ist dies so ziemlich ein Stück. 11. Identity Mappings in Deep Residual Networks Dies ist ein Artikel, der verschiedene Arten von Res-Blöcken ausprobiert hat und gezeigt hat, dass BN-ReLU-Conv-BN-ReLU-Conv gut war. Im Allgemeinen bezieht sich Residual Networks nun darauf.
13. Deep Networks with Stochastic Depth Es heißt stochastische Tiefe und ist eine Regularisierungsmethode, bei der Res-Blöcke wahrscheinlich wegfallen. Dies wurde bereits in mehreren Papiermodellen übernommen und scheint einige Auswirkungen gehabt zu haben. Es gibt jedoch Berichte, dass die normale stochastische Tiefe bei 24 nicht wirksam war, daher ist die Bewertung der stochastischen Tiefe vorläufig und sollte beobachtet werden. Die Methode zum Verringern der Ausfallwahrscheinlichkeit für den Res-Block von der unteren zur oberen Schicht scheint die genaueste zu sein. Stellen Sie in der Arbeit eine Tropfenwahrscheinlichkeit von ungefähr 1 (nicht fallen lassen) in der unteren Schicht und ungefähr 0,5 (Tropfen mit einer Wahrscheinlichkeit von 50%) in der oberen Schicht ein und wenden Sie die linear berechnete Tropfenwahrscheinlichkeit auf diese Werte auf die mittlere Schicht an. Die Art und Weise, wie es gemacht wird, wird in der Zeitung genommen und das Ergebnis ist das beste.
14. Swapout: Learning an ensemble of deep architectures
Dies ist eine Methode zum unabhängigen Anwenden von Dropouts auf den Restteil des Res-Blocks und den Ausgabewert der nichtlinearen Funktion. Die Formel lautet wie folgt.
15. Wide Residual Networks Das Papier sagt, dass die Genauigkeit zunimmt, wenn Sie die Breite des Res-Blocks erhöhen, anstatt ihn tiefer zu machen. Das gesamte Netzwerk sieht wie in der folgenden Abbildung aus.
Die Netzwerkkonfiguration wird durch die Anzahl der Blöcke N und den Breitenparameter k bestimmt. Das Muster mit N als 4 und k als 10 funktioniert am besten auf dem Papier. Natürlich ist dies allein kein Papier, daher überprüfe ich auch, welcher Res-Block die Genauigkeit ergibt. Die Schlussfolgerung zeigt, dass es gut war, zwei 3x3-Konvs innerhalb des Res-Blocks zu verwenden. Es war interessant festzustellen, dass sich die Leistung beim Stapeln von 1, 3 oder 4 verschlechtert, anstatt 2 3x3conv zu stapeln. Es funktioniert nicht mit cifar10, aber für Aufgaben wie cifar100 scheint das Einfügen von Aussetzern zwischen Convs im Res-Block die Genauigkeit zu verbessern. Wenn Sie die Einstellung auf "Breit" einstellen, ist die Lerngeschwindigkeit langsamer (8-fache Lerngeschwindigkeit von Resnet-1001), und Sie können auch dann lernen, wenn Sie im Vergleich zu normalem Resnet die 5-fache Anzahl von Parametern verwenden. Das Lernen ist sehr schnell, wenn ich versuche, mit dem Modell zu trainieren, das ich tatsächlich gebaut habe. Mit cifar10 kommt die Genauigkeit von etwa 60% in der 1. Epoche heraus.
16. FractalNet: Ultra-Deep Neural Networks without Residuals
16 ist ein fraktales Netz, das kein Residuum aufweist und durch eine Struktur gekennzeichnet ist, die einen Durchschnittswert und ein fraktales Netzwerk annimmt. Der Titel muss ohne Residuen den Durchschnittswert annehmen. Die folgende Abbildung ist für die fraktale Struktur leicht zu verstehen.
Konfigurieren Sie Ihr Netzwerk mit der Fraktalerweiterungsregel wie gezeigt. In diesem Artikel wird der Durchschnittswert auf die Ausgabe der beiden Convs angewendet (Verbindungsschicht in der Abbildung). Ich bin sehr interessiert daran, was mit der Genauigkeit des Netzwerks passiert, wenn der Join beibehalten wird (in der Veröffentlichung wird nur der Durchschnitt auf den Join angewendet).
Der Titel des Papiers sagt ohne Residuen, aber ich bin der Meinung, dass die Mittelung im Wesentlichen die gleiche ist wie die Residuen. Der Autor behauptet, es sei anders, aber ich persönlich habe Zweifel.
~~ Was ich beim Lernen des Netzwerks interessant fand, war, dass das Lernen in den ersten 20 Epochen stagnierte (wie in der Arbeit beschrieben). Dies ist ein Verhalten, das ich nicht viel gesehen habe. ~~ Als ich den Lernkoeffizienten erhöhte, lernte ich aus der 1. Epoche (Tränen).
17. Weighted Residuals for Very Deep Networks
Wenn H eine nichtlineare Funktion ist, x eine Eingabe ist, $ \ alpha $ ein Lernparameter ist und y die Ausgabe eines Res-Blocks ist, besteht die Hauptidee dieses Dokuments darin, einen Res-Block wie die folgende Formel zu definieren.
18. Residual Networks of Residual Networks: Multilevel Residual Networks Die einfache Idee besteht darin, Verbindungen auch von anderen Ebenen zu überspringen. Die folgende Abbildung ist leicht zu erkennen. Dies ist die einzige Idee.
19. Densely Connected Convolutional Networks 19 ist ein dichtes Netz, das dadurch gekennzeichnet ist, dass der Ausgang mit dem Eingang verbunden und in den Block gelegt wird. Die Ausgabe wird rekursiv zur nächsten Eingabe, wie in der folgenden Abbildung gezeigt. Es scheint im Wesentlichen dasselbe zu tun wie ein Residual-Netzwerk, außer dass es die Ausgänge anstelle des Residuums rekursiv verkettet.
20. Xception: Deep Learning with Depthwise Separable Convolutions Es ist ein Netzwerk, das durch Ersetzen der Conv des Res-Blocks durch eine trennbare Conv konfiguriert wird. trennbares Conv ist ein kanalweises Conv und 1x1 Conv, die der Reihe nach angewendet werden, und hat die Eigenschaft, dass die Anzahl der Gewichte reduziert werden kann. Eine kanalweise Conv ist eine Conv, die die Korrelation zwischen Kanälen nicht berücksichtigt, und eine Conv, die nach Berechnung des Faltungsfensters ohne Summierung ausgegeben wird. Wie in diesem Artikel behauptet, wurde beobachtet, dass ein vgg-basiertes Netzwerk mit Inception v4 ohne Reststruktur vergleichbar sein könnte. In diesem Artikel wird jedoch auch bestätigt, dass die Konvergenz mit der Reststruktur schneller ist. Ist es ein Gefühl, dass die Reststruktur lautlos eingefügt werden sollte?
21. Deep Pyramidal Residual Networks Die einfache Idee besteht darin, die Anzahl der Ausgangskanäle im Res-Block schrittweise zu erhöhen. Im Allgemeinen wird die Anzahl der Kanäle im Voraus verdoppelt, wenn stride2 conv als Down-Sample im Res-Block angewendet wird. Pyramidennetzwerke sind ein Netzwerk wie d in der Abbildung, das die Anzahl der Kanäle schrittweise erhöht, anstatt die Anzahl der Kanäle vor dem Downsampling schnell zu erhöhen.
22. Neural Architecture Search with Reinforcement Learning Dies ist ein Artikel, in dem Google 800 gpu und RNN verwendet, um ein Netzwerk zu generieren. Lernen Sie das RNN-Netzwerk, das das entsprechende CNN-Netzwerk ausspuckt, anhand der Fehler-Backpropagation-Methode anhand der Genauigkeit der Validierungsdaten und des Richtliniengradienten. Überraschend ist, dass Cifar 10 genauso genau ist wie SoTA. Es scheint, dass der Grund, warum es funktioniert hat, darin bestand, dass das generierte Netzwerk vereinfacht wurde (Filter ist nur 3,5,7 usw.) und dass das generierte Netzwerk einfach von SGD bewertet wurde. Das generierte Netzwerk ist sehr interessant. Das Folgende ist das generierte Lightweight-Netzwerk. Die Punkte, an denen sich die Pfeile treffen, sind verbunden. Es gibt keine Reststruktur. Ähnlich in der Konfiguration wie das 19 dichte Netz. Da die Daten die Netzwerkstruktur bestimmen, handelt es sich um eine sehr komplizierte Eingabe, die der Mensch nicht verstehen kann. Das Interessante ist, dass das Entfernen oder Erhöhen dieses Pfeils die Testgenauigkeit verringert. Ich bin der Meinung, dass je mehr Freiheit Sie der Netzwerkgenerierung geben, desto genauer wird sie sein. Wenn der Freiheitsgrad jedoch zu hoch ist, kann das Netzwerk anscheinend nicht ordnungsgemäß generiert werden. Daher ist Hardware für Anpassungsarbeiten und Experimente unerlässlich. Ich denke, es gibt nur wenige Umgebungen auf der Welt, in denen Sie dieses Experiment überprüfen können. .. ..
23. Aggregated Residual Transformations for Deep Neural Networks Ersetzen Sie in einem Netzwerk namens ResNeXt den Res-Block wie links in der obigen Abbildung gezeigt durch den rechts. Der Res-Block rechts in der obigen Abbildung entspricht (a), (b), (c) in der folgenden Abbildung. Da es in chainer keine Gruppenkonv. Gibt, habe ich sie in (b) implementiert. In diesem Artikel wird die Anzahl der Verzweigungen der Eingabe im Res-Block als Kardinalität bezeichnet. Es ist besser, die Kardinalität und die Blockbreite im Vergleich zu Wide Residual Networks mit derselben Anzahl von Parametern, die lediglich die Blockbreite erhöht haben, angemessen zu erhöhen. Es behauptet, genau zu sein.
24. Deep Pyramidal Residual Networks with Separated Stochastic Depth 24 ist 21 Pyramidennetz mit getrennter stochastischer Tiefe angewendet. Getrennte stochastische Tiefe ist die Idee, die stochastische Tiefe unabhängig auf den Teil anzuwenden, an dem der Kanal zunimmt. Es sieht aus wie in der Abbildung unten.