慢慢学AI--初识卷积神经网络

卷积神经网络

卷积神经网络(Convolutional Neural Networks)简称CNN,标准卷积神经网络架构由卷积层、池化层和全连接层构成。

1.  卷积层

卷积层主要作用是对输入的数据进行特征提取,卷积核(一个指定窗口大小的扫描器)。

卷积前有两种边界像素填充方式:same(全部填充0),valid(不处理)。对输入图像的不进行前期处理和像素填充,可能会导致图像的部分像素点不能被滑动窗口捕捉;same方式可以避免这个问题,让输入图像的全部像素都能被滑动窗口捕捉。

卷积操作后:

输出图像的宽度与高度分别为:

慢慢学AI--初识卷积神经网络

 

(output表示输出图像相关参数,filter表示卷积核相关参数,S表示卷积核的步长,P表示图像边缘增加的边界像素层数,same模式下,P的值就是图像增加的边界层数,如果选择的是valid,P=0)

一般图像为三通道,三通道卷积将独立的三通道分别进行卷积得到的结果相加,得到最终的输出结果。

2. 池化层

池化层作为一种提取数据的核心特征的方式。与卷积层类似,池化层也需要定义一个滑动窗口,与卷积层不同的是,这个窗口仅用于提取特征图中的重要特征本身并没有参数,且这个滑动窗口的深度和特征图的深度保持一致(这一点在之后的神经网络的深度计算中比较重要)。

池化层不仅能够最大限度的提取输入的特征图的核心特征,还能够对输入的特征图进行压缩,也就是降维。常见的池化层有平均池化层与最大池化层,平均池化层即将窗口数字的平均值作为输出结果,而最大池化层则是选择窗口中的最大值作为结果。

3. 全连接层

全连接层的主要作用是将输入图像在经过卷积和池化操作后提取的特征进行压缩,并且根据压缩的特征完成模型的分类功能。全连接层的工作是将通过卷积层和池化层提取的输入图像的核心特征,与全连接层中定义的权重参数相乘,最后压缩成输出参数。这时的输出参数已经是一个分类结果,在经过**参数的进一步处理,就可以使分类预测结果更加明显。比如Softmax**函数。

经典模型:LeNet,AlexNet,VGGNet,GoogLeNet,ResNet.

4. **函数softmax:

慢慢学AI--初识卷积神经网络

i为数据的个数,v表示数据集。

举个例子:

慢慢学AI--初识卷积神经网络

因此,softmax**函数,即将数据归一到(0,1),也可以理解为概率,送油的输出结果是一个和为1的概率事件,每一个输出是一种分类结果,而占比最大的输入数据的分类结果是这个的概率最大,则可以选取这个最大的概率作为结果输出。