DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之ShuffleNetV2:ShuffleNetV2算法的簡(jiǎn)介(論文介紹)、架構(gòu)詳解、案例應(yīng)用等配圖集合之詳細(xì)攻略
?
?
目錄
ShuffleNetV2算法的簡(jiǎn)介(論文介紹)
1、論文特點(diǎn)
2、基于硬件平臺(tái)的性能分析
3、該論文實(shí)驗(yàn)采用的硬件
7、實(shí)驗(yàn)結(jié)果
ShuffleNetV2算法的架構(gòu)詳解
ShuffleNetV2算法的案例應(yīng)用
?
?
?
?
?
?
相關(guān)文章
DL之ShuffleNet:ShuffleNet算法的簡(jiǎn)介(論文介紹)、架構(gòu)詳解、案例應(yīng)用等配圖集合之詳細(xì)攻略
DL之ShuffleNet:ShuffleNet算法的架構(gòu)詳解
DL之ShuffleNetV2:ShuffleNetV2算法的簡(jiǎn)介(論文介紹)、架構(gòu)詳解、案例應(yīng)用等配圖集合之詳細(xì)攻略
DL之ShuffleNetV2:ShuffleNetV2算法的架構(gòu)詳解
ShuffleNetV2算法的簡(jiǎn)介(論文介紹)
? ? ? ShuffleNetV2是ShuffleNet的升級(jí)版本。
Abstract ?
? ? ? Currently, the neural network architecture design is mostly ?guided by the indirect metric of computation complexity, i.e., FLOPs. ?However, the direct metric, e.g., speed, also depends on the other factors ?such as memory access cost and platform characterics. Thus, this work ?proposes to evaluate the direct metric on the target platform, beyond ?only considering FLOPs. Based on a series of controlled experiments, ?this work derives several practical guidelines for efficient network design. ?Accordingly, a new architecture is presented, called ShuffleNet V2. ?Comprehensive ablation experiments verify that our model is the stateof-the-art ?in terms of speed and accuracy tradeoff. ?
Keywords: CNN architecture design, efficiency, practical
摘要
? ? ? 目前,神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計(jì)大多以計(jì)算復(fù)雜度的間接度量為指導(dǎo),即FLOPs。然而,直接度量(如速度)也取決于其他因素,如內(nèi)存訪問成本和平臺(tái)特性。因此,這項(xiàng)工作建議評(píng)估目標(biāo)平臺(tái)上的直接指標(biāo),而不僅僅是考慮故障。在一系列受控實(shí)驗(yàn)的基礎(chǔ)上,得出了有效網(wǎng)絡(luò)設(shè)計(jì)的幾種實(shí)用指導(dǎo)原則。因此,提出了一種新的體系結(jié)構(gòu),稱為ShuffleNet V2。綜合消融實(shí)驗(yàn)驗(yàn)證了我們的模型在速度和精度上是最先進(jìn)的。
關(guān)鍵詞:CNN架構(gòu)設(shè)計(jì);高效;實(shí)用
Conclusion ?
? ? ? We propose that network architecture design should consider the direct metric ?such as speed, instead of the indirect metric like FLOPs. We present practical ?guidelines and a novel architecture, ShuffleNet v2. Comprehensive experiments ?verify the effectiveness of our new model. We hope this work could inspire future ?work of network architecture design that is platform aware and more practical.
結(jié)論
? ? ? 我們建議網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)應(yīng)考慮直接指標(biāo)如速度,而不是間接指標(biāo)(如FLOPs)。我們提出了實(shí)用的指南和一個(gè)新穎的體系結(jié)構(gòu),ShuffleNet v2.。綜合實(shí)驗(yàn)驗(yàn)證新模型的有效性。我們希望這項(xiàng)工作能夠激發(fā)未來網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)的工作,使其具有平臺(tái)意識(shí)和更實(shí)用性。
論文
Ningning Ma, XiangyuZhang, Hai-Tao Zheng, Jian Sun.
ShuffleNetV2: Practical Guidelines for Efficient CNN Architecture Design. ECCV 2018.
https://arxiv.org/abs/1807.11164
?
1、論文特點(diǎn)
? ? ? 度量標(biāo)準(zhǔn)太單一:目前,神經(jīng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)主要由計(jì)算復(fù)雜度的間接度量(即FLOPs)所指導(dǎo)。然而,直接度量(例如,執(zhí)行速度)還取決于諸如存儲(chǔ)器訪問成本和平臺(tái)特性之類的其他因素。因此,作者建議評(píng)估目標(biāo)平臺(tái)上的直接度量,而不僅僅考慮FLOPs。
? ? ?ShuffleNetV2采用更好的度量標(biāo)準(zhǔn):基于一系列對(duì)照實(shí)驗(yàn),該論文為有效的網(wǎng)絡(luò)設(shè)計(jì)提供了一些實(shí)用指南,并提出了一種稱為ShuffleNetV2的新架構(gòu)。
?
2、基于硬件平臺(tái)的性能分析
1、四種不同計(jì)算復(fù)雜度的硬件平臺(tái)上,測(cè)量四種網(wǎng)絡(luò)架構(gòu)的準(zhǔn)確度(驗(yàn)證集上的ImageNet分類),速度和FLOPs
? ? ? ? ?在兩個(gè)具有四種不同計(jì)算復(fù)雜度的硬件平臺(tái)上測(cè)量四種網(wǎng)絡(luò)架構(gòu)的準(zhǔn)確度(驗(yàn)證集上的ImageNet分類),速度和FLOPs。
(a,c)GPU結(jié)果,batchsize= 8.(b,d)ARM結(jié)果,batchsize= 1。在所有情況下,性能最佳的算法,即論文提出的ShuffleNetv2(位于右上角區(qū)域)的準(zhǔn)確度、復(fù)雜度都有明顯提高。
?
2、ShuffeNetv1 和 MobileNetv2 兩個(gè)架構(gòu)在不同計(jì)算平臺(tái)上的分解
? ? ? 在兩個(gè)具有代表性的最先進(jìn)的網(wǎng)絡(luò)架構(gòu)上運(yùn)行時(shí)分解:ShuffeNetv1 (1×, g = 3) 和 MobileNetv2 (1×).
? ? ? Run time decomposition on two representative state-of-the-art network architectures, ShuffeNetv1 (1×, g = 3) and MobileNetv2 (1×). 比如卷積操作、Shuffle操作、Elemwise逐點(diǎn)操作等操作所需時(shí)間占比分布圖,明顯的看出:
(1)、卷積操作占用了大部分的計(jì)算量,Elemwise逐點(diǎn)操作次之。
(2)、不同的操作平臺(tái),比如卷積操作占用時(shí)間也不一樣。
?
3、間接指標(biāo)(FLOPs)和直接指標(biāo)(速度)之間的差異
分析——問題原因:間接指標(biāo)(FLOPs)和直接指標(biāo)(速度)之間的差異可歸因于兩個(gè)主要原因:
- 1、首先,FLOPs沒有考慮幾個(gè)對(duì)速度有相當(dāng)影響的重要因素。
(1)、一個(gè)這樣的因素是存儲(chǔ)器訪問成本(MAC,memory access cost )。在諸如組卷積的某些操作中,這種成本占運(yùn)行時(shí)的很大一部分。它可能是具有強(qiáng)大計(jì)算能力的設(shè)備(例如GPU)的瓶頸。在網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)中不應(yīng)忽略此成本。
(2)、另一個(gè)是并行度。在相同的FLOPs下,具有高并行度的模型可能比具有低并行度的另一個(gè)模型快得多。 - 2、其次,具有相同F(xiàn)LOPs的操作,可能具有不同的運(yùn)行時(shí)間,具體取決于平臺(tái)。例如,張量分解廣泛用于早期工作以加速矩陣乘法。然而,最近的工作發(fā)現(xiàn)盡管分解將FLOPs降低了75%,在GPU上甚至更慢。當(dāng)然不能認(rèn)為3×3轉(zhuǎn)換,比1×1轉(zhuǎn)換慢9倍。作者發(fā)現(xiàn)這是因?yàn)?span style="color:#3399ea;">最新的CUDNN 庫專門為3×3卷積轉(zhuǎn)換而優(yōu)化。
思考——解決方法:通過這些觀察,作者提出應(yīng)該考慮兩個(gè)原則來進(jìn)行有效的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)。
- 首先,應(yīng)該使用直接度量(例如,速度)而不是間接度量(例如,FLOPs)。
- 其次,應(yīng)在具體的目標(biāo)平臺(tái)上,進(jìn)行評(píng)估此類指標(biāo)。
?
3、該論文實(shí)驗(yàn)采用的硬件
作者的研究是在兩個(gè)廣泛采用的硬件上進(jìn)行的,具有CNN庫的行業(yè)級(jí)優(yōu)化。
- GPU:使用單個(gè)NVIDIA GeForce GTX 1080Ti。卷積庫是CUDNN 7.0 。還激活了CUDNN的基準(zhǔn)測(cè)試功能,分別為不同的卷積選擇最快的算法。
- ARM:Qualcomm Snapdragon 810。使用高度優(yōu)化的基于Neon的實(shí)現(xiàn)。評(píng)估時(shí)使用單個(gè)線程。其他設(shè)置包括:接通完全優(yōu)化選項(xiàng)(例如,用于減少小操作的開銷的tensor fusion)。輸入圖像大小為224×224。
?
?
7、實(shí)驗(yàn)結(jié)果
1、ImageNet分類性能
? ? ? ?比如ShuffleNetv2的0.5的復(fù)雜度,MFLOPS=41M、GPU平臺(tái)上單位秒處理數(shù)=417張圖片、ARM平臺(tái)上單位秒處理數(shù)=57張圖片。
2、COCO目標(biāo)檢測(cè)的性能 Performance on COCO object detection
?
?
?
?
?
ShuffleNetV2算法的架構(gòu)詳解
更新……
DL之ShuffleNetV2:ShuffleNetV2算法的架構(gòu)詳解
?
?
ShuffleNetV2算法的案例應(yīng)用
更新……
?
?
?
總結(jié)
以上是生活随笔為你收集整理的DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DL之ShuffleNet:Shuffl
- 下一篇: MAT之GUI:GUI的方式创建/训练/