学生论文分享第六期

June 10, 2019

分享内容:
1.郭世晨:《XCeption and MobileNets》
2.乔子越:《Heterogeneous Graph Convolutional Network》


1. 《XCeption and MobileNets》

XCeption:Deep Learning with Depthwise Separable Convolutions

XCeption和Inception都是谷歌的工作。XCeption是对Inception的改进,是一种 Extreme Inception,因而得名 XCeption。

要介绍Xception的话,需要先从Inception讲起,Inception v3的结构图如下Figure1。当时提出Inception的初衷可以认为是:特征的提取和传递可以通过$1\times1$卷积,$3\times3$卷积,$5\times5$卷积 (或者两个$3\times3$卷积的叠加) ,pooling等,到底哪种才是最好的提取特征方式呢?Inception结构将这个疑问留给网络自己训练,也就是将一个输入同时输给这几种提取特征方式,然后做concat

在2016年底,Keras框架的创始人Francois Chollet提出了XCeption架构,它运用了Inception模组的核心思想,即,在模组内构建更多、更细的路径。XCeption遵循“跨通道的相关性”和“空间相关性”是完全可分离的,最好不要联合映射它们。首先,将Inception模组简化,如下图所示,Figure2其实等价于Figure3。

可见,其中有3组路径,包含了2种思想 (注意,网络运作方向是从下往上):

而XCeption的想法是,引入更多的路径,甚至去让每个通道都拥有1条独立路径,如Figure4所示:

这时每个3$\times$3卷积核都独立运作在各自的通道中,不再负责在通道间混合。这无疑可节省大量参数量,提高运算速度。此时通道混合就完全由1$\times$1责。

深度可分卷积可以节省近90%左右的参数量:例如令输出通道数为64,输入通道数为128,忽略偏置。如采用普通的3$\times$3卷积层,参数量是$64\times128\times3\times3=73728$。如采用深度可分卷积,参数量是$64\times3\times3+64\times128\times1\times1=8768$,仅为之前的12%。

下图是在Imagenet上的比较:

在深度可分卷积的内部不包含非线性。如果我们加上非线性,只能加在外面,在内部的1$\times$1和3$\times$3卷积之间没有非线性,而此前的Inception模组中,1$\times$1卷积和3$\times$3卷积后都有非线性。经Francois Chollet的测试,深度可分卷积的效果更好,虽然它的非线性更少,这可能是因为在路径细分之后,过多的非线性会阻碍信息的流动。

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

MobileNets是谷歌的工作,是为了移动和嵌入式设备而提出的高效模型,使用深度可分离卷积(depthwise separable convolutions, 即Xception变体结构)来构建轻量级深度神经网络,使得在CPU上也能达到理想的速度要求。

既然使用了XCeption,是如何变体的呢?XCeption是先执行1$\times$1卷积,再执行3$\times$3卷积,而MobileNet所采用的变体结构是先做单通道的Depthwise convolution,然后再做Pointwise convolution (1$\times$1卷积)。

如下图所示,下图a代表的是标准卷积核,b代表的是Depthwise convolution filter,c代表的是Pointwise convolution filter (1$\times$1卷积)。

假设输入的Feature Maps为$D_F \times D_F \times M$,输出的Feature Maps为$D_F \times D_F \times N$。

假设$D_K$是3,N为256,深度可分离卷积是标准卷积计算代价的十分之一左右,非常高效。

MobileNet的全部网络结构细节如下图所示,其中Conv代表卷积,Conv dw代表深度可分卷积,s代表步长,FC代表全连接层(为清晰起见,省略BN和RELU层),$K \times K \times A \times B$代表使用$K \times K $卷积核,输入为A个通道,输出为B个通道。

width multiplier

width multiplier主要是按比例减少整个网络的通道数,该参数记为$\alpha$,其取值范围为(0,1],$\alpha$等于1的时候就是标准的MobileNet,那么输入与输出通道数将变成$\alpha M$和$\alpha N$,所以计算量变为:

因为主要计算量在后一项,参数量大概减少了$\alpha$的平方倍。

resolution multiplier

参数resolution multiplier主要是按比例降低特征图的大小,记为$\rho$,比如原来输入特征图是224x224,可以减少为192x192,加上resolution multiplier,Depthwise separable convolution的计算量为:

要说明的是,resolution multiplier仅仅影响计算量,但是不改变参数量。如下图所示,Mult-Adds表示计算量,Parameters表示参数量。

精度结果比较


2.《Heterogeneous Graph Convolutional Network》

3. 附件

HGCN.pptx