前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【AAAI 2018】中大商汤等提出深度网络加速新方法,具有强大兼容能力

【AAAI 2018】中大商汤等提出深度网络加速新方法,具有强大兼容能力

作者头像
新智元
发布2018-03-20 17:33:48
9960
发布2018-03-20 17:33:48
举报
文章被收录于专栏:新智元新智元

作者:陈添水

【新智元导读】中山大学、中国香港理工大学、商汤等机构的联合研究团队提出基于类小波自编码机的深度网络加速法,不需要改动原来网络的结构,故可以兼容现有的深度神经网络,有极好的普适性。相关研究已被AAAI 2018录用为oral paper,第一作者中山大学博士生陈添水带来详细解读。

论文下载:https://arxiv.org/pdf/1712.07493.pdf

深度网络不断地提升计算机视觉任务的性能,然而,性能提高往往却伴随着愈高的计算复杂度,这严重限制了深度网络在资源受限的平台(如手机,移动嵌入式设备等)的应用。因此,研究深度网络的加速吸引大量工作的关注。近日,中山大学、哈尔滨工业大学、桂林电子大学,中国香港理工大学以及商汤科技公司联合研究团队提出基于类小波自编码机的深度网络加速法。该方法首先通过一个可学习的类小波自编码机(Wavelet-like Auto-Encoder, WAE),把输入图片分解成两个低分辨率的小图,再以小图替代大图输入到深度网络,从而达到加速的效果。该方法优势还在于,不需要改动原来网络的结构,故可以兼容现有的深度神经网络,有极好的普适性。

模型介绍

近年来,深度卷积神经网络在很多计算机视觉任务上取得非常大的突破,但精度的提高往往以增加模型计算复杂度为代价。例如,在ImageNet图像分类任务上, VGG16相比AlexNet提高了约8%的识别率的同时,却增加了约20倍的运算开销。因而高精度模型往往也需要极大的运算开销,如VGG16分类网络处理单张224×224的图像,需要约153.6亿次浮点数运算。大运算开销意味着对处理设备的高要求,这就严重阻碍了深度网络在计算性能较低的平台(如个人电脑或其它嵌入式设备)上的移植应用。因此,深度网络的加速成为一个具有重要的实践意义的研究课题。

迄今为止,已经有一系列工作致力于深度网络加速的研究。常见的工作主要有两类,第一类通过采用张量分解对卷积运算等价优化的方法实现计算加速。概括地说,这类方法一般步骤为:

1) 通过对预训练好的网络的卷积核进行低秩分解,获得这个网络的近似表达模型;

2) 通过再次训练,重新微调近似表达模型的参数。

该类方法的不足在于,涉及多个步骤的实现方式,致使其难以较好地平衡模型识别精度和加速效果。

另一类方法通过在深度网络中采用量化的权重和响应值的方法来减少运算量。该类方法虽然取得比较好的加速效果,但是往往导致精度的显著下降。

顾此,作者根据以下两个准则设计加速方法:

1) 不改变网络原本的结构,以保证方法的普适性,使其比较容易地推广到具有不同结构的网络模型中;

2) 提升网络模型速度的同时要把识别效果的损失控制在可接受的范围。

表1:模型精度的提高往往以增加模型计算复杂度为代价

采用下采样后的图片替代原图达到加速目的

由于输入图片的分辨率大小直接跟深度网络浮点数运算量相关,在网络训练和测试过程采用下采样后的图片替代原图作为输入是一个直接、看似可行的加速方法。如表1所示,通过简单缩放下采样的方法虽然取得了可观的加速比,但由于信息的丢失,不可避免地导致识别精度的明显下降。为了解决这个问题,作者提出了类小波自编码机(Wavelet-like Auto-Encoder, WAE)。方法的基本框架如如图1所示。

● WAE加速模型

WAE把输入图片分解成两个低分辨率的小图,并以小图作为深度网络的输入,从而达到加速的效果。为了保证模型加速的同时识别精度不会有明显损失,作者对两个分解得到的子图进行约束,使其具有以下两个性质:

1) 两个子图分别携带输入图像的高频和低频信息,并能利用一个简单的解码过程合成原图。这样子,原图大部分的信息能够保留下来以保证加速模型的识别精度

2) 高频子图携带尽可能少的信息,因此,能够利用一个很小的网络来对其进行处理,避免引入大量的计算开销。

WAE包括一个编码层和一个解码层。编码层把输入图片分解成两个低分辨率子图,解码层基于这两个子图合成输入图像。

● 损失函数

作者定义一个变换损失函数,用于训练WAE。该损失函数包括输入图像和合成图像的重构误差以及高频子图的能量最小化损失函数。

● 识别预测

低频子图输入到一个基准识别网络(如VGG16,ResNet等)后得到特征图,并利用一个小网络将高频子图的信息与特征图相融合,得到最后的识别结果。

实验结果

作者在大规模物体识别的数据集ImageNet上进行实验。该数据集覆盖1,000类物体,其训练集由大约128万张图像及其类别标签组成,验证集由5万张图片及其类别标签组成。所有对比方法都在该训练集进模型训练,并在该验证集上测试模型性能。

VGG16实验结果:

作者首先用VGG16-Net作为基准模型,并比较WAE加速模型(表格2中的Ours)和原始的VGG16-Net的识别性能以及在CPU和GPU的运行效率。在CPU上,加速模型以仅仅0.22%的精度损失代价取得3.13×的加速比。而在GPU上,加速比则为2.59×。

其次,作者将WAE与目前最新的加速模型(表格2中的ThiNet和Taylor)进行对比。实验结果(表格2)表明,WAE可以更好的平衡模型的识别性能和加速效果。

另外,为了突出WAE的优越性,作者还设计了两个比较模型(表格2中的Wavelet+CNN和Decomposition+CNN)。与WAE类似,这两个模型也是通过把原图分解为低分辨率子图的方法达到加速的目的,从表格2可以看出,WAE性能表现也优于这两个模型。

ResNet实验结果:

为了证明WAE能够泛化到具有不同结构的网络,作者进一步用ResNet50作为基准网络进行实验对比。尽管ResNet50是一个更深、更紧凑的网络,WAE同样可以取得1.88×的加速比,而识别精度的下降仅有0.8%,在识别精度和加速比上都优于ThiNet。

代码和模型链接

https://github.com/tianshuichen/Wavelet-like-Auto-Encoder

引用:

[1] Tianshui Chen, Liang Lin, Wangmeng Zuo, Xiaonan Luo, Lei Zhang, Learning a Wavelet-like Auto-Encoder to Accelerate Deep Neural Networks, AAAI 2018.

[2] Karen Simonyan, Andrew Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recognition, ICLR 2015.

[3] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, Deep Residual Learning for Image Recognition, CVPR 2016.

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

本文分享自 新智元 微信公众号,前往查看

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

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

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