卷积神经网络概述-卷积层

卷积层(convolutional layer)

1.卷积核(convolutional kernel)

卷积层的功能是对输入数据进行特征提取,其内部包含多个卷积核,组成卷积核的每个元素都对应一个权重系数和一个偏差量(bias vector),类似于一个前馈神经网络的神经元(neuron)。

卷积层内每个神经元都与前一层中位置接近的区域的多个神经元相连,区域的大小取决于卷积核的大小,在文献中被称为“感受野(receptive field)”,其含义可类比视觉皮层细胞的感受野 。卷积核在工作时,会有规律地扫过输入特征,在感受野内对输入特征做矩阵元素乘法求和并叠加偏差量

什么是卷积操作呢?具体的步骤如下:
1.在图像的某个位置上覆盖滤波器;
2.将滤波器中的值与图像中的对应像素的值相乘;
3.把上面的乘积加起来,得到的和是输出图像中目标像素的值;
4.对图像的所有位置重复此操作。

这个3x3滤波器,通常称为垂直索伯滤波器(Sobel filter):
卷积神经网络概述-卷积层_第1张图片
用它来处理知名的Lena照片会得到什么:
卷积神经网络概述-卷积层_第2张图片
由此,我们可以看出,索伯滤波器是是边缘检测器
现在可以解释卷积操作的用处了:用输出图像中更亮的像素表示原始图像中存在的边缘。

2. 卷积层参数

卷积层参数包括卷积核大小、步长和填充,三者共同决定了卷积层输出特征图的尺寸,是卷积神经网络的超参数 。其中卷积核大小可以指定为小于输入图像尺寸的任意值,卷积核越大,可提取的输入特征越复杂

卷积步长定义了卷积核相邻两次扫过特征图时位置的距离,卷积步长为1时,卷积核会逐个扫过特征图的元素,步长为n时会在下一次扫描跳过n-1个像素

由卷积核的交叉相关计算可知,随着卷积层的堆叠,特征图的尺寸会逐步减小,例如16×16的输入图像在经过单位步长、无填充的5×5的卷积核后,会输出12×12的特征图。为此,填充是在特征图通过卷积核之前人为增大其尺寸以抵消计算中尺寸收缩影响的方法。常见的填充方法为按0填充和重复边界值填充(replication padding)。填充依据其层数和目的可分为四类 :

有效填充(valid padding):即完全不使用填充,卷积核只允许访问特征图中包含完整感受野的位置。输出的所有像素都是输入中相同数量像素的函数。使用有效填充的卷积被称为“窄卷积(narrow convolution)”,窄卷积输出的特征图尺寸为(L-f)/s+1。

相同填充/半填充(same/half padding):只进行足够的填充来保持输出和输入的特征图尺寸相同。相同填充下特征图的尺寸不会缩减但输入像素中靠近边界的部分相比于中间部分对于特征图的影响更小,即存在边界像素的欠表达。使用相同填充的卷积被称为“等长卷积(equal-width convolution)”。

全填充(full padding):进行足够多的填充使得每个像素在每个方向上被访问的次数相同。步长为1时,全填充输出的特征图尺寸为L+f-1,大于输入值。使用全填充的卷积被称为“宽卷积(wide convolution)”

任意填充(arbitrary padding):介于有效填充和全填充之间,人为设定的填充,较少使用。

带入先前的例子,若16×16的输入图像在经过单位步长的5×5的卷积核之前先进行相同填充,则会在水平和垂直方向填充两层,即两侧各增加2个像素( )变为20×20大小的图像,通过卷积核后,输出的特征图尺寸为16×16,保持了原本的尺寸。
卷积神经网络概述-卷积层_第3张图片

3. 激励函数(activation function)

卷积层中包含激励函数以协助表达复杂特征,其表示形式如下 :
在这里插入图片描述
类似于其它深度学习算法,卷积神经网络通常使用线性整流函数(Rectified Linear Unit, ReLU)。
其它类似ReLU的变体包括有斜率的ReLU(Leaky ReLU, LReLU)、
参数化的ReLU(Parametric ReLU, PReLU)、
随机化的ReLU(Randomized ReLU, RReLU)、
指数线性单元(Exponential Linear Unit, ELU)等 。

在ReLU出现以前,Sigmoid函数和双曲正切函数(hyperbolic tangent)也有被使用。

激励函数操作通常在卷积核之后,一些使用预激活(preactivation)技术的算法将激励函数置于卷积核之前 。在一些早期的卷积神经网络研究,例如LeNet-5中,激励函数在池化层之后 。

你可能感兴趣的:(深度学习,卷积神经网络)