[Notizen zum Lesen von Papier] Suchen nach MobileNetV3

Volltextzusammenfassung

  MobileNetV3 ist ein Netzwerk, das durch automatische Suchtechnologie erhalten wird und auf der CPU des mobilen Endgeräts verwendet werden kann. MobileNetV3 schlug keinen neuen Block vor, sondern eine neue Aktivierungsfunktion und analysierte das Gleichgewicht zwischen Genauigkeit und Latenz.
  Am Anfang des Dokuments wird vorgestellt, wie die automatische Suchtechnologie zum Entwerfen der Netzwerkstruktur verwendet wird. In diesem Artikel werden zwei Netzwerkarchitekturen vorgeschlagen: MobileNetV3-Large und MobileNetV3-Small , die auf Klassifizierungs-, Objekterkennungs- und semantische Segmentierungsaufgaben angewendet werden können. Für semantische Segmentierungsaufgaben wird ein neuer Decoder vorgeschlagen: LR-ASPP (Lite Reduced Atrous Spatial Pyramid Pooling).

  Im Allgemeinen ist MobileNetV3 eine Kombination von Anwendungen, dargestellt durch MobileNetV2 + SE (r = 4) + Hard-Swish + globale durchschnittliche Pooling-Front .


MoblieNetV3-Block

  Der Block von MobileNetV3 ist in der folgenden Abbildung dargestellt.

  Es ist ersichtlich, dass der Block von MobileNetV3 aus zwei Teilen besteht: (1) tief trennbare Faltung mit inverser Reststruktur; (2) Quetsch- und Anregungsanwendung.
  Es ist zu beachten, dass die SE-Struktur nach der Tiefe und nicht nach dem Punkt angewendet wird.

  Daher besteht das Moduldesign von MobileNetV3 hauptsächlich aus drei Moduldesigns:

  1. Die durch MobileNetV1 eingeführte tiefentrennbare Faltung;
  2. Das von MobileNetV2 eingeführte invertierte Residuum mit linearem Engpass (das invertierte Residuum mit linearem Engpass);
  3. Ein leichtes Aufmerksamkeitsmodell basierend auf der von MNasNet eingeführten Quetsch- und Anregungsstruktur;

Netzwerkverbesserung

Neugestaltung teurer Ebenen

  Der Autor erhielt ein erstes Netzwerk durch Architektursuche, aber der Autor stellte fest, dass der erste Teil des Netzwerks und der letzte Teil des Netzwerks "teurer" sind als die anderen Schichten (die vorherige Schicht hat eine höhere Auflösung). Daher hat der Autor einige Änderungen am Netzwerk vorgenommen und dabei die Genauigkeit beibehalten, um die Laufzeit zu verkürzen.
  Die erste besteht darin , der Ebene "Global Avg Pooling" einen Block vorangestellt und die 1 * 1-Faltung zur Berechnung der Features zu verwenden . Diese Operation reduzierte 7 ms 7 ms7 m s (belegt11% 11 \%1 1 % ) Laufzeit und30 Millionen 30 Millionen. 3 0 m I L L I O N S MAdds, undwesentlichen keinen Verlust an Genauigkeit. Die Änderung ist in der folgenden Abbildung dargestellt. Der obere Teil des Bildes ist der letzte Teil des ursprünglichen MobileNetV2 und der untere Teil ist der letzte Teil des geänderten MobileNetV3.

  Bei der Kantenerkennung (die erste Faltungsoperation nach Eingabe des Bildes) verwenden aktuelle Lichtnetzwerke häufig eine 3 * 3-Faltung mit 32 Faltungskernen. Der Autor verwendet eine andere Aktivierungsfunktion, die auf MobileNetV3 hart umschaltet, um das häufig verwendete RELU und swish zu ersetzen, und reduziert die Anzahl der Faltungskerne von 32 auf 16, während die gleiche Genauigkeit erreicht wird und die Laufzeit um 2 ms verkürzt wird.

Aktivierungsfunktion

  使用swish swishs w i s h Aktivierungsfunktion anstelle vonRe LU ReLUDie R e L U- Aktivierungsfunktion bringt einegroßeVerbesserung der Genauigkeit, jedoch aufgrund vonSigmoid-SigmoidDie Existenz von s i g m o i d Funktion,swish swishDie Funktion s w i s h verbraucht mehr Laufzeit.
