深度学习笔记14-卷积神经网络2
1.卷积神经网络的结构
卷积神经网络,是包含卷积运算且具有深度结构的前馈神经网络。在卷积神经网络中,包含卷积层、池化层和全连接层三种重要的结构。相比前馈神经网络,卷积层和池化层是新增的网络结构,在提取特征时,卷积神经网络使用卷积层代替了全连接层,可以通过增加卷积层和池化层的数量,得到更深的卷积神经网络。
卷积层和池化层
卷积层用于特征提取,池化层用于特征压缩。
在一个卷积层中,一般包含多个卷积核,这些不同的卷积核同时与输入图像进行卷积运算,一起提取特征,会输出不同的特征图。卷积层和全连接层类似,卷积运算同样是线性的计算,输入数据经过卷积运算后得到输出结果,这个结果还会输入至非线性的激活函数中。其中最常使用的激活函数时ReLu函数。
池化层也被称为汇聚层,它的作用是对特征图进行特征选择,降低特征的数量,通过池化层可以有效减少所需要的参数的数量。在池化层后会继续连接全连接层,由于池化层大幅减少了输出特征图的大小,因此全连接层的输入神经元的个数也大幅减少,进而减少全连接层中的参数,提到了计算效率。
卷积神经网络由卷积层、池化层和全连接层堆叠而成,卷积层和池化层可以一起组合起来成为卷积块,在一个卷积神经网络中可以堆叠N个卷积块,在一个卷积块中又包含了m个连续的卷积层和b个池化层(m通常设置为[2,5],b为0或1),在网络的最后还会有k个全连接层(k通常为[0,3])。
2.卷积神经网络的特点
在全连接的前馈神经网络中,设l层有n个神经元,第l-1层有m个神经元,这两层之间的连接边就有m*n个,即权重矩阵中包括m*n个参数,当m和n都很大时,权重矩阵会更大,模型训练效率低。
在卷积神经网络中,使用卷积计算代替全连接计算,其中参数w的数量为卷积核的大小,b的数量与卷积核的个数有关。卷积层具有局部连接和权重共享两个性质。
卷积神经网络:
全连接层网络:
局部连接特性
在卷积神经网络中,对于输出特征图中的数据,都只通过卷积核和上一层的输入数据中的局部窗口内的数据相连,每个输出数据只和卷积核窗口大小的输入数据相连接。从而构成一个局部连接网络,局部连接会使得两侧数据之间的连接数大大减少。通过卷积核,提取局部特征,这就是神经网络的局部连接性。
权重共享特性
权重共享性也被称为参数共享。在一个卷积层中,图片的输入数据,会和相同的卷积核w进行卷积运算,无论是输入图片有多少数据,都会和相同的卷积核进行卷积运算,这就是权重共享性。卷积核的权重共享性,使得卷积神经网络可以处理平移、旋转、缩放的图像。
3.多通道输入、输出和批量操作
多通道输入
黑、白、灰色图时单通道图像。对于彩色图像,处理高和宽两个维度,还有RGB,也就是红、绿、蓝,3个不同颜色的通道。如果彩色图像的高和宽分别是h和w,那么该图像就可以表示成一个3*h*w的多维数组。3代表3个颜色通道。
如果使用卷积核对彩色图像进行特征提取,就需要同时设置3个不同的卷积核。将彩色图像输入至包含3个卷积核的卷积层进行计算,这个过程就是多通道输入。每个输入通道需要与对应的卷积核计算,计算后将对应位置的计算结果累加求和,得到最终的输出结果。无论输入通道有多少个,由于对各个通道的结果做了累加,所以多通道输入的输出通道的数任然是1。
多通道输出
多通道输出就是使用不同的卷积核,提取特征,提取特征后输出不同的特征图。当多个输出通道进行卷积运算时,每个输出通道分别进行卷积运算。将不同的输出通道的结果叠放在一起,就得到了最终的输出结果。另外,卷积操作通常会加上偏置项b,每个输出通道,都会独立使用一个偏置参数b,有几个输出通道,就有几个偏置参数。
批量操作
在卷积神经网络中的计算中,可以将多个样本放在一起,形成一个mini-batch,也就是小批量。对一组小批量数据同时进行计算,就被称为数据的批量操作。
4.卷积神经网络的池化层
池化层,也被称为汇聚层、子采样层。池化层的主要作用是对卷积层生成的特征图进行下采样,减少特征图的尺寸。当使用池化层进行特征选择后,特征数量和参数数量随之减少,在一定程度上防止过拟合。输出特征图经池化层特征选择后,可以有效减小全连接层的输入神经元的个数,从而提高计算效率。
池化层计算
池化层计算和卷积层计算类似,需要设置一个固定形状的窗口,该窗口就是池化窗口。池化层会基于窗口中的输入数据,计算输出结果。
创建的池化层计算包括最大池化和平均池化,最大池化会计算窗口内元素的最大值,平均池化会计算窗口内元素的平均值。
池化层的参数
池化层和卷积层一样,同样可以设置填充和步幅两个参数。一般常用的池化层参数为,窗口大小2*2,步幅2,填充0。通过这样的池化运算,输出特征图的高和宽相比输入数据都会减半。
类似于卷积层,池化层也可以处理多通道的输入数据,但是处理方式不同。池化层在处理多通道数据时,会对每个输入通道分别进行池化。因此,池化层的输出通道数和输入通道数相同。池化层通过使用一个区域的统计特征,代替具体的输出值,使得特征图尺寸减小的同时,保留住大多数重要的特征信息。
5.卷积神经网络的全连接层
在卷积神经网络的最后,会设置1-3个全连接层,这些全连接层与单纯的前馈神经网络中的全连接层没有区别。它们会接收池化层计算出的特征图。
卷积神经网络的卷积层的作用是,特征提取。但是对图像进行基础特征提取,是无法确定图像的具体类别的。需要将基础特征进行组合使用,进行最终的分类的判断。将全连接层放在卷积层和池化层的后面 ,其作用是,组合卷积层输出的基础特征,最终确定图像属于哪个类别。全连接层具有组合特征和分类器的功能。
全连接层的使用方法
在使用全连接层前,需要将卷积层或池化层输出的多个二维特征图展平(flatten)为一个一维的向量。将这个向量输入到全连接层。
卷积层和全连接层
实际上,如果输入特征图大小与卷积核的大小相同,那么该卷积层的计算效果和全连接层是相同的。因为卷积核不会滑动,卷积核中的w参数相当于全连接层中的w参数。所以说,卷积层与全连接层在某些情况下是可以互换的,在整个卷积神经网络中,全连接层起到了汇总和总结的作用。