原Paper地址:原文
写此文只是为了记录下阅读paper时的感想,不用做其他用途
近年来,深入学习在许多计算机视觉应用中取得了巨大的成功。卷积神经网络(CNN)最近成为图像分类的主要方法。迄今为止,关于CNN的大多数研究集中在开发诸如Inception , residual networks。卷积层是CNN的核心,但很少有研究针对卷积单元本身。在本文中,引入了称为主动卷积单元(ACU)的卷积单元。新的卷积没有固定的形状,因此我们可以定义任何形式的卷积。它的形状可以通过反向传播在训练中学习。
优点:首先,ACU是一般化的卷积;它不仅可以定义所有传统的卷积,还可以定义具有局部像素坐标的卷积。我们可以自由地改变卷积的形状,从而提供更大的自由形成CNN结构。第二,卷积的形状是在训练时学习的,没有必要手动调整。第三,ACU可以比传统的卷积单元更好地学习,可以通过将传统卷积改为ACU来获得改进。
这是原文中关于ACU的concept图:(以下所有图片均来至于paper)
其实就是取消了原有的固定的卷积核,改为“自由移动”的位置。
关于传统的卷积网络的理解,可以参考这里(不知道为什么,偶尔也会打不开)
Formulation:
传统的卷积可用如下等式来描述:
等式中c是输入通道的标识,b是偏置。 m和n是空间位置,wc,i,j和xc,m,n分别是卷积滤波器的权重和给定信道和位置中的值。
和以上所说的convolution不同的是,ACU还有一组需要学习的位置参数θp,θp是一系列的突触的位置。
其中k是突触的标识,pk =(αk,βk)∈R2。参数αk和βk分别定义相对于原点突触的水平和垂直位移。通过θp,可以定义ACU:
例如,传统的3×3卷积可以由ACU表示,其中θp= {(-1,-1),(0,-1),(1,-1),( - 1,0), (0,0),(1,0),( - 1,1),(0,1),(1,1)}。
在本文中,θp在所有输出单元ym,n共享。如果突触数,输入通道和输出通道的数量分别为K,C 和 D,则权重W的大小应为D×C×K。 ACU的附加参数(θp)为2×K;这个数量与权重参数的数量相比非常小。
Forward Pass:
因为位置参数pk是实数,所以Xc,m+αk,n+βk也可以指a nonlattice point(不知道是什么东东)。为了确定局部位置的值,我们使用双线性插值(定义在这里):
我们可以通过使用四个最接近位置的整数点Q,利用双线性内插来获得局部位置的值。
Backward Pass:
ACU有三种类型的参数:weights,bias,position。他们都可微并且能通过反向传播算法学习到合适的值。y(m,n)关于权重w,偏置b的偏导数与常规卷积的偏导数相同。
不同的是y(m,n)关于position中的(αk,βk),其偏导数可通过等式(5)(6)很容易的求出:
输出y(m,n)对输入的偏导数可简单的理解为:
由此可以看出来只与权重有关。
Normalized Gradient
突触位置的反向传播值的大小控制其移动的大小。如果该值太小,突触停留在几乎相同的位置,因此ACU无效。相比之下,一个大的值使得突触变化多样化。因此,控制移动的大小很重要。相对于位置的偏导数取决于权重,并且反向传播的误差可以在层之间波动。因此,确定位置的学习率是困难的。
减少层间梯度波动的一种方法是仅使用导数的方向,而不是大小。当我们使用归一化的位置梯度时,我们可以很容易地控制移动位置的大小。在实验中观察到,使用归一化梯度使得训练更容易,并获得了良好的效果。归一化的位置梯度可定义如下( L是loss function ):
如上所述,移动方向受权重的影响。由于随机初始化权重,所以突触的移动在早期迭代中随机流动。这可能导致该位置坚持局部最小化; 因此,我们首先对网络进行预热,而无需了解位置参数。在早期迭代中,网络只能学习具有固定形状的权重。然后它同时学习位置和权重。
接下来就是实验了~~~(先挖个坑,可仔细阅读https://arxiv.org/pdf/1703.09076.pdf)