卷积神经网络的整体架构一般分为四层:1.输入层,2.卷积层(提取特征),3.池化层(压缩特征),4.全连接层(把输入层和隐藏层连接到一起)。这里面最注重学的是卷积层,也就是提取特征的部分。

讲解卷积层的权重_卷积核

计算公式为:内积(对应位置相乘)相加+b=最终结果,如上图所示。细看一下,卷积层里面设计的参数有:1.滑动窗口步长(自己设置),2.卷积核尺寸(一般为3*3),3.边缘填充(paid),4.卷积核个数。滑动窗口步长意思就是每次提取特征是滑动的个数,如上图中步长为2。卷积核尺寸意思是每次提取特称时的像素点数,上图中为3*3。边缘填充的再上图中的表现形式是周围的一圈0,在提取特征过程中,滑动窗口滑动时,越是中间的数据,参加计算的次数越多,对结果的影响占比越大,导致边缘数据被利用程度降低,为了改善这种情况,可以通过在边缘加一圈0,将原本的数据中心化,达到平衡边缘的作用。卷积核个数就是W的个数,也叫做特征图(feature map)。在卷积层中,还存在两个计算公式,一个是长度计算公式:

                                         

讲解卷积层的权重_学习_02

另一个是宽度计算公式:

                                          

讲解卷积层的权重_讲解卷积层的权重_03

其中H表示原长,P表示Paid,S表示步长,二式同理。

在同一次卷积测试中,卷积核可以相同利用,权重参数就是调用时出现的数的个数。

---------------------------------------------------------------------------------------------------------------------------------

卷积层将特征提取出来之后,需要进一步对特征进行压缩,下采样。例如将224*224*64变为112*112*64。在压缩过程中,变换的是图像大小,层数不变。在压缩过程中有两种方法,一种叫做MAX POOLNG,即最大池化:

讲解卷积层的权重_学习_04

 原理就是从每个单位中,取最大的数值来代表此单位。另一种方法叫做EVERY POOLING,即平均池化,根据字面意思可以知道取每个单元的平均值来代表次单元,但是由于每个单位中不是每个数值都是有利于结果优化的,因此平均池化中的最终结果会受到影响,效果自然不如最大池化。

Ps:在此过程中,没有涉及到任何矩阵计算,这句话与后面层数网络层数计算有关。

---------------------------------------------------------------------------------------------------------------------------------

由上面内容可以得知,卷积神经网络的整体架构基本为:

讲解卷积层的权重_讲解卷积层的权重_05

 特征图变化如下:

讲解卷积层的权重_卷积_06

 在整个网络中,带参数计算的称为一层,并且只有卷积层和全连接层带参数计算。

---------------------------------------------------------------------------------------------------------------------------------

以上是基本知识点,下面内容是介绍几个简单的经典网络:1.Alexnet(2012),2.VGG(2014),3.Resnet

Alexnet是相对较早的一个神经网络,它是一个8层的神经网络,采用的是11*11的一个卷积核,步长为4,且边缘填充Paid为0,这种大刀阔斧的提取特征虽然计算速度很快,但也会导致误差偏大。

讲解卷积层的权重_神经网络_07

 

VGG是2014年的神经网络,它有很多版本,最常用的是D版本,它是一个16层或者19层的神经网络,在VGG神经网络中,由于POOLING后损失信息,VGG会使层数得到相应的增加来补充这部分信息,虽然结果更加优化,但是计算时间增长。

讲解卷积层的权重_卷积核_08

 在此之前,由于随着层数的增加,过拟合影响越来越大,得出的结果的效果呈下降的趋势,神经网络层数被限制在了20以下。

讲解卷积层的权重_学习_09

 

为了改变这种情况,出现了残差神经网络,也就是Resnet神经网络,有效的解决了层数越多,效果反而不好的问题。基本原理如下:

讲解卷积层的权重_神经网络_10

大致意思为设计了两条路径,如果正常卷积之后的效果不如上次,就直接略过此次卷积,从下一次开始。

-------------------------------------------------------------------------------------------------------------------------------- 

最后补充一个东西,感受野。

讲解卷积层的权重_讲解卷积层的权重_11

在图中过程中,可以知道第二张图由第一张图计算而来,第三张图由第二张图计算而来,因此我们可以说第三张图由第一张图计算而来,而利用第三章图去反推第一张图的这个过程叫做感受野。感受野越大,细节也就越紧凑。

在感受野这里存在下面一个问题:

讲解卷积层的权重_学习_12

 答案是他们的感受野虽然相同,但是3*3的参数更少,过拟合风险也就越低,VGG中使用的3*3,也证明了其效果更好,且3*3非线性变化多,卷积过程多,特征提取更细致。