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

一、卷积层

1.1什么是卷积核?(convolutional kernel)

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

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

2.2什么是卷积操作呢?

具体的步骤如下:

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

这个3x3滤波器,通常称为垂直索伯滤波器(Sobel filter):

用它来处理照片会得到什么呢?

由此,我们可以看出,索伯滤波器是是边缘检测器
现在可以解释卷积操作的用处了:用输出图像中更亮的像素表示原始图像中存在的边缘。

二、卷积层的计算

2.1公式

长度:H_{2} = \frac{H_{1}-F_{H}+2P}{S}+1

宽度:W_{2} = \frac{W_{1}-F_{W}+2P}{S}+1

其中W_{1}、H_{1}表示输出的宽度、长度;W_{2}、H_{2}表示输出特征图的宽度、长度F表示卷积和的宽的大小;S表示滑动窗口的步长;P表示边界填充(加了几圈0)。

2.3例题

如输入数据为 32*32*3 的图像,用10个5*5*3 的卷积核来进行操,步长为1,边界2为0填充为2,最終输出结果为?
解:(32-5+2*2)/1 +1 =32,输出规模为 32*32*10 的特征图。

三、 卷积层参数

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

卷积步长定义了卷积核相邻两次扫过特征图时位置的距离,卷积步长为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,保持了原本的尺寸。

YOLOv2算法中的卷积层是图像处理中常用的卷积神经网络结构,用于提取输入图像的特征。在YOLOv2算法中,卷积层主要有两种类型:普通卷积层和1x1卷积层。下面,我们将详细介绍这两种卷积层的特点和作用。 1. 普通卷积层 普通卷积层卷积神经网络中最常用的卷积层,其作用是提取输入图像的特征。在YOLOv2算法中,普通卷积层采用多个卷积核对输入图像进行卷积操作,生成多个特征图。这些特征图可以看作是输入图像的不同层次的特征表达,用于后续的分类和检测操作。 普通卷积层的主要参数包括:卷积核大小、卷积核个数、步长和填充方式。其中,卷积核大小和卷积核个数决定了卷积层的感受野大小和特征维度,步长和填充方式则影响了特征图的大小和位置。 在YOLOv2算法中,普通卷积层采用了多个不同大小和深度的卷积核,用于提取不同层次的特征。同时,为了减少参数量和计算量,普通卷积层中采用了较小的卷积核大小(如3x3),替代了传统的较大卷积核(如5x5或7x7),减少了参数量和计算量。 2. 1x1卷积层 1x1卷积层是YOLOv2算法中的一个特殊卷积层,其作用是进行通道数的调整。在卷积神经网络中,每个卷积层的输出都包含多个特征图,每个特征图对应一个通道。1x1卷积层可以对输入特征图的通道数进行调整,增加或减少通道数,从而改变特征图的维度。 1x1卷积层的主要参数是卷积核个数,其作用是控制输出特征图的通道数。在YOLOv2算法中,1x1卷积层被广泛应用,用于实现网络中的特征融合和通道数的调整。例如,在YOLOv2算法中,1x1卷积层被用于将Darknet-19层和卷积层的输出特征图进行融合,提高了特征表达能力和检测性能。 总的来说,YOLOv2算法中的卷积层是网络中最重要的组成部分之一,其作用是提取输入图像的特征,为后续的分类和检测操作提供有力的支持。卷积层的设计和参数设置对网络的性能和计算量都有很大的影响,因此需要仔细选择和调整,以达到最优的性能和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值