1,3 ms dauert 1,3 ms! Tsinghuas neueste Open-Source-Architektur für mobile neuronale Netzwerke RepViT

王林
Freigeben: 2024-03-11 12:07:15
nach vorne
1067 Leute haben es durchsucht

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

Papieradresse: https://arxiv.org/abs/2307.09283

Codeadresse: https://github.com/THU-MIG/RepViT

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

RepViT auf dem Handy Seite Hervorragende Leistung in der ViT-Architektur mit erheblichen Vorteilen. Als nächstes untersuchen wir die Beiträge dieser Studie.

  1. In dem Artikel wird erwähnt, dass leichte ViTs bei visuellen Aufgaben im Allgemeinen eine bessere Leistung erbringen als leichte CNNs, hauptsächlich aufgrund ihrer Multi-Head-Selbstaufmerksamkeitsmodule (MSHA Darstellung. Allerdings wurden die architektonischen Unterschiede zwischen Lightweight-ViTs und Lightweight-CNNs noch nicht vollständig untersucht.
  2. MSHA)可以让模型学习全局表示。然而,轻量级 ViTs 和轻量级 CNNs 之间的架构差异尚未得到充分研究。
  3. 在这项研究中,作者们通过整合轻量级 ViTs 的有效架构选择,逐步提升了标准轻量级 CNN(特别是 MobileNetV3 的移动友好性。这便衍生出一个新的纯轻量级 CNN 家族的诞生,即RepViT。值得注意的是,尽管 RepViT 具有 MetaFormer 结构,但它完全由卷积组成。
  4. 实验结果表明,RepViT 超越了现有的最先进的轻量级 ViTs,并在各种视觉任务上显示出优于现有最先进轻量级ViTs的性能和效率,包括 ImageNet 分类、COCO-2017 上的目标检测和实例分割,以及 ADE20k 上的语义分割。特别地,在ImageNet上,RepViT 在 iPhone 12 上达到了近乎 1ms 的延迟和超过 80% 的Top-1 准确率,这是轻量级模型的首次突破。

好了,接下来大家应该关心的应该时“如何设计到如此低延迟但精度还很6的模型”出来呢?

方法

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

再 ConvNeXt 中,作者们是基于 ResNet50 架构的基础上通过严谨的理论和实验分析,最终设计出一个非常优异的足以媲美 Swin-Transformer 的纯卷积神经网络架构。同样地,RepViT也是主要通过将轻量级 ViTs 的架构设计逐步整合到标准轻量级 CNN,即MobileNetV3-LIn dieser Studie haben die Autoren das standardmäßige leichte CNN schrittweise verbessert (insbesondere MobileNetV3s Mobilfreundlichkeit. Daraus ergibt sich die Geburt einer neuen, reinen, leichten CNN-Familie, nämlich RepViT Es ist erwähnenswert, dass RepViT zwar eine MetaFormer-Struktur hat, aber vollständig aus Faltungen besteht.

Experimentelle Ergebnisse zeigen, dass RepViT Code> in <code style="background-color: rgb(231, 243, 237); padding: 1px 3px; border-radius: 4px; overflow-wrap: break-word; text-indent: 0px; display: inline- block;">iPhone 12 erreichte eine Latenz von fast 1 ms und über 80 % Top-1-Genauigkeit, was den ersten Durchbruch für leichte Modelle darstellt. 🎜Okay, als nächstes sollten sich alle Gedanken darüber machen: „Wie entwirft man ein Modell mit so geringer Latenz, aber hoher Genauigkeit?“ 🎜

Methode

🎜1,3 ms zeitaufwändig! Tsinghuas neueste Open-Source-Architektur für mobile neuronale Netzwerke RepViT🎜🎜again ConvNeXt, die Autoren basieren auf ResNet50 Architektur durch strenge Theorie und Experiment Wir haben endlich ein sehr gutes Design entworfen, das vergleichbar ist mit Swin-Transformers reine Faltungs-Neuronale Netzwerkarchitektur. Ebenso RepViT erfolgt hauptsächlich durch die schrittweise Integration des Architekturdesigns von Lightweight-ViTs in das Standard-Lightweight-CNN, d. h. MobileNetV3-L um eine gezielte Transformation durchzuführen (magische Modifikation) In diesem Prozess betrachteten die Autoren Designelemente auf unterschiedlichen Granularitätsebenen und erreichten Optimierungsziele durch eine Reihe von Schritten. 🎜

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

Anpassung von Trainingsrezepten

In dem Papier wird eine neue Metrik eingeführt, um die Latenz auf Mobilgeräten zu messen und sicherzustellen, dass die Trainingsstrategie mit derzeit beliebten Lightweight-ViTs übereinstimmt. Der Zweck dieser Initiative besteht darin, die Konsistenz des Modelltrainings sicherzustellen, das zwei Schlüsselkonzepte der Verzögerungsmessung und der Anpassung der Trainingsstrategie umfasst.

Latenzmetrik

Um die Leistung des Modells auf echten Mobilgeräten genauer zu messen, hat sich der Autor dafür entschieden, die tatsächliche Latenz des Modells auf dem Gerät als Basismetrik direkt zu messen. Diese Messmethode unterscheidet sich von früheren Studien, die hauptsächlich FLOPs oder Modellgröße optimieren die Inferenzgeschwindigkeit des Modells, und diese Metriken spiegeln die tatsächliche Latenz in mobilen Anwendungen nicht immer gut wider. FLOPs或模型大小等指标优化模型的推理速度,这些指标并不总能很好地反映在移动应用中的实际延迟。

训练策略的对齐

这里,将 MobileNetV3-L 的训练策略调整以与其他轻量级 ViTs 模型对齐。这包括使用 AdamW 优化器【ViTs 模型必备的优化器】,进行 5 个 epoch 的预热训练,以及使用余弦退火学习率调度进行 300 个 epoch 的训练。尽管这种调整导致了模型准确率的略微下降,但可以保证公平性。

块设计的优化

接下来,基于一致的训练设置,作者们探索了最优的块设计。块设计是 CNN 架构中的一个重要组成部分,优化块设计有助于提高网络的性能。

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

分离 Token 混合器和通道混合器

这块主要是对 MobileNetV3-LAusrichtung der Trainingsstrategie

Hier wird die Trainingsstrategie von MobileNetV3-L angepasst, um sie an andere leichte ViTs-Modelle anzupassen. Dazu gehört die Verwendung von AdamW-Optimierer [wesentlicher Optimierer für das ViTs-Modell], führt 5 Epochen des Aufwärmtrainings durch und verwendet die Cosinus-Annealing-Lernratenplanung für 300 Trainingsepochen. Obwohl diese Anpassung zu einer leichten Verringerung der Modellgenauigkeit führt, ist Fairness gewährleistet.

Optimierung des Blockdesigns

Als nächstes untersuchten die Autoren das optimale Blockdesign basierend auf konsistenten Trainingseinstellungen. Blockdesign ist eine wichtige Komponente in der CNN-Architektur, und die Optimierung des Blockdesigns kann dazu beitragen, die Leistung des Netzwerks zu verbessern.

1,3 ms zeitaufwändig! Tsinghuas neueste Open-Source-Architektur für mobile neuronale Netzwerke RepViT

Separater Token-Mixer und Kanal-Mixer

Dieses Stück ist hauptsächlich für <img src="https://img.php.cn/upload/article/000/465/014/171013003966159.png" alt="1.3ms耗时!清华最新开源移动端神经网络架构 RepViT"><span>Reduzieren Sie das Erweiterungsverhältnis und erhöhen Sie die Breite</span>🎜Im Kanalmischer beträgt das ursprüngliche Erweiterungsverhältnis 4, was bedeutet, dass die verborgene Dimension des MLP-Blocks viermal so groß ist wie die Eingabedimension, was viele Rechenressourcen verbraucht und Auswirkungen auf die Inferenzzeit haben einen großen Einfluss. Um dieses Problem zu lindern, können wir das Dilatationsverhältnis auf 2 reduzieren, wodurch Parameterredundanz und Latenz reduziert werden und die Latenz von MobileNetV3-L auf 0,65 ms reduziert wird. Anschließend erhöhte sich die Top-1-Genauigkeit durch die Vergrößerung der Breite des Netzwerks, d. h. die Erhöhung der Anzahl der Kanäle auf jeder Stufe, auf 73,5 %, während die Latenz nur auf 0,89 ms anstieg! 🎜🎜Optimierung makroarchitektonischer Elemente🎜🎜In diesem Schritt optimiert dieser Artikel die Leistung von MobileNetV3-L auf Mobilgeräten weiter, hauptsächlich ausgehend von makroarchitektonischen Elementen, einschließlich Stamm, Downsampling-Schicht, Klassifikator und Gesamtstufenverhältnis. Durch die Optimierung dieser makroarchitektonischen Elemente kann die Leistung des Modells deutlich verbessert werden. 🎜🎜🎜Flaches Netzwerk mit Faltungsextraktor🎜🎜🎜🎜🎜Bild🎜🎜<p style="max-width:90%">ViTs verwenden normalerweise eine „Patchify“-Operation, die das Eingabebild als Stamm in nicht überlappende Patches aufteilt. Dieser Ansatz hat jedoch Probleme mit der Trainingsoptimierung und der Sensibilität gegenüber Trainingsrezepten. Daher haben die Autoren stattdessen die frühe Faltung gewählt, einen Ansatz, der von vielen leichtgewichtigen ViTs übernommen wurde. Im Gegensatz dazu verwendet MobileNetV3-L einen komplexeren Stamm für das 4-fache Downsampling. Obwohl die anfängliche Anzahl der Filter auf diese Weise auf 24 erhöht wird, wird die Gesamtlatenz auf 0,86 ms reduziert, während die Top-1-Genauigkeit auf 73,9 % steigt. </p> <h5 style="text-align: justify;">Tiefere Downsampling-Schicht</h5> <p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/465/014/171013003976243.png" alt="1.3ms耗时!清华最新开源移动端神经网络架构 RepViT"></p> <p style="text-align: justify;">In ViTs wird räumliches Downsampling normalerweise über eine separate Patch-Merging-Schicht implementiert. Hier können wir also eine separate und tiefere Downsampling-Schicht einsetzen, um die Netzwerktiefe zu erhöhen und den Informationsverlust aufgrund der Auflösungsreduzierung zu reduzieren. Insbesondere verwendeten die Autoren zunächst eine 1x1-Faltung, um die Kanaldimension anzupassen, und verbanden dann die Eingabe und Ausgabe zweier 1x1-Faltungen über das Residuum, um ein Feedforward-Netzwerk zu bilden. Darüber hinaus fügten sie vorab einen RepViT-Block hinzu, um die Downsampling-Ebene weiter zu vertiefen. Dieser Schritt verbesserte die Top-1-Genauigkeit auf 75,4 % bei einer Latenz von 0,96 ms. </p> <p style="text-align: justify;"><strong>Einfacher Klassifikator</strong></p> <p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/465/014/171013003951910.png" alt="1.3ms耗时!清华最新开源移动端神经网络架构 RepViT"></p> <p style="text-align: justify;">In leichten ViTs besteht der Klassifikator normalerweise aus einer globalen Durchschnitts-Pooling-Schicht, gefolgt von einer linearen Schicht. Im Gegensatz dazu verwendet MobileNetV3-L einen komplexeren Klassifikator. Da die letzte Stufe nun über mehr Kanäle verfügt, haben die Autoren sie durch einen einfachen Klassifikator, eine globale Durchschnitts-Pooling-Schicht und eine lineare Schicht ersetzt. Dieser Schritt reduzierte die Latenz auf 0,77 ms und erreichte gleichzeitig eine Top-1-Genauigkeit. </p> <p style="text-align: justify;"><strong>Das Gesamtstufenverhältnis </strong></p> <p style="text-align: justify;">Das Stufenverhältnis stellt das Verhältnis der Anzahl der Blöcke in verschiedenen Stufen dar und gibt somit die Verteilung der Berechnungen in jeder Stufe an. Das Papier wählt ein besseres Bühnenverhältnis von 1:1:7:1 und erhöht dann die Netzwerktiefe auf 2:2:14:2, wodurch ein tieferes Layout erreicht wird. Dieser Schritt erhöht die Top-1-Genauigkeit auf 76,9 % bei einer Latenz von 1,02 ms. </p> <h4 style="text-align: justify;">Anpassung des Mikrodesigns</h4> <p style="text-align: justify;">Als nächstes passt RepViT das leichte CNN durch schichtweises Mikrodesign an, einschließlich der Auswahl der geeigneten Faltungskerngröße und der Optimierung der Position der Squeeze-and-Excitation (SE)-Schicht. Beide Methoden verbessern die Modellleistung erheblich. </p> <p style="text-align: justify;"><strong>Auswahl der Faltungskerngröße</strong></p> <p style="text-align: justify;">Es ist bekannt, dass die Leistung und Latenz von CNNs normalerweise von der Größe des Faltungskerns beeinflusst werden. Um beispielsweise weitreichende Kontextabhängigkeiten wie MHSA zu modellieren, verwendet ConvNeXt große Faltungskerne, was zu erheblichen Leistungsverbesserungen führt. Allerdings sind große Faltungskerne aufgrund ihrer Rechenkomplexität und Speicherzugriffskosten nicht für Mobilgeräte geeignet. MobileNetV3-L verwendet hauptsächlich 3x3-Faltungen und in einigen Blöcken werden 5x5-Faltungen verwendet. Die Autoren ersetzten sie durch 3x3-Faltungen, was zu einer Reduzierung der Latenz auf 1,00 ms bei gleichzeitiger Beibehaltung einer Top-1-Genauigkeit von 76,9 % führte. </p> <p style="text-align: justify;"><strong> Position der SE-Schicht </strong></p> <p style="text-align: justify;">Ein Vorteil des Selbstaufmerksamkeitsmoduls gegenüber der Faltung ist die Möglichkeit, die Gewichte basierend auf der Eingabe anzupassen, was als datengesteuerte Eigenschaft bezeichnet wird. Als Kanalaufmerksamkeitsmodul kann die SE-Schicht die Einschränkungen der Faltung durch das Fehlen datengesteuerter Eigenschaften ausgleichen und so zu einer besseren Leistung führen. MobileNetV3-L fügt in einigen Blöcken SE-Ebenen hinzu, wobei der Schwerpunkt hauptsächlich auf den letzten beiden Phasen liegt. Allerdings erzielt die Stufe mit niedrigerer Auflösung durch den von SE bereitgestellten globalen Durchschnitts-Pooling-Vorgang geringere Genauigkeitsgewinne als die Stufe mit höherer Auflösung. Die Autoren entwickelten eine Strategie, um die SE-Schicht in allen Phasen blockübergreifend zu nutzen, um die Genauigkeitsverbesserung mit dem kleinsten Verzögerungsinkrement zu maximieren. Dieser Schritt verbesserte die Top-1-Genauigkeit auf 77,4 %, während die Verzögerung auf 0,87 ms reduziert wurde. [Tatsächlich hat Baidu bereits vor langer Zeit Experimente und Vergleiche zu diesem Punkt durchgeführt und ist zu diesem Schluss gekommen. Die SE-Schicht ist effektiver, wenn sie in der Nähe der tiefen Schicht platziert wird]</p> <h4 style="text-align: justify;">Netzwerkarchitektur</h4> <p style="text-align: justify;">Durch die Integration der oben genannten Verbesserungsstrategien erhalten wir schließlich das Modell<code style="background-color: rgb(231, 243, 237); padding: 1px 3px; border-radius: 4px; overflow-wrap: break-word; text-indent: 0px; display: inline-block;">RepViT的整体架构,该模型有多个变种,例如RepViT-M1/M2/M3. Ebenso unterscheiden sich die verschiedenen Varianten hauptsächlich durch die Anzahl der Kanäle und Blöcke pro Stufe.

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

Experimente

Bildklassifizierung

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

Erkennung und Segmentierung

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT

Zusammenfassung

Dieses Papier befasst sich erneut mit dem effizienten Design von leichten CNNs, indem es die architektonische Wahl von leichtgewichtigem ViT vorstellt. Dies führte zur Entstehung von RepViT, einer neuen Familie leichter CNNs, die für ressourcenbeschränkte Mobilgeräte entwickelt wurden. RepViT übertrifft bestehende hochmoderne, leichtgewichtige ViTs und CNNs bei verschiedenen Sehaufgaben und weist eine überlegene Leistung und Latenz auf. Dies unterstreicht das Potenzial rein leichter CNNs für mobile Geräte.

Das obige ist der detaillierte Inhalt von1,3 ms dauert 1,3 ms! Tsinghuas neueste Open-Source-Architektur für mobile neuronale Netzwerke RepViT. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!