ImageNet主要網絡benchmark對比

深度神經網絡繁多,各自的性能指標怎樣?
實際應用中,在速度、內存、準確率等各類約束下,應該嘗試哪些模型做爲backbone?git

有paper對各個網絡模型進行了對比分析,造成了一個看待全部主要模型的完整視角,其分析結果能夠在實踐中提供指導和幫助。github

這篇博客主要整合了其中3篇文章的結論,分別是網絡

  1. 201605-An Analysis of Deep Neural Network Models for Practical Applications
  2. 201809-Analysis of deep neural networks
  3. 201810-Benchmark Analysis of Representative Deep Neural Network Architectures

文章1和3是paper,2是篇博客(對1的更新)。這3篇文章對圖像識別任務(ImageNet-1k)主要的state of the art網絡進行了對比分析,採用的指標有:性能

  • accuracy,準確率,只使用cental crop,評估Top一、Top5在ImageNet-1k上的準確率
  • model complexity,模型複雜度,經過模型的可學習參數量衡量(近似爲模型文件大小),反映了自由度
  • computational complexity,計算複雜度,操做次數,經過floating-point operations (FLOPs)衡量,Multiply-add乘加運算爲2 FLOPS
  • memory usage,內存大小(空間複雜度)
  • inference time,推理時間
  • accuracy density,等於 accuracy / modle size,用來衡量參數的利用效率

比較重要的結論有:學習

  • 計算複雜度高,識別準確率不必定高;參數量大,識別準確率也不必定高。——好的網絡結構設計很重要,好比ResNet系的模型。
  • 不一樣模型的參數利用效率不一樣,目前來看針對移動端設計的網絡參數利用效率較高,如MobileNet、ShuffleNet、SqueezeNet等,但在Top1準確率高於80%的模型中,Inception-V4和SE-ResNeXt-101的利用率較高
  • 操做次數(FLOPs)是推理時間的良好估計
  • 爲了知足不一樣的內存和速度要求,可選的最優模型不一樣

其餘一些更細緻的結論能夠參看論文,下面貼一下論文中的重要圖表。ui

論文An Analysis of Deep Neural Network Models for Practical Applications誕生於2016年5月,文中對當時的主要模型(從AlexNet到Inception-v4)進行了對比分析,獲得了那張流傳甚廣的ball chart。後來在2018年9月,文章做者Eugenio Culurciello在博客Analysis of deep neural networks中,對圖表進行了更新,包括了Shufflenet、Mobilenet、Xception、Densenet、Squeezenet等新近模型的對比分析,更新的ball chart以下:設計

Top1 vs. operations, size ∝ parameters
圖中,blob的中心爲模型在圖表中的位置,blob的大小對應模型的參數量,橫軸爲操做次數,縱軸爲Top-1 center crop的準確率,越靠近左上角的模型計算複雜度越低、準確率越高,blob越小的模型參數越少3d

論文An Analysis of Deep Neural Network Models for Practical Applications中,推理時間和操做數的關係圖表以下,不出意料的正相關
Operations vs. inference timeblog

論文Benchmark Analysis of Representative Deep Neural Network Architectures中,作了更詳細的對比,以下圖所示,左上角ResNet系的模型表現強勁,右上角NASNet-A-Large的準確率最高但計算複雜度也最大
accuracy vs computational complexityip

參數利用率以下:
accuracy density and Top-1 accuracy

速度(幀率)與準確率以下,圖中的曲線爲特定硬件下幀率與性能的上界,橫軸爲幀率的對數,
Top-1 accuracyvs.number of images processed per second (with batch size 1)

模型參數量與內存佔用大小以下,GPU上內存佔用最少的也在0.6G以上,
model size vs memory

對於每一個網絡具體的推理時間和內存佔用狀況能夠參見論文原文,有更詳細的描述。

給定硬件平臺上,在不一樣內存和速度約束下的最優模型以下:
Top 5 models
Benchmark Analysis of Representative Deep Neural Network Architectures的代碼基於pytorch,詳見models-comparison.pytorch

參考

相關文章
相關標籤/搜索