传统的卷积运算,要成为过去时了。
Facebook和新加坡国立大学联手提出了新一代替代品:OctConv(Octave Convolution),效果惊艳,用起来还非常方便。
OctConv就如同卷积神经网络(CNN)的“压缩器”。用它替代传统卷积,能在提升效果的同时,节约计算资源的消耗。
比如说一个经典的图像识别算法,换掉其中的传统卷积,在ImageNet上的识别精度能获得1.2%的提升,同时,只需要82%的算力和91%的存储空间。
如果对精度没有那么高的要求,和原来持平满足了的话,只需要一半的浮点运算能力就够了。
想实现这样的提升,怕不是要把神经网络改个天翻地覆吧?
根本不需要,OctConv即插即用,无需修改原来的网络架构,也不用调整超参数,方便到家。
就是这个新一代的卷积,让GAN的主要创造者、AI大牛Ian Goodfellow迫不及待,不仅转发力荐,还表示要持续关注进展,开源时再发推告诉大家。
OctConv也获得了众网友的认可。短短5个小时,Goodfellow的推文就收获了700赞,网友直呼“Excellent work!”
所以,OctConv到底是什么神仙网络?
我们先来看看它效果究竟如何。
比如说经典的图像识别算法:ResNet-50,换了新的卷积运算会带来什么变化?
上图中粉红色的折线就是不同参数配置的OctConv对ResNet-50的影响。左起第二个粉红圆点显示了一种比较均衡的配置:比原版(最右黑点)略高的精度,所需的浮点算力却只有原版的一半。
其他折线代表的各种图像识别网络,小到ResNet-26、DenseNet,大到ResNet-200,在OctConv加持下,都体现出了成绩的提升和算力需求的下降。
调节OctConv的参数α,可以在性能提升和算力节约之间寻找平衡。
降低算力需求的同时,OctConv还能够缩短神经网络推断所需的时间。比如ResNet-50的推断时间,就会随着参数α的增大而逐步缩短。保持精度不变,推断时间能缩短到74毫秒,也就是原来的62%。
对大、中、小型的模型,研究人员们分别测试了OctConv会如何影响它们的图像分类能力。
大型神经网络ResNet-152用了OctConv后,仅用22.2GFLOP的算力,Top-1分类准确率就能达到82.9%。
OctConv的适用范围也不仅限于图像识别。
无论是2D还是3D的CNN,都能实现这种提升。论文不仅测试了ResNet、ResNeXt、DenseNet、MobileNet、SE-Net等2D CNN在ImageNet上的图像分类能力,还测试了C2D、I3D等视频行为识别算法改用OctConv之后的性能变化。
OctConv节约的计算力,都是从哪儿省出来的?
对于普通卷积运算,所有输入和输出特征映射具有相同的空间分辨率。
实际上,一张图片可以分成粗略结构(低频部分)和边缘细节(高频)两个部分,比如一张企鹅照片能分离出两个成分:
企鹅身上毛色相近的部分、背景颜色变化比较缓慢,属于低频信息,信息量较少;而两种毛色交接的部分、企鹅身体边缘的颜色变化剧烈,属于高频信息,信息量较多。
既然这样,我们完全可以将信息量较少的低频部分压缩一下,减少冗余空间。
类似地,卷积层的输出特征映射和拍摄的照片一样,也可以被视为不同频率信息的混合,进行相似的处理。
研究人员从图片的频率分离和压缩中受到启发。Octave Convolution的思路就是对卷积网络也进行类似操作,压缩低频部分,分别处理高低频两个部分的数据,并在二者之间进行信息交换,从而减少卷积运算对存储和计算量的消耗。
为了适应新的特征表示,文章推广了传统卷积,提出了OctConv。Octave是指八音阶,在音乐中降低八音阶代表频率减半。
OctConv中低频部分张量的大小是0.5h×0.5w,长宽正好是的高频部分h×w的一半,从而节省了张量的存储空间和计算量。
虽然OctConv压缩了低频部分的信息,但同时也有效地扩大了原始像素空间中的感受野(receptive field),可以提高识别性能。
对于普通的卷积方法,以W表示k×k的卷积核,X和Y分别表示输入和输出张量,X和Y的映射关系为:
(p, q)是X张量中的位置坐标,(i, j)表示所取的近邻范围。
而OctConv的目标是分开处理张量中的低频和高频部分,同时实现的高频和低频分量特征表示之间的有效通信。
我们将卷积核分成两个分量:
W=[WH, WL]
同时实现高低频之间的有效通信。因此,输出张量也将分成两个分量:
Y=[YH, YL]
YH=YH→H+YL→H,YL=YL→L+YH→L
其中YA→B表示从A到B的特征映射后更新的结果。YH→H和YL→L是频率内的信息更新,YL→H和YH→L是频率间的信息更新。
因此YH不仅包含自身的信息处理过程,还包含从低频到高频的映射。
为了计算这些项,我们将卷积核每个分量进一步分为频率内和频率间两个部分:
WH=WH→H+WL→H,WL=WL→L+WH→L
张量参数可以用更形象的方式表示:
△OctConv的卷积核
这种形式有些类似于完全平方公式a^2+b^2+ab+ba,两个平方项WH→H、WL→L是频率内张量,两个交叉项是频率间张量WL→H、WH→L
△OctConv的卷积核的“交叉”处理过程,红色箭头表示高低频之间的信息交换
输出张量的计算方式和前面普通卷积的方式相同:
在OctConv中比例α是一个可以调节的参数,就是前文提到过的那个可调节参数。在整个网络内部层中令αin = αout = α,第一层中αin = 0,αout = α,最后一层中αin = α,αout = 0。
OctConv的另一个非常有用的特性是低频特征映射有较大的感受野。与普通卷积相比,有效地将感受野扩大了2倍。这会进一步帮助每个OctConv层从远处捕获更多的上下文信息,并且有可能提高识别性能。
这篇论文是Facebook联合新加坡国立大学共同完成的。
其中,Yunpeng Chen、Haoqi Fang、Bing Xu,、Zhicheng Yan、Yannis Kalantidis、Marcus Rohrbach等6人均来自Facebook AI实验室。
一作Yunpeng Chen,中文名为陈云鹏,2015年本科毕业于华中科技大学,去年开始在Facebook实习。
陈云鹏现就读于新加坡国立大学博士,师从颜水成和冯佳时,两人也均为这篇论文的作者。今年毕业后,陈云鹏将成为Facebook的一名研究员。
此前作为一作,陈云鹏已有4篇论文被CVPR、NeurIPS、ECCV和IJCAI等顶会接收,主攻深度学习于视觉交叉领域的研究。
颜水成是新加坡国立大学的终身教授的颜水成,现在也是360副总裁、人工智能研究院院长和首席科学家。
他主要研究计算机视觉、机器学习与多媒体分析领域,目前发表学术论文近500篇,被引次数超2.5万次,曾三次入选全球高引用学者。目前,颜水成有诸多荣誉加持,并评为IEEE Fellow, IAPR Fellow和ACM杰出科学家等。
冯佳时现任新加坡国立大学电子与计算机工程系助理教授,为机器学习与视觉实验室负责人。
本科在中国科学技术大学毕业后,冯佳时在新加坡国立大学读博,此后又去UC伯克利人工智能实验室从事博士后研究,研究方向为图像识别、深度学习及面向大数据的鲁棒机器学习。
论文地址:
https://export.arxiv.org/abs/1904.05049
— 完 —
欢迎关注磐创博客资源汇总站:http://docs.panchuang.net/
欢迎关注PyTorch官方中文教程站:http://pytorch.panchuang.net/