前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICIR 2019 | 伊利诺伊大学Thomas Huang团队,有限计算资源下“可动态瘦身”的神经网络

ICIR 2019 | 伊利诺伊大学Thomas Huang团队,有限计算资源下“可动态瘦身”的神经网络

作者头像
AI科技评论
发布2019-10-10 11:39:11
4560
发布2019-10-10 11:39:11
举报
文章被收录于专栏:AI科技评论AI科技评论

作者 | 林洛君 编辑 | Camel

本文转载自“CSIG文档图像分析与识别专委会”公众号。文章简要介绍 ICLR 2019 论文“Slimmable Neural Networks”的主要工作。该论文主要提出了一种有限计算资源下动态调整模型复杂度的方法。

论文地址: https://arxiv.org/abs/1812.08928

一、研究背景

近年来,深度神经网络在移动手机、增强现实设备和自动驾驶汽车中的应用逐渐盛行。这些移动端的应用对算法运行效率有较高的要求。

现有的许多轻量级网络如MobileNet, ShuffleNet等,是通过Width Multiplier来控制模型的计算复杂度和内存占用。由于设备性能的差异,这些轻量化网络在不同的设备上具有不同的响应时间。为了在不同的设备上达到精度和速度的权衡,人们通常是训练得到多种宽度的模型,并针对不同的设备进行单独部署。

然而,作者认为这种方法缺乏灵活性,不能在运行时对模型进行动态调整。因此,作者提出了一种“可瘦身”的网络训练方式,能够在运行时根据精度和速度动态地调整网络宽度,从而在不同的设备上均可达到性能与效率的平衡。

二、Slimmable Neural Networks

(1)网络结构

Slimmable Neural Networks可以被认为是不同网络宽度的子网络的集合,这些子网络拥有同一个主干网络并且共享一部分参数。主干网络可以采用现有的各种网络结构如 MobileNet, ShuffleNet, ResNet 等等。

如Figure 1所示,它包含了1.0x, 0.75x, 0.5x, 0.25x这4种网络宽度的子网络,这些子网络共享一组参数,比如,1.0x网络的前面25%的通道与0.25x网络共享所有参数。这些子网络通过联合训练,获得了比单独训练更高的性能。在测试阶段,可根据设备需求在这 4 种网络宽度里进行切换,调整到合适的网络宽度。

(2)可切换的批归一化(Switchable Batch Normalization)

作者对上述的Slimmable Neural Networks进行联合训练,发现即使训练过程很稳定,测试结果却很糟糕,在ImageNet上的top-1准确率只有0.1%,如Figure 2中naïve training曲线所示:

作者推断这是由于BN层在训练和测试时的统计量差异导致的。BN层在训练阶段使用当前batch的均值和方差进行归一化,并对每一次迭代的均值和方差以滑动平均的方式进行叠加最终得到对整个训练集的均值和方差的估计;在测试阶段,BN层使用整个训练集的估计的均值和方差进行归一化。

在Slimmable Neural Network中,每一个子网络对应不同的输入通道个数,导致相对应的特征具有不同的均值和方差,而这些不同分布的均值和方差仍以滑动平均的方式加入到对整体的均值和方差的估计当中。因此,测试阶段BN层的统计量是所有子网络的均值和方差估计的加权之和,而在训练阶段,BN层的统计量是通过每个子网络的单独计算。BN层统计量在训练和测试阶段的不一致导致了网络性能在这两个阶段的分裂表现。

因此,作者提出了Switchable Batch Normalization (SBN),也即对不同的子网络使用独立的BN层。对每个子网络的总体均值和方差分别进行估计,从而使得训练和测试阶段BN统计量一致。需要注意的是,BN层的参数也是根据不同子网络独立训练的。采用SBN训练的网络性能如Figure 2所示,每个子网络的测试误差均有了稳定的下降。

(3)训练算法

本文的主要目的之一在于优化所有宽度的网络的平均性能。因此作者提出了以下训练策略:每一次迭代,累加所有子网络的反向传播梯度后,再更新网络权重。

三、主要实验结果及可视化效果

(1)ImageNet分类

本文设置了每个子网络单独训练作为baseline (MobileNet v1 1.0x, MobileNet v1 0.75x等),与之对照的是相同主干网络的Slimmable Neural Networks (S-MobileNet v1, S-MobileNet v2等)。对比结果如Table 1所示,

TABLE 1. Results of ImageNet classification. We show top-1 error rates of individually trained networks and slimmable networks given same width configurations and FLOPs. We use S- to indicate slimmable methods(†),to denote our reproduced result.

我们将有提升效果的均以黄色方块标示。从表格中可知,一部分的Slimmable Neural Networks在ImageNet数据集上的准确率具有提升,一部分以MobileNet v2作为backbone的模型准确率有所下降。

(2)物体检测、实例分割、关键点检测

Slimmable Neural Network在COCO 2017上的检测、分割、关键点检测结果如Table 2所示,

TABLE 2. Average precision (AP) on COCO 2017 validation set with individually trained networks and slimmable networks. ResNet-50 models are used as backbones for Faster-RCNN, Mask-RCNN and Keypoints-RCNN based on detection frameworks (Girshick et al., 2018; Chen et al., 2018). Faster 1.0x indicates Faster-RCNN for object detection with ResNet-50 1.0x as backbone.

相比较于单独训练的baseline,Slimmable Neural Networks中的各个子网络的性能均有所提升,而且越小的模型提升的越明显。这是因为Slimmable Neural Networks中各个模型是联合训练的,其中大模型为小模型的提供了更好的初始化特征和更丰富的监督信号。

(3)可视化结果

本文进一步对网络作可视化分析。针对不同子网络中的某个特定通道,分别找到令该通道的响应值最高的前10张图片。如Figure 3所示,

每一行代表一个子网络的通道3_9的强响应图片,其中红色框表示该图被该模型错误识别,绿色框则表示可被正确识别的图片。可以看到,随着网络宽度的增加,通道3_9所负责识别的图片逐渐从白色(RGB值[255,255,0])转为黄色(RGB值[255,255,255])。这说明,即使共享一组参数,同样的神经元在不同的子网络里扮演着不同的角色。

四、总结

本文提出了一种有效的根据计算资源动态调整模型复杂度的方法,也即Slimmable Neural Networks。这是一种不同网络宽度的子网络的集合,这些子网络共享一组参数,并通过联合训练获得了比单独训练更高的性能。

此外,本文还提出了Switchable Batch Normalization,即不同的子网络使用单独的BN层,保证了训练和测试时统计量的统一分布,使测试性能稳定提升。

参考文献

[1] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and JianSun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp.770–778, 2016.

[2] Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, WeijunWang, TobiasWeyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017.

[3] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen. Inverted residuals and linear bottlenecks:Mobile networks for classification, detection and segmentation. arXiv preprint arXiv:1801.04381, 2018.

[4] Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and JianSun. Shufflenet: An extremely efficient convolutional neural network for mobile devices. arXiv preprint arXiv:1707.01083, 2017.

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

本文分享自 AI科技评论 微信公众号,前往查看

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

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

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