首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度神经网络的实践效果分析

深度神经网络的实践效果分析

作者头像
哒呵呵
发布2018-08-06 17:18:31
3550
发布2018-08-06 17:18:31
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记

摘要:

由于深度神经网络(DNN)作为计算机视觉领域的突出技术的出现,ImageNet分类在推进最新技术方面发挥了重要作用。 虽然准确度在稳定增加,但获胜模型的资源利用率没有得到适当考虑。 在这项工作中,我们提出了实际应用中的重要指标的全面分析:精度,内存占用,参数,操作计数,推理(inference)时间和功耗。 关键的结果是:(1)完全连接的层对于较小批量的图像是无效的; (2)准确性和推理时间呈双曲关系; (3)能量约束是最大可实现精度和模型复杂度的上限; (4)操作次数是推理时间的可靠估计。 我们相信,我们的分析提供了一组令人信服的信息,有助于设计和设计有效的DNN。

1.引论

在2012年ImageNet竞争[9]的突破是由于AlexNet的实现 - 这是第一次使用深度神经网络(DNN) - 几个其他越来越复杂的DNN已经做好了挑战,以实现更好的性能。

在ImageNet分类挑战中,最终目标是在多分类问题框架中获得最高的精度,而不考虑实际的推理时间。我们认为这引起了几个问题。首先,现在正常的做法是运行几个经过训练的实例,即每个验证图像的状态。这种做法,也称为DNN的模型平均或顺序,增加了推理时间所需的计算量,以达到相应的准确性。其次,模型选择受到以下事实的阻碍:不同的submissions在验证图像上对它们的(整体)模型评价不同的次数,因此报告的精度偏向于特定的采样技术(和整体大小)。第三,目前没有加速推理时间的动机,这是这些模型的实际应用中的关键因素,并且影响资源利用,功耗和延迟。

我们将这些架构与实际部署中的资源利用率相关的多个指标进行比较:精度,内存足迹,参数,操作计数,参考时间和功耗。本文的目的是强调这些图的重要性,这是在实际部署和应用中优化这些网络的基本必要约束。

2.方法

为了比较不同模型的质量,我们收集和分析了文献中公开的准确度值。我们发现了不同的抽样技术不允许直接比较资源利用率。 例如,单次运行VGG-161和GoogLeNet (前5个验证)误差分别为8.70%和10.07%,表明VGG-16的性能优于GoogLeNet。 当模型使用10-crop采样,误差分别为9.33%和9.15%,因此VGG-16使用单个中央crop比GoogLeNet更差。 由于这个原因,我们决定使用一个中心crop采样技术对所有网络的准确度的重新评估进行分析。

对于推理时间和内存使用测量,我们使用Torch7 和cuDNNv4后端。 所有实验都在NVIDIA Jetson TX1板上进行:嵌入式视觉计算系统,带有64位ARM RA57 CPU,1T-Flop / s 256核NVIDIA Maxwell GPU和4 GB LPDDR4共享RAM。 我们使用这种资源有限的设备来更好地强调网络架构之间的差异,但是在最新的GPU上可以获得类似的结果,例如NVIDIA K40或Titan X等。 操作计数使用我们开发的开源工具获得。为了测量功耗,Keysight 1146B Halleffectcurrentprobe在一个采样周期为2s和50kSa / s采样率的KeysightMSO-X2024A200MHz数字比色仪中使用。 该系统由Keysight E3645A GPIB控制的直流电源供电。

3.结果

在这篇文章中,我们分析;标准化AlexNet,批量归一化NIN,GoogLeNet,VGG-16和-19 ,ResNet-18,-34,-50 和-101和Inception-v3,因为他们获得了最高的性能。

3.1精度

图1显示了提交给ImageNet挑战的最具相关性的条目的one-crop精度,从在he AlexNet 到成绩优先的v3 。 最新的ResNet-101和Inception-v3超过所有其他体系结构至少7%的显着余量(不包括较浅的ResNet版本)。

图2提供了精确度值的不同但更多信息的视图,因为它还可视化计算成本和网络参数的数量。第一件事是非常明显的VGG,得到了广泛应用,是在计算需求和参数数量方面的昂贵的架构。 它的16层和19层实现与所有其他网络的隔离。 其他架构形成了一条陡峭的直线,似乎开始使用最新的Inception和ResNet。 这可能表明模型正在达到这个数据集上的一个反射点。在这一点上,成本 - 在复杂性方面 - 开始超过精度的增益。 我们将在后面显示这种趋势是双曲线的。

3.2推理时间

图3显示了每个架构上每个图像的推理时间,作为图像批处理大小(从1到64)的函数。 我们注意到VGG在超过半秒钟内处理一个图像,使得它在NVIDIA TX1上的实时应用中不太可能有竞争力。 AlexNet显示从1到64幅图像的大约15×的速度,由于其完全连接的层的弱优化。这是一个非常令人惊讶的发现。

3.3功耗

功耗测量是由于电流消耗的高频率摆动变得复杂,这需要高采样电流以避免混叠。在这项工作中,我们使用带有电流探头的200MHz数字示波器。其他测量仪器,如2Hz采样率的AC电源或12Hz采样率的GPIB控制的DC电源,则不能提供足够的带宽来正确进行功耗测量。

在图4中,我们看到一些模型对批量大小的依赖。这是由于在每个模型中使用的完全连接层之间的差异。 注意,对于AlexNet,其完全连接的层占其批处理大小为1的多达84%的推理时间,而对于批处理大小为16的则为33%。类似地,VGG MLP占据其64%和8% 推断时间分别为1和16图像的批次。 因此,我们注意到,对于较大批次,矩阵矩阵乘法(gemm操作)是可优化的,因此只有在这种情况下才能够充分利用所有可用的硬件资源。另一方面,对于像ResNet和GoogLeNet这样的架构,它们的完全连接层很小,只占总操作数的1%,因此他们不会遇到这个问题。

--未完待续

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的学习笔记 微信公众号,前往查看

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

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

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