swish [x] = x ∗ σ (x) swish [x] = x * \ sigma (x)s w i s h [ x ]=xσ ( x )
   Sigmoid SigmoidDie Funktion s i g m o i d kann die stückweise lineare FunktionR e LU 6 (x + 3) 6 \ frac {ReLU6 (x + 3)} {6} verwenden.6R und L U 6 ( x + 3 )Stattdessen so swish swishs w i s h kann seine entsprechende Realisierungsfunktion erhalten: h - swish [x] = x ∗ R e LU 6 (x + 3) 6 h-swish [x] = x * \ frac {ReLU6 (x + 3)} {6}h- -s w i s h [ x ]=x6R e L U 6 ( x+3 )
  Die Verwendung der stückweise linearen Funktion hat stattdessen zwei Vorteile: (1) Sigmoid SigmoidDie Funktion s i g m o i d ist bei der Terminalbereitstellung zeitaufwändiger: (2)Sigmoid-SigmoidDie Funktion s i g m o i d hat verschiedene Implementierungen. Bei der Quantisierung können unterschiedliche Implementierungsmethoden zu einer Fehlanpassung des Quantisierungsverlusts führen.

  Die folgende Abbildung zeigt, dass diese Annäherung sehr effektiv ist:

  Der Autor entdeckte unerwartet durch Experimente, dass die Vorteile der Wahl von Swish als Aktivierungsfunktion durch die Verwendung von Swish in der tieferen Netzwerkschicht realisiert werden. Daher verwendet der Autor im Modell dieses Artikels Hard-Swish als Aktivierungsfunktion in der zweiten Hälfte des Netzwerks.


Netzwerk-Design

  Das Netzwerkdesign von MobileNetV3-Large:

  Netzwerkdesign von MobileNetV3-Small:


Experiment

Einstufung

  Top-1-Genauigkeit, Berechnungsbetrag, Parameterbetrag in der ImageNet-Klassifizierung und Ergebnisse von Experimenten mit Mobiltelefonen der Pixel-Serie:

  Vergleich von MobileNetV3 Large / Small und MobileNetV2:

  Aus der Kurve ist ersichtlich, dass MobileNetV3-small besser ist, wenn Sie ein kleineres Netzwerk als MobileNetV3-Large verwenden möchten. Weil die Leistung von MobileNetV3-Large bei abnehmender Anzahl von Faltungskernen nicht so gut ist wie die von MobileNetV3-Small. Die Wirkung von MobileNetV3-Small ist besser als die von MobileNetV2.


Erkennen

  Wenn MobileNetV3 das Erkennungsframework erstellt, halbiert es die Kanäle aller Ebenen zwischen der letzten Ebene mit Schritt = 16 und der letzten Ebene mit Schritt = 32. Der Grund dafür ist, dass der COCO-Datensatz nur 80 Klassen enthält und kein Netzwerk erforderlich ist, das so groß ist wie das ImageNet der 1000er-Klasse.
  Die Genauigkeit des SSDLite-Zielerkennungsalgorithmus auf MS COCO:


Semantische Segmentierung

  Basierend auf MobieNetV3 wurde ein neues leichtes semantisches Segmentierungsmodell Lite R-ASPP entwickelt:

Leistungsvergleich

Zusammenfassung der experimentellen Ergebnisse

  1. Bei der ImageNet-Klassifizierungsaufgabe wird die Genauigkeit von MobileNetV3-Large im Vergleich zu MobileNetV2 um 3,2% erhöht und die Verzögerung um 15% verringert.
  2. Bei der Erkennungsaufgabe mit SSDlite im COCO-Datensatz entspricht die Erkennungsgenauigkeit von MobileNetV3-large in etwa der von MobileNetV2, die Geschwindigkeit wird jedoch um 25% erhöht.
  3. In der semantischen Segmentierungsaufgabe von Cityscapes weist das neu entwickelte Modell MobileNetV3-Large LR-ASPP eine ähnliche Segmentierungsgenauigkeit wie MobileNetV2 R-ASPP auf, ist jedoch 30% schneller.

Ich denke du magst

Origin blog.csdn.net/qq_19784349/article/details/104386238
Empfohlen
Rangfolge