MobileNet家族:從v1到v4的架構演進與發展歷程

MobileNet 是一個專為移動設備和嵌入式系統設計的輕量化卷積神經網絡(CNN)家族,旨在在資源受限的環境中實現高效的圖像分類、對象檢測和語義分割等任務。自 2017 年首次推出以來,MobileNet 經歷了從 v1 到 v4 的多次迭代,每一代都在計算效率、模型大小和準確性上取得了顯著進步。本文將詳細探討 MobileNet v1、v2、v3 和 v4 的原理、架構設計及其發展歷程,并分析其關鍵創新和性能表現。


MobileNet v1:奠定輕量化基礎

發布時間:2017 年
MobileNet v1 是該系列的起點,由 Google 提出,目標是設計一種高效的 CNN,適合在移動設備上運行。其核心創新是引入了深度可分離卷積(depthwise separable convolution),大幅降低了計算復雜度和模型參數量。

  • 原理與創新
    深度可分離卷積將標準卷積分解為兩個步驟:

    1. 深度卷積(depthwise convolution):對每個輸入通道單獨應用一個濾波器,減少計算量。
    2. 逐點卷積(pointwise convolution):使用 1x1 卷積融合深度卷積的輸出,生成新的特征圖。
      相比標準卷積,這種方法將計算成本降低了約 8-9 倍(取決于濾波器數量)。
      此外,v1 引入了寬度乘數(α)分辨率乘數(ρ),允許用戶通過調整濾波器數量和輸入分辨率,在效率和準確性之間靈活權衡。
  • 架構設計
    網絡以一個標準的 3x3 卷積層開頭,隨后是 13 個深度可分離卷積模塊,通過步幅實現降采樣,最后以平均池化和全連接層完成分類。輸入分辨率默認設為 224x224。

  • 性能表現
    在 ImageNet 數據集上,MobileNet v1(α=1,ρ=1)實現了 70.6% 的 top-1 準確率,擁有 4.2 百萬參數和 569 百萬乘加運算(MAdds)。相比之下,VGG-16 的參數量(138 百萬)和計算量(15,300 MAdds)遠超 v1,而準確率僅略高(71.5%)。

  • 意義
    MobileNet v1 奠定了輕量化網絡的基礎,證明了深度可分離卷積在移動視覺任務中的潛力。

參考文獻MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications


MobileNet v2:倒置殘差與線性瓶頸的突破

發布時間:2018 年
MobileNet v2 在 v1 的基礎上引入了倒置殘差(inverted residuals)線性瓶頸(linear bottlenecks),進一步提升了效率和性能。

  • 原理與創新

    1. 倒置殘差
      與傳統殘差網絡(如 ResNet)不同,v2 的殘差連接發生在低維瓶頸層之間,而非高維層。每個模塊首先通過 1x1 卷積擴展通道(擴展因子通常為 6),然后應用深度卷積,最后通過 1x1 卷積壓縮回低維。這種“擴展-卷積-壓縮”的結構被稱為倒置殘差。
    2. 線性瓶頸
      在壓縮層后,v2 移除非線性激活(如 ReLU),以避免低維特征的信息損失,保留更多表示能力。
  • 架構設計
    網絡以一個 32 通道的 3x3 卷積層開始,隨后是 19 個瓶頸殘差塊。這些塊分為擴展層(expansion layer)、深度卷積層和投影層(projection layer),通過殘差連接優化梯度流動。

  • 性能表現
    在 ImageNet 上,MobileNet v2(α=1)達到 72.0% 的 top-1 準確率,參數量為 3.4 百萬,MAdds 為 300 百萬,Google Pixel 1 上的 CPU 延遲為 75ms。相比 v1(70.6% 準確率,575 MAdds,113ms),v2 在更低的計算成本下提高了準確性。

  • 意義
    倒置殘差和線性瓶頸的引入使 MobileNet v2 成為更高效的模型,廣泛應用于實時任務。

參考文獻MobileNetV2: Inverted Residuals and Linear Bottlenecks


MobileNet v3:神經架構搜索與硬件優化

