CH10 卷积神经网络

文章目录

  • CH10 卷积神经网络
    • 10.1 卷积神经网络层级结构
    • 10.2 卷积操作
      • 10.2.1 卷积操作-多通道
      • 10.2.1 数值计算练习
    • 10.3 池化层

CH10 卷积神经网络

10.1 卷积神经网络层级结构

左边

  • 数据输入层,对数据做一些处理,比如去均值(把输入数据各个维度都中心化为0,避免数据过多偏差,影响训练效果)、归一化(把所有的数据都归一到同样的范围)、PCA/白化等等。

中间

  • CONV:卷积计算层,线性乘积 求和
  • RELU:激励层(ReLU是激活函数的一种)
  • POOL:池化层,简言之,即取区域平均或最大

右边

  • FC:全连接层

10.2 卷积操作

组成成分:

  • 输入矩阵(Input)
  • 核矩阵(Kernel),又称滤波器(Filter)

卷积:卷积核在图片上滑动,计算点积
(28 = 32 - 5 + 1)

3:一般channel的维度和image保持一致
CH10 卷积神经网络_第1张图片

CH10 卷积神经网络_第2张图片

10.2.1 卷积操作-多通道

输入矩阵,核矩阵可以由多个相同的矩阵叠加在一起

比如图像通常有3个通道(Channel),分别代表红黄蓝

如果输入通道数为c1,输出通道数为c2,则共需要c1*c2个核矩阵

CH10 卷积神经网络_第3张图片

10.2.1 数值计算练习

4:左上角的九宫格与filter做内积
4 = 3 ∗ 1 + 1 ∗ 0 + 2 ∗ − 1 + 1 ∗ 1 + 1 ∗ − 1 + 1 ∗ 3 + 1 ∗ 0 + 3 ∗ 1 + 1 ∗ − 1 3* 1+1 * 0+2*-1+1 * 1+1 * -1+1 * 3+1 * 0+3 * 1+1 * -1 31+10+21+11+11+13+10+31+11
其他类似,最后结果2*2

CH10 卷积神经网络_第4张图片

输出大小公式:
( N − F + 2 P ) / s t r i d e + 1 (N-F+2P)/stride + 1 (NF+2P)/stride+1

  • N:image宽度
  • F:filter宽度
  • P:padding,填充,在输入特征图的每一边添加一定数目的行列,使得输出的特征图的长、宽 = 输入的特征图的长、宽
    • 目的:希望每个输入方块都能作为卷积窗口的中心
  • stride:步幅,卷积核经过输入特征图的采样间隔
    • 目的:希望减小输入参数的数目,减少计算量
    • 作用:成倍缩小尺寸,比如步幅为2,输出就是输入的1/2(不严谨的1/2)

stride = 1,padding = 0(遍历采样,无填充:padding = ‘valid’)
stride = 1,padding = 1(遍历采样,有填充:padding = ‘same’)

例1:
纯代公式了
CH10 卷积神经网络_第5张图片

例2:
bias:偏置单元,对应的权重都为1

CH10 卷积神经网络_第6张图片

10.3 池化层

降低特征维度,易于计算

常见的池化:最大池化,平均池化

CH10 卷积神经网络_第7张图片

最大池化:

  • 可以获取局部信息,更好的保留纹理上的特征
  • 如果不用观察物体在图片中的具体位置,只关心其是否出现,则使用最大池化效果比较好

平均池化:

  • 保留整体数据的特征,更适用于突出背景信息时使用
  • 丢掉了一部分不重要的信息,而保留更重要、更有利于特定任务的信息
  • 降维、减少计算复杂度

与卷积的关系:

  • 池化操作也可以多通道,定义步幅、填补等参数
  • 池化操作直接在单个矩阵上进行操作,而卷积需要核矩阵在输入矩阵上操作

卷积神经网络的训练请参考:手把手搭建一个【卷积神经网络】

你可能感兴趣的:(机器学习,cnn,深度学习,神经网络)