卷积神经网络基础


1.1 卷积神经网络基础

CNN 卷积神经网络:包含卷积层的网络

全连接层:由神经元连接而成

截屏2023-04-08 下午7.05.47

卷积层:一个滑动窗口在图像上滑动并计算

计算利用卷积核,将卷积核覆盖到图像上,再将卷积核上面的值与图像层相乘,最后相加得到该区域的值。

不断滑动,得到各个位置的卷积值

特性:1.具有局部感知机制 2.权值共享

对多维的矩阵进行卷积操作:

条件:1.输入特征矩阵深度与卷积核深度保持一致 2. 卷积完输出的特征矩阵(深度)与卷积核个数相同

计算:各个深度的卷积层相同位置处,卷积出来的值相加,最后各个深度卷完成一层了

当然卷积核不唯一,卷完之后拼接在一起

截屏2023-04-08 下午7.22.30

具体计算细节问题:

  1. 如何带上偏移量计算? 当前卷积核输出的卷积矩阵,减去偏移量bias

  2. 加上激活函数该如何计算?

    常用激活函数:

    sigmoid激活函数

截屏2023-04-08 下午7.37.46

relu激活函数

截屏2023-04-08 下午7.38.28

因为计算过程是一个线性过程,如果想要解决非线性问题,就需要引入非线性因素。

3.越界问题:

矩阵经过卷积操作后的尺寸由以下几个因数决定:

<1>输入图片的大小 W x W

<2>Filter大小F x F (卷积核滑动窗口大小)

<3>步长S

<4>padding的像素数 (补零的像素数) P

经过卷积后的矩阵尺寸大小计算公式为:

池化层:对特征图进行稀疏处理,减少数据运算量

MaxPooling下采样层

截屏2023-04-08 下午7.51.54

AveragePooling下采样层

截屏2023-04-08 下午7.52.41

·只改变特征矩阵的大小,不改变深度

·一般池化核边长和步长相同

1.2 卷积神经网络基础补充

误差的计算

截屏2023-04-09 上午9.28.49

当前该节点的输出为:

w指权重,b为偏置,x1,x2等为上一个神经元的输出,若上一层为输出层就直接输入数据

上标(1)指当前处于哪一层

下表第一个数字是上一层第几个神经元,第二个数字是本层第几个神经元

最后一层的激活函数是softmax

softmax计算过程:

比如上图,

误差计算方法一:交叉熵损失

根据问题种类,有两种:

1.针对多分类问题(softmax输出,所有输出概率和为1,分类之间没有包含关系)

2.针对二分类问题 (sigmoid输出,每个输出节点之间互不相干,分类之间有包含关系)

上述公式中,

误差的反向传播

截屏2023-04-09 上午10.01.46

最后带入得到:

根据误差进行权重的更新

问题:当分批次训练时,批次的损失梯度和整体sample的方向不一样

截屏2023-04-09 上午10.19.03

所以需要优化器:

  1. SGD优化器:

优化器的缺点:

1 容易受样本噪声的影响

2 可能陷入局部最优解

  1. SGD+Momentum优化器:

  1. Adagrad优化器(自适应学习率)

缺点:学习率下降太快可能还没收敛就停止训练

截屏2023-04-09 上午10.34.11

截屏2023-04-09 上午10.34.44


文章作者: Oliver
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Oliver !
评论
  目录