發布時間:2019 年
MobileNet v3 通過**神經架構搜索(NAS)**和硬件感知優化,將移動網絡設計推向新高度。它結合了 v2 的基礎結構,并引入了新的激活函數和模塊。

  • 原理與創新

    1. 神經架構搜索(NAS)
      使用 NAS 自動搜索網絡結構,結合 NetAdapt 算法微調層級參數,優化延遲和準確性。
    2. h-swish 激活
      替換傳統 ReLU 和 swish,h-swish(基于硬 sigmoid)在深層網絡中減少計算開銷,同時保持非線性表達能力。
    3. 擠壓-激勵(SE)模塊
      在瓶頸塊中加入 SE 模塊,固定為擴展層的 1/4 大小,增強通道間的依賴性。
  • 架構設計
    MobileNet v3 基于 v2 的倒置殘差塊(稱為 MBConv),提供兩種變體:

    • MobileNetV3-Large:適用于高資源場景,目標延遲約 80ms。
    • MobileNetV3-Small:適用于低資源場景,結構更緊湊。
  • 性能表現

    • MobileNetV3-Large:75.2% top-1 準確率,5.4 百萬參數,217 MAdds。
    • MobileNetV3-Small:67.5% top-1 準確率,2.5 百萬參數,57 MAdds。
      與 v2 相比,Large 模型準確率提升 3.2%,延遲降低約 20%。
  • 意義
    MobileNet v3 通過自動化設計和硬件優化,成為移動設備上的標桿模型。

參考文獻Searching for MobileNetV3


MobileNet v4:通用設計與多硬件支持

發布時間:2024 年
MobileNet v4 是最新一代,旨在為移動生態系統提供通用的高效架構,針對多種硬件(如 CPU、DSP、GPU 和專用加速器)進行了優化。

  • 原理與創新

    1. 通用倒置瓶頸(UIB)
      通過搜索融合多種塊類型(倒置瓶頸、ConvNext、FFN 和 Extra Depthwise),生成靈活的計算單元,適應不同硬件需求。
    2. 移動優化多查詢注意力(Mobile MQA)
      引入輕量化的注意力機制,加速約 39%,提升特征表達能力。
    3. 增強的 NAS
      使用更先進的搜索策略,優化延遲、內存和準確性的 Pareto 前沿。
  • 架構設計
    v4 的具體層級細節依賴于搜索結果,但其核心是 UIB 塊和 MQA 模塊的組合,支持多種硬件加速器(如 Apple Neural Engine 和 Google EdgeTPU)。

  • 性能表現
    具體數據需參考最新論文,但 v4 被設計為在多種移動場景下實現最優性能,尤其是在邊緣計算中表現出色。

  • 意義
    MobileNet v4 的通用性和硬件適配能力使其成為未來移動視覺任務的理想選擇。

參考文獻MobileNetV4 – Universal Models for the Mobile Ecosystem


發展歷程總結

版本發布年份核心創新Top-1 準確率(α=1)參數量 (M)MAdds (M)
MobileNet v12017深度可分離卷積70.6%4.2569
MobileNet v22018倒置殘差,線性瓶頸72.0%3.4300
MobileNet v32019NAS,h-swish,SE 模塊75.2% (Large)5.4217
MobileNet v42024UIB,Mobile MQA,增強 NAS未公開未公開未公開

未來展望

MobileNet 從 v1 的輕量化探索,到 v4 的通用硬件優化,展示了深度學習在移動設備上的演進路徑。未來,隨著邊緣計算和專用硬件的發展,MobileNet 可能進一步通過自動化設計和跨平臺優化,滿足更復雜的實時視覺需求。


參考文獻

  1. Howard, A. G., et al. (2017). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications. arXiv:1704.04861
  2. Sandler, M., et al. (2018). MobileNetV2: Inverted Residuals and Linear Bottlenecks. arXiv:1801.04381
  3. Howard, A., et al. (2019). Searching for MobileNetV3. arXiv:1905.02244
  4. Yang, T., et al. (2024). MobileNetV4 – Universal Models for the Mobile Ecosystem. arXiv:2404.10518

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72470.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72470.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72470.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在 Windows 上使用 choco 安裝 mkcert 并配置 Vue 運行HTTPS

