「模型解讀」說說移動端基準模型MobileNets

2021-01-12 有三AI

編輯 | 言有三

1 概述

Google開發的MobileNets【1】是用於嵌入式平臺計算機視覺應用的基準模型。MobileNets是流線型的架構,它使用depthwise sparable convolution(深度可分離卷積)來構建輕量級的深層神經網絡。通過引入兩個簡單的全局超參數,可實現在速度和準確度之間有效地進行平衡。這兩個超參數允許模型構建者根據問題的約束條件,為其應用選擇合適大小的模型。MobileNets應用在廣泛的場景中,包括物體檢測,細粒度分類,人臉屬性等。

2 Mobilenets結構

Mobilenets基本組成單元是depthwise sparable convolution+pointwise convolution,下圖是其組成結構圖。

我們可以看到它由3*3的通道分組卷積(depthwise separable convolution)加1*1的普通卷積(point wise convolution)組成。它的組成結構本質上就是Xception結構,如下圖。

從圖中可以看出,經過3*3深度卷積,每個通道的輸出信息只和之前的對應通道信息相關,而普通3*3卷積每個通道輸出信息和之前所有通道信息相關,這是它們的本質區別。

下面我們計算一下depthwise sparable convolution和普通卷積之間的計算量的比較,便於我們客觀理解depthwise sparable convolution的有效性。

假設輸入圖片是DF*DF*M,輸出圖片是DF*DF*N,卷積核尺度是DK*DK。

普通卷積計算量:

depthwise sparable convolution計算量:

兩個比值為:

一般情況下N比較大,當DK=3時,depthwise sparable convolution計算量僅為普通卷積計算量的1/9。

Mobilenets結構就是由這些depthwise sparable convolution+pointwise convolution線性疊加構成的。結構如下圖。

從圖中可以看出先是一個3*3普通卷積,然後是疊加depthwise sparable convolution+pointwise convolution,之後是全局均值池化,接著是全連接層,最後Softmax輸出。

下圖是MobileNets和各個網絡的比較。

可以看出在參數量減小的領先優勢之下,還能取的很高的準確率。

3 模型壓縮

可以通過定義width multiplier α(寬度乘數)和resolution multiplier ρ (解析度乘數)兩個超參數,來實現不同版本的mobilenets,從而實現不同要求的模型壓縮。

1.第一個參數α主要是按比例減少通道數,其取值範圍為(0,1),α ∈ {1, 0.75, 0.5, 0.25} 的測試效果如下圖:

可以看出隨著α減小,準確率下降,參數量減小,速度提升。

2.第二個超參數ρ 主要是按比例改變輸入數據的解析度。ρ 如果為{1,6/7,5/7,4/7},則對應輸入解析度為{224,192,160,128}。測試效果如下圖:

可以看出,隨著解析度下降,準確率下降,隨之速度加快。日常應用中,可以通過這兩個參數的選取來綜合考慮選擇模型。

模型分享到了第四篇,實習也到了尾聲即將殺入校招大軍,非常感謝鵬哥的幫助和指導。如果有朋友提供好的機會,歡迎後臺留言。

參考文獻

【1】Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J]. 2017.

更多模型解讀,請移步有三AI知識星球,1000+模型文章等你前來

