前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ImageNet主要网络benchmark对比

ImageNet主要网络benchmark对比

作者头像
李拜六不开鑫
发布2019-08-29 16:51:04
1.3K0
发布2019-08-29 16:51:04
举报
文章被收录于专栏:本立2道生

深度神经网络繁多,各自的性能指标怎样? 实际应用中,在速度、内存、准确率等各种约束下,应该尝试哪些模型作为backbone?

有paper对各个网络模型进行了对比分析,形成了一个看待所有主要模型的完整视角,其分析结果可以在实践中提供指导和帮助。

这篇博客主要整合了其中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,评估Top1、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)是推理时间的良好估计
  • 为了满足不同的内存和速度要求,可选的最优模型不同

其他一些更细致的结论可以参看论文,下面贴一下论文中的重要图表。

论文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
Top1 vs. operations, size ∝ parameters

图中,blob的中心为模型在图表中的位置,blob的大小对应模型的参数量,横轴为操作次数,纵轴为Top-1 center crop的准确率,越靠近左上角的模型计算复杂度越低、准确率越高,blob越小的模型参数越少

论文An Analysis of Deep Neural Network Models for Practical Applications中,推理时间和操作数的关系图表如下,不出意料的正相关

Operations vs. inference time
Operations vs. inference time

论文Benchmark Analysis of Representative Deep Neural Network Architectures中,做了更详细的对比,如下图所示,左上角ResNet系的模型表现强劲,右上角NASNet-A-Large的准确率最高但计算复杂度也最大

accuracy vs computational complexity
accuracy vs computational complexity

参数利用率如下:

accuracy density and Top-1 accuracy
accuracy density and Top-1 accuracy

速度(帧率)与准确率如下,图中的曲线为特定硬件下帧率与性能的上界,横轴为帧率的对数,

Top-1 accuracyvs.number of images processed per second (with batch size 1)
Top-1 accuracyvs.number of images processed per second (with batch size 1)

模型参数量与内存占用大小如下,GPU上内存占用最少的也在0.6G以上,

model size vs memory
model size vs memory

对于每个网络具体的推理时间和内存占用情况可以参见论文原文,有更详细的描述。

给定硬件平台上,在不同内存和速度约束下的最优模型如下:

Top 5 models
Top 5 models

Benchmark Analysis of Representative Deep Neural Network Architectures的代码基于pytorch,详见models-comparison.pytorch

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档