解決在Windows上使用Vue本地運行HTTPS的問題,vue-cli或vite都可以使用 步驟 1:確認 Chocolatey 是否已安裝 1. 檢查 choco 命令是否可用 打開 PowerShell(管理員權限),輸入: choco -v如果顯示版本號(如…

【PHP】新版本特性記錄(持續更新)

文章目錄 前言PHP 7.01&#xff09;NULL合并運算符&#xff1a;??2&#xff09;參數、返回值支持類型聲明3&#xff09;太空船操作符&#xff1a;<>4&#xff09;通過 define 定義常量數組5&#xff09;匿名類實例化6&#xff09;字符串里使用\u轉義unicode codepoint …

【記】如何理解kotlin中的委托屬性?

1. 什么是委托屬性&#xff1f; 委托屬性的核心思想是&#xff1a; 你可以將一個屬性的 getter 和 setter 的邏輯交給一個外部對象&#xff08;稱為委托對象&#xff09;來處理。這個外部對象負責存儲屬性的值&#xff0c;并提供自定義的 get 和 set 行為。 通過委托屬性&am…

使用自動導入后,eslint報錯 eslint9

前提&#xff1a;使用pnpm create vuelatest創建vue應用&#xff0c;并且在創建項目時就勾選eslint和prettier&#xff0c;不然有些配置還需要手動配&#xff0c;比如解決eslint和prettier的沖突問題 1. 解決使用自動導入后Eslint報錯問題 配置vite.config.ts // 自動導入api…

springboot EasyExcel 實現導入導出

1. 添加依賴 確保 Maven 依賴中包含 EasyExcel 3.0.5&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency><!-- excel工具 --><dep…

實現懸浮按鈕拖動,兼容h5和微信小程序

h5用js寫&#xff0c;微信小程序用 代碼里面沒有完全實現吸附邊緣的功能&#xff0c;需要吸附邊緣的話還得自己再完善下&#xff08;h5的吸附邊緣是可以的&#xff0c;小程序的還有點問題&#xff09; 主要功能是&#xff1a;圖片上寫文字的懸浮按鈕&#xff0c;文字使用的是…

2、操作系統之軟件基礎

一、硬件支持系統 &#xff0c;系統管理硬件 操作系統核心功能可以分為&#xff1a; 守護者&#xff1a;對硬件和軟件資源的管理協調者&#xff1a;通過機制&#xff0c;將各種各樣的硬件資源適配給軟件使用。 所以為了更好的管理硬件&#xff0c;操作系統引進了軟件。其中3大…

17 | 實現簡潔架構的 Biz 層

提示&#xff1a; 所有體系課見專欄&#xff1a;Go 項目開發極速入門實戰課&#xff1b;歡迎加入 云原生 AI 實戰 星球&#xff0c;12 高質量體系課、20 高質量實戰項目助你在 AI 時代建立技術競爭力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本節課最終…

idea更新git代碼報錯No Git Roots

idea更新git代碼報錯&#xff1a; No Git Roots None of configured Git roots are under Git. The configured directory must have ".git directory in it.但是本地項目里是存在.git文件的&#xff0c;就是突然間不能更新代碼了 然后嘗試重新拉新項目代碼提示: Git i…

Webpack 知識點整理

? 1. 對 webpack 的理解&#xff1f;解決了什么問題&#xff1f; Webpack 是前端工程化領域的核心工具&#xff0c;其核心定位是模塊打包器&#xff08;Module Bundler&#xff09;&#xff0c;通過將各類資源&#xff08;JS、CSS、圖片等&#xff09;視為模塊并進行智能整合…

[Hello-CTF]RCE-Labs超詳細WP-Level13Level14(PHP下的0/1構造RCE命令簡單的字數限制RCE)

Level 13 源碼分析 這題又回到了 PHP重點關注preg_match("/[A-Za-z0-9\"%*,-.\/:;>?[\]^|]/", $cmd)禁用了所有數字, 并且回到了 PHP, 沒辦法用上一關的方法進行繞過但是比起上一關, 給我們少繞過了 &, ~, _似乎有其他方法 解題分析 利用 $(()) 和 …

Qt 控件概述 QWdiget 1.1

目錄 qrc機制 qrc使用 1.在項目中創建一個 qrc 文件 2.將圖片導入到qrc文件中 windowOpacity&#xff1a; cursor 光標 cursor類型 自定義Cursor font tooltip focusPolicy styleSheet qrc機制 之前提到使用相對路徑的方法來存放資源&#xff0c;還有一種更好的方式…

【eNSP實戰】將路由器配置為DHCP服務器

拓圖 要求&#xff1a; 為 office100 和 office200 分別配置地址池 AR1接口配置 interface GigabitEthernet0/0/0ip address 192.168.100.1 255.255.255.0 # interface GigabitEthernet0/0/1ip address 192.168.200.1 255.255.255.0 AR1路由器上創建office100地址池 [AR1…

數據結構——順序表seqlist

前言&#xff1a;大家好&#x1f60d;&#xff0c;本文主要介紹了數據結構——順序表部分的內容 目錄 一、線性表的定義 二、線性表的基本操作 三.順序表 1.定義 2. 存儲結構 3. 特點 四 順序表操作 4.1初始化 4.2 插入 4.2.1頭插 4.2.2 尾插 4.2.3 按位置插 4.3 …

OSPF | LSDB 鏈路狀態數據庫 / SPF 算法 / 實驗

注&#xff1a;本文為 “OSPF | LSDB / SPF ” 相關文章合輯。 LSDB 和 SPF 算法 瀟湘浪子的蹋馬骨湯 發布 2019-02-15 23:58:46 1. 鏈路狀態數據庫 (LSDB) 鏈路狀態協議除了執行洪泛擴散鏈路狀態通告&#xff08;LSA&#xff09;以及發現鄰居等任務外&#xff0c;其第三個任…

前端---CSS(前端三劍客)

1.基本語法規范 選擇器 {?條/N條聲明} ? 選擇器決定針對誰修改 (找誰) ? 聲明決定修改啥. (?啥) ? 聲明的屬性是鍵值對. 使? ; 區分鍵值對, 使? : 區分鍵和值 比如&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta…

【C++】 —— 筆試刷題day_6

刷題day_6&#xff0c;繼續加油哇&#xff01; 今天這三道題全是高精度算法 一、大數加法 題目鏈接&#xff1a;大數加法 題目解析與解題思路 OK&#xff0c;這道題題目描述很簡單&#xff0c;就是給我們兩個字符串形式的數字&#xff0c;讓我們計算這兩個數字的和 看題目我…

todolist docker 小工具

參考鏈接 前排提示 沒有中文&#xff0c;可使用瀏覽器 翻譯 前提 安裝docker安裝docker-compose 下載倉庫 git clone https://github.com/JordanKnott/taskcafe進行安裝 cd taskcafe docker-compose -p taskcafe up -d服務啟動后會監聽在 3333 端口上&#xff0c;通過瀏覽器…

Unity--GPT-SoVITS接入、處理GPTAPI的SSE響應流

GPT-SoVITS GPT-SoVITS- v2&#xff08;v3也可以&#xff0c;兩者對模型文件具有兼容&#xff09; 點擊后 會進入新的游覽器網頁 ----- 看了一圈&#xff0c;發現主要問題集中在模型的訓練很需要CPU&#xff0c;也就是模型的制作上&#xff0c;問題很多&#xff0c;如果有現有…

《TypeScript 快速上手:類型、編譯與嚴格模式的簡明教程》

一、TypeScript介紹 在引入編程社區 20 多年后&#xff0c;JavaScript 現在已成為有史以來應用最廣泛的跨平臺語言之一。JavaScript 最初是一種用于向網頁添加微不足道的交互性的小型腳本語言&#xff0c;現已發展成為各種規模的前端和后端應 用程序的首選語言。雖然用 JavaSc…