卷积神经网络—全连接层

卷积神经网络—全连接层

  1. 全连接层
  2. 全连接层与卷积层
  3. 全连接层与GAP(全局平均池化层)

[1] https://blog.csdn.net/Touch_Dream/article/details/79775786
[2] https://www.cnblogs.com/zongfa/p/9048680.html
[3] https://www.zhihu.com/question/41037974

全连接层

全连接层一般会把卷积输出的二维特征图转化为一维的一个向量,全连接层的每一个节点都与上一层的每个节点连接,是把前一层的输出特征都综合起来,所以该层的权值参数是最多的。

作用
全连接网络的作用就是将最后一层卷积得到的feature map stretch成向量,对这个向量做乘法,最终降低其维度,然后输入到softmax层中得到对应的每个类别的得分。

实现
以下图为例:
卷积神经网络—全连接层_第1张图片
最后的两列小圆球就是两个全连接层
在经过若干卷积核池化之后,会输出20个12x12的矩阵,这代表用了20个神经元,每个神经元都对这张图进行了一次次卷积,并且每个神经元最后输出的12x12的矩阵都代表了这个神经元对该图片的一个特征的理解
接下来到了全连接层,输出一个1x100的矩阵,其实就是有100个20x12x12的卷积核卷积出来的,对于输入的每一张图,用了一个和图像一样大小尺寸的核卷积,这样整幅图就变成了一个数,因为厚度是20,所以对20个核卷积完了之后再相加求和得到一个数,一共是100个卷积核,所以得到100个数。每个数代表一个高度提纯的特征
最后在经过一个分类器(也是一个全连接层)对这些特征再进行一次计算(降维),将其中的某几个特征进行组合,得到属于各个类别的概率。

缺点
参数量过大,特别是与最有一个卷积层(池化层)相连的全连接层,如图就需要 100 * 20 * 12 * 12个参数。参数量过大会导致训练速度降低,容易过拟合。

全连接层与卷积层

全连接层实际上就是卷积核大小为上层特征大小的卷积运算,卷积的结果为一个节点,就对应全连接层的一个点。
从上面的分析已经看可以看出:
最后一层的卷积层(池化层)的输出为20x12x12,连接此层的卷积层为1x1x100
将全连接层转为卷积层就是:

  1. 共有100组滤波器
  2. 每组滤波器含有20个卷积核
  3. 每个卷积核大小为12x12
  4. 则输出为1x1x100

全连接层与GAP(全局平均池化层)

全连接层的作用就是将卷积层展开成向量之后对每个feature map进行分类,GAP就是将上述的两个过程合二为一。如下图所示。
卷积神经网络—全连接层_第2张图片
主要思想
用 feature map 直接表示属于某个类的 confidence map,比如有10个类,就在最后输出10个 feature map,每个feature map中的值加起来求平均值,这十个数字就是对应的概率或者叫置信度。然后把得到的这些平均值直接作为属于某个类别的 confidence value,再输入softmax中进行分类。

优点

  1. 减少参数量
  2. 对整个网络从结构上做正则化防止过拟合
  3. 可以实现任意图像大小的输入

缺点
造成收敛速度减慢

你可能感兴趣的:(卷积神经网络—全连接层)