深度神经网络繁多,各自的性能指标怎样?
实际应用中,在速度、内存、准确率等各类约束下,应该尝试哪些模型做为backbone?git
有paper对各个网络模型进行了对比分析,造成了一个看待全部主要模型的完整视角,其分析结果能够在实践中提供指导和帮助。github
这篇博客主要整合了其中3篇文章的结论,分别是网络
文章1和3是paper,2是篇博客(对1的更新)。这3篇文章对图像识别任务(ImageNet-1k)主要的state of the art网络进行了对比分析,采用的指标有:性能
比较重要的结论有:学习
其余一些更细致的结论能够参看论文,下面贴一下论文中的重要图表。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以下:设计
图中,blob的中心为模型在图表中的位置,blob的大小对应模型的参数量,横轴为操做次数,纵轴为Top-1 center crop的准确率,越靠近左上角的模型计算复杂度越低、准确率越高,blob越小的模型参数越少。3d
论文An Analysis of Deep Neural Network Models for Practical Applications中,推理时间和操做数的关系图表以下,不出意料的正相关
blog
论文Benchmark Analysis of Representative Deep Neural Network Architectures中,作了更详细的对比,以下图所示,左上角ResNet系的模型表现强劲,右上角NASNet-A-Large的准确率最高但计算复杂度也最大:
ip
参数利用率以下:
速度(帧率)与准确率以下,图中的曲线为特定硬件下帧率与性能的上界,横轴为帧率的对数,
模型参数量与内存占用大小以下,GPU上内存占用最少的也在0.6G以上,
对于每一个网络具体的推理时间和内存占用状况能够参见论文原文,有更详细的描述。
给定硬件平台上,在不一样内存和速度约束下的最优模型以下:
Benchmark Analysis of Representative Deep Neural Network Architectures的代码基于pytorch,详见models-comparison.pytorch。