相關焦點

  • PyTorch最新:分布式模型並行、Java程序、移動端等多項新功能
    本次更新是最後一個支持 Python2 的版本,同時增加了對分布式模型並行、移動端、Java 程序等方面的支持。 本次更新的重點是增加了很多重要的新特性,包括給用戶提供 Build 級別的移動端定製化支持、增加分布式模型並行訓練、讓 Java 程序能夠運行 TorchScript 等。此外還有 JIT、C++、分布式訓練、Eager 前端、PyTorch Mobile 等方面的功能改進和 Bug 修復。
  • 百度開源業內首個口罩人臉檢測及分類模型
    預訓練模型,立即部署為了最大程度方便開發者應用,百度深度學習平臺飛槳通過簡單易用的預訓練模型管理工具PaddleHub將人臉口罩檢測模型開源出來,只需基本的python編程能力,即可快速上手調用,如果具有一定的移動端APP開發能力,也可以快速將模型部署到移動端上。
  • PyTorch最新:支持分布式模型並行、Java程序、移動端等多項新功能
    本次更新是最後一個支持 Python2 的版本,同時增加了對分布式模型並行、移動端、Java 程序等方面的支持。本次更新的重點是增加了很多重要的新特性,包括給用戶提供 Build 級別的移動端定製化支持、增加分布式模型並行訓練、讓 Java 程序能夠運行 TorchScript 等。此外還有 JIT、C++、分布式訓練、Eager 前端、PyTorch Mobile 等方面的功能改進和 Bug 修復。
  • 依圖團隊提出新一代移動端網絡架構MobileNeXt
    ,但是大型神經網絡在移動端的性能制約了AI在移動端的推廣。最近,依圖團隊發表在ECCV的一篇論文,提出了新一代移動端神經網絡架構MobileNeXt,大大優於谷歌的MobileNet、何愷明團隊提出的ResNet等使用倒殘差結構的模型,為移動端算力帶來了新的突破。
  • 宇宙學家是如何看待「大爆炸宇宙模型」與「穩恆態宇宙模型」的?
    上個世紀20年代以前,人們心中那個「靜態的宇宙」幾乎已經成型,然而哈勃的發現改變了這一切,「純靜態的宇宙模型」已經被兩個新生的理論所替代,那就是——「大爆炸宇宙模型」和「穩恆態宇宙模型」。我們可以有兩個選擇:可以選擇「大爆炸宇宙模型」,它要求宇宙有一個創生的時刻,它的過去和未來有著天壤之別,有著有限的歷史和未來,當然我們也可以選擇「穩恆態宇宙模型」,它有著永恆的歷史和未來。並且有連續的物質產生,「大爆炸宇宙模型」可以解釋氫和氦的豐度,而「穩恆態宇宙模型」更容易被人們接受,它本質上卻回到了永恆宇宙的保守觀點。
  • 谷歌開源語義圖像分割模型:該領域當前最優模型
    GitHub 地址:https://github.com/tensorflow/models/tree/master/research/deeplab語義圖像分割任務是指將語義標籤(例如「道路」、「天空」、「人」、「狗」)分配給圖像中的每一個像素,這種技術有很多新應用,例如,Pixel 2 和 Pixel 2 XL 智慧型手機中肖像模式的合成淺景深效應,以及行動裝置的實時語義分割等
  • 「熱大爆炸宇宙學模型」的創立者最早提出「遺傳密碼模型」
    上個世紀40年代「大爆炸模型」雖然有哈勃等人的觀測證據,有弗裡德曼和勒邁特等人的理論支撐,但是依然有很多人是反對的,為了使「大爆炸模型」被廣泛地接受,有一個問題是不容忽視的,那就是——為什麼有些元素比其他元素更常見!
  • AI性能基準測試從此有了「中國標準」!英偉達、谷歌可以試試這套算力卷
    那麼問題來了,令這些「算力」大廠們競相追逐的MLPerf這套「考題」,真的是「AI性能基準測試的唯一標準」嗎?不見得。但在此基礎上,研究人員針對「AI加速器閒置」、「模型生成耗時」等問題,對NNI框架進行了修改。AIPerf的工作流程如下:通過SSH訪問主節點,收集從屬節點的信息,並創建SLURM配置腳本。主節點通過SLURM,將工作負載並行和異步地分配給對應請求和可用資源的從屬節點。從屬節點接收到工作負載後,並行地進行架構搜索和模型訓練。
  • 動態基準測試Dynabench已發布,Facebook想用人類來「審問」人工智慧
    為了提高SOTA結果,研究人員需要一種方法來比較他們的模型與同行開發的模型的效果差異。準確的比較是驗證新模型確實優於該領域現有模型的先決條件這個過程被稱為「基準測試」,即Benchmark。研究人員可以利用人工智慧進行對比測試,看看它到底有多先進。例如,ImageNet,一個由1400萬張圖像組成的公共數據集,為圖像識別設定了目標。
  • 谷歌研究院出品:高效 Transformer 模型最新綜述
    類似地,Roy 等人於 2020 年提出的「Routing Transformer」對詞例採用了在線的 K-均值聚類。同時,Tay 等人於 2020 年提出的「Sinkhorn Sorting Network」通過學著對輸入序列的塊進行排序,揭示了注意力權重的稀疏性。  在左右這些模型中,相似度函數都是與網絡中的其餘部分端到端地聯合訓練你的。
  • 李航等提出多粒度AMBERT模型,中文提升顯著
    我們首先看一下中英文任務中細、粗粒度模型層的注意力圖。下圖 1 顯示了適用於中英文句子的細粒度模型的首層注意力圖。可以看到,某些 token 不恰當地出現在句子的其他 token 上。例如在英文句子中,「drawing」、「new」和「dog」分別對「portrait」、「york」和「food」這幾個詞有高注意力權重,但這是不合適的。
  • 谷歌提出移動端AutoML模型MnasNet:精度無損速度更快
    目前開發者可以使用非常多的移動端 CNN 架構,也可以在機器上訓練新穎的視覺模型並部署到手機端。但各種各樣的移動端任務可能並不能藉助已有的 CNN 架構達到非常好的效果,因此谷歌近日將神經架構搜索方法引入了輕量級的 CNN 網絡,並提出基於強化學習的 MnasNet 以自動設計移動端模型。
  • NLP/CV模型跨界,視覺Transformer趕超CNN?
    特斯拉 AI 負責人 Andrej Karpathy 轉發了該論文,並表示「樂見計算機視覺和 NLP 領域日益融合」。」論文又有哪些新嘗試呢?SOTA 模型在流行圖像分類基準數據集上的性能對比。下圖(中)展示了模型學習編碼圖像內的距離,表明距離越近的圖像塊更有可能具備更相似的位置嵌入。自注意力允許 ViT 集成整個圖像的信息,即使最低層也不例外。研究者調查了 ViT 網絡利用這一能力的程度。具體而言,該研究計算圖像空間中的平均距離(基於注意力權重)參見下圖右。「注意力距離」類似於 CNN 中的感受野大小。
  • 「YZF-R1M」組裝模型開發內幕
    「讓我特別感到驚訝的是在1/12比例的模型上,竟然能夠如此完美地重現輪胎的胎面紋路,想必各部位零配件的設計負責人及供應商都會很感動吧!」(平野啟典)「整臺模型的比例一點都不會讓人覺得奇怪,當初在設計時花費心思的零配件,還有我們講究的細節等全都忠實的呈現出來,相信收到這臺模型的朋友們也一定會覺得很開心!」
  • 深度學習預測RNA二級結構,螞蟻金服提出端到端模型E2Efold
    本文將介紹一種用於預測 RNA 二級結構的端到端深度學習模型 E2Efold,在結構預測方面具有顯著更優表現,同時大大縮短新冠病毒 RNA 二級結構預測時間,為病毒研究、藥物篩選、疫苗研製等工作提供更多助力。這項成果來自螞蟻金服的研究團隊,目前這篇論文已被 ICLR 2020 接收為 Talk 論文。
  • Google提出移動端新SOTA模型MixNets:用混合深度卷積核提升精度
    特別是MixNet-L模型在傳統的移動端設備條件(<600M FLOPS)下達到了最新的SOTA結果,ImageNet top-1精度為78.9%。實驗結果表明,我們的MixNet模型大大優於所有以前的移動端卷積網絡,例如ShuffleNets,MnasNet,FBNet和ProxylessNAS。特別是,本文的中型模型MixNet-M在ImageNet數據集上 top-1達到了77.0%精度,同時使用的參數比ResNet-152少12倍,FLOPS數少31倍。
  • 不只是智能投研,「超對稱技術」想成為所有B端用戶的「外腦」
    在此之外,「超對稱技術」也從數據盡職調查層面,幫助風險投資機構篩選早期項目(deal sourcing),和對機構有投資意向的公司進行審核。同時,「超對稱技術」的創始人吳恆魁告訴36氪,他們正在與多倫多大學的教授合作相關學術研究,以發現更多影響股價表現的因子,完善模型。 爬蟲能力,計算能力:「超對稱技術」目前擁有每天能掃描30億頁面的大規模分布式爬蟲,能實時採集,存儲,計算和展示幾乎所有電商平臺的所有數據。
  • 谷歌開源基於 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
    「實時手部跟蹤」方面取得了新的進展,並將這項新技術運用在了 MediaPipe 中,這也是 AI 計算機視覺任務的一大突破。該模型可用於移動實時檢測,其方式類似於 BlazeFace(https://arxiv.org/abs/1907.05047),這個模型也可以在 MediaPipe 中使用。手部檢測是一項非常複雜的任務:我們的模型必須要適應不同的手部尺寸,因此它具有相對於圖像幀更大的範圍 (~20x),並且它能夠檢測被遮擋以及自遮擋的手部狀態。
  • 普林,DeepMind新研究:結合深度學習符號回歸,深度模型中看見宇宙
    「符號回歸」(Symbolic regression)正是用於此類符號模型的機器學習算法,這種監督方法可以聚集多個解析函數來建模數據集。但是,機器學習領域通常使用遺傳算法來學習符號模型,遺傳算法本質上類似於 Schmidt & Lipson (2009) 提出的強力程序(brute force procedure),但它無法針對輸入特徵的數量進行很好地縮放。
  • 21秒看盡ImageNet屠榜模型,60+模型架構同臺獻藝
    ImageNet 最初是由李飛飛等人在 CVPR 2009 年發表的論文——「ImageNet: A Large-Scale Hierarchical Image Database」中發布的。多年來,ImageNet 的相關論文對業內有極大的影響。截至到當前,Google Scholar 上展示該論文有 12224 的引用量。