卷积神经网络通俗理解

时间:2024-03-31 11:28:18

首先放出一张大家熟悉的卷积神经网络示例图:

卷积神经网络通俗理解

在开始之前,有必要介绍一下卷积神经网络中的名词。

卷积层:经过卷积核(滤波器)运算后的特征图。图中为C层

采样层:又叫池化层,主要的目的在于减少上一层的特征数量。假设滤波器大小为2,则经过池化过程,特征的数量减少2*2倍。

局部感受野:我们将输入的图像划分成很多的小方阵,每个小方阵我们称为局部感受野。

卷积核:包含权值的矩阵。

言归正传,对比于人工神经网络

        卷积网络与人工神经网络最大的不同就是在网络的前面添加了卷积区。其中卷积区主要是卷积层和抽样层交叉出现。

1)输入层到C1层(卷积操作)

  在输入层,有一个大小为32*32的图像,我们通过第一层卷积操作,得到C1层。在C1层,我们的每个神经元与输入层中大小为5*5的局部感受野相连。这时,在输入层的32*32大小的特征图中有(32-5+1)*(32-5+1)=28*28种不同的选择,我们将这28*28中不同的组合全部选择加入到C1的特征图中。

卷积神经网络通俗理解

在C1层共有5个特征图,其中权值的个数为:(5*5+1)*5个。这里的特征图数量没有固定的计算公式,靠人为指定。

2)从C1层到S2层(采样或者池化操作)

  下采样,此过程主要的目的在于减少上一层的特征数量。设滤波器大小为2,则经过池化过程,特征的数量减少2*2倍。在上一层特征图的大小为28*28,故而经过此层抽样后得到的特征图大小为14*14。

注意:抽样过程一般不会增加特征图的数量,只有卷积过程会增加特征图的数目。

卷积神经网络通俗理解

  此过程需要的权值个数为:(1+1)*5,因为在将局部感受野作为输入通过均值池化乘以可训练参数再加上可训练偏置,这只有两个权值变量。总共5个特征图,故而需要的权值数为:10个。

3)从S2层到C3层

  此过程类似输入层到C1层,我们将滤波器大小设为5*5,将C3层的特征图的大小设为10*10。从S2中的每个特征图中,有(14-5+1)*(14-5+1)=10*10种选择,但是,我们将C3中的一个特征图中所有的神经元从S2的不同特征图中选取局部感受野,而不是将C2中的一个特征图的全部可能选择加入到C3中的一个特征图中(有点拗口,理解就好)。简单来说,就是C3中的每个特征面从S2的不同的特征面抽取特征,这样可以抽取到不同类型的特征,也能控制连接的数量。

  此时需要的权值个数为:(5*5+1)*16=416个。

4)从C3层到S4层

  此层为典型的池化(抽样)过程,基本和C1层到S2层的过程类似。此层有16个特征图,滤波器大小为2*2。通过此次抽样,每个特征图缩小了2*2=4倍,此过程需要权值个数为:(1+1)*16=32个。

5)从S4层到C5层

  C5层共有120个特征图,每个特征图的大小为1*1,滤波器的大小为5*5。这相当于C5层的神经元与S4层中的一个特征图是全连接的。

  至此,我们已经将原来的32*32个维度的图像转化成了只有120个特征的向量,这时可以使用人工神经网络来进行处理。

  6)从C5层到F6层

  此过程类似人工神经网络的权值连接,连接过程为全连接。

  7)从F6层到输出层

  输出层共10个节点,每个输出节点是一个RBF(Radial Basis Function)单元,每个RBF单元计算输入向量和参数向量之间的欧氏距离。输入离参数向量越远,则RBF输出的越大。一个RBF输出可以被理解为衡量输入模式和与RBF相关联类的一个模型的匹配程度的惩罚项。