目标检测——卷积神经网路基础知识

卷积神经网络

LeCun的LeNet(1998)网络结构

在这里插入图片描述

卷积神经网络发展历史

在这里插入图片描述

卷积神经网络可以做什么

① 图像分类
② 图像分割
③ 图像描述
④ 图像风格迁移(把其他风格应用到本图像中)

全连接层

介绍

全连接层
全连接层有很多神经元共同链接
三个激励x1 x2 x3 然后把激励乘以对应权重w1 w2 w3 然后求和,加上偏置,最后加上激励函数得到最终输出
公式:y=f(x1w1+x2w2+x3w3-1)

BP神经网络

在这里插入图片描述
BP神经网络包括两部分:信号的向前传播和误差的反向传播

  • 反向传播过程:经过前向传播后会得到输出结果,把这个结果和真实值进行对比,会有一个误差,我们通过计算上一层每个节点的偏导数就可以计算每个节点的误差梯度,我们把误差应用到误差梯度上,就得到了反向传播的过程

通过BP神经网络做车牌数字识别

输入层的处理与介绍

1、拿到照片,首先把他灰度化,每个像素就只剩下一个分量,然后进行二值化处理,会的到一个黑白图像
在这里插入图片描述
2、用5行3列的滑动窗口在黑白图像进行滑动,滑动的同时统计这个滑动窗口对应白色像素占整个窗口的比例
在滑动带最右端发现只剩下两列的时候(不是3列)可以进行padding(补0,补上一列0)处理,把52变成53,也可以进行提前预知,在最后一次滑动时,改为52的滑动窗口
通过这个方法遍历整个图像,会得到一个5
5的矩阵
在这里插入图片描述
3、把55的矩阵,按行展开拼接成一个行向量(125),这个行向量就是输入神经网络的输入层

输出层的处理与介绍

1、有了输入层后看输出层
one-hot编码(独热编码)对标签进行编码的常用方式
的热编码的作用:每行代码都有唯一的编码方式,不会重复
one-hot

训练

有了输入和输出之后,就可以对神经网络进行训练了。
在实际训练过程中,可以将输入层的输入节点数设为25,将输出层的输出节点数设为10,中间的隐藏层按实际情况进行设置

卷积层

卷积层的基础内容

卷积层是卷积神经网路中独特的网络结构
在这里插入图片描述

  • 卷积:一个滑动窗口在特征图上进行滑动,并计算(将卷积核上的值特征图上的值对应相乘,再进行相加,就得到最后矩阵中的一个值,每滑动一步计算一个值,最终得到卷积结果)

  • 卷积的目的:为了进行图像的特征提取

  • 卷积的特性
    拥有局部感知机制:以滑动窗口的形式在特征图上进行滑动计算,所以具有局部感知能力
    ②**权值共享:**滑动过程中,卷积核的值不会发生变化,所以又具有权值共享的特性

  • 权值共享的优势(对比BP神经网络)
    在这里插入图片描述
    这里的参数指的是神经元的权重
    权值的共享使得卷积神经网络的参数个数大幅度减少

    比如对于1280720的图片,假设第一个隐层hidden layer 1 的神经元个数为1000,1000个神经元和图片进行全连接的话就是12807201000=921600000
    对于卷积神经网络,假设layer1 用1000个5
    5的卷积核,因此所需要的参数个数就是551000=25000

  • 卷积的过程
    在这里插入图片描述
    实际应用过程中往往是对多维的特征矩阵(彩色图像由RGB三个通道组成的)进行卷积操作

卷积核的深度要和输入特征矩阵一致(这里的深度指的是channel,即通道数),都是三维(RGB三维)的,三维的卷积核对三维的输入特征进行对应(维度相对应)卷积,对应相加得到卷积矩阵,再用卷积核2进行对应卷积,得到输出的特征矩阵

总结

  • 1、卷积核的cahnnel(深度、维度)与输入特征层的channel(深度,维度)相同(都是三通道)
  • 2、输出的特征矩阵channel(深度、维度)与卷积核的个数相同(通过卷积核1和卷积核2最终得到一个两通道的输出特征矩阵)

思考

  • 1、如果加上偏移量bias该如何计算?
    只需要将最终卷积得到的输出特征矩阵每个元素偏移量进行相加即可
    比如在这里插入图片描述
    加上偏移量1,就得到23,22
    在这里插入图片描述
    加上偏移量1后得到22,32
    - 2、加上激活函数该如何计算?
    常用的激活函数在这里插入图片描述

    为什么要使用激活函数?
    ①在线性的计算过程中引入非线性因素,使其具备解决非线性问题的能力,就要通过非线性函数达到相应的目的
    ②Relu激活函数实际上是将负值全部过滤掉,只保留了正值不变,在实际应用中使用较多
    ③在反向传播误差的过程中,如果使用sigmoid激活函数,导数的求解非常麻烦
    ④如果使用Relu激活函数,权重如果进入失活状态后无法被再次激活,所以在训练的过程中,建议不要一开始就使用特别大的学习率进行学习,否则很容易导致大量神经元失活
    3、如果在卷积的过程中出现越界的情况该如何处理?
    在这里插入图片描述
    在这里插入图片描述

  • 处理方法:可以使用padding的方式在图像的周围直接补零进行处理,补零后就能够正常地进行卷积,而不会出现越界的情况了

padding的像素p:一般实际应用过程中是两边同时补零,即左右上下进行对称的:补零操作
上图中只补了一边,所以只用加上一个p就够了
N = ( 4 - 3 + 1 )/ 2 + 1 = 2 ,所以最后得到一个2*2的特征矩阵

池化层

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

在这里插入图片描述

  • maxpooling下采样:寻找池化核对应范围内的最大值来进行最大下采样操作(找最大值)

在这里插入图片描述

  • averagepooling下采样层:寻找池化核对应范围内的平均值来进行平均下采样操作(取平均值)

池化层的特点

  • 1、没有训练参数,只是在原始的特征图上进行求最大值或者平均值的操作
  • 2、它只会改变特征矩阵的宽度(w)和高度(h),并不会改变深度(channel)
  • 3、一般池化核的大小(poolsize)和步长(stride)相同,可以将特征图进行一定比例的缩小,计算更加方便(这只是一般情况下,但并不绝对)

误差的计算

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Cross Entropy Loss交叉熵损失

在这里插入图片描述
sigmoid 和 softmax的区别:
如果是猫狗分类(二分类问题)满足概率分布,两个概率加起来的和为1
如果是多分类问题(不止一个类:人类和男人)不满足概率分布,所以用sigmoid

误差的反向传播

右边是已经求出的值:loss O1 y1
通过链式求导法则面对W11(2)求偏导
在这里插入图片描述
求解过程:
在这里插入图片描述
右边:每一个的偏导数
左边:对W11(2)求的偏导
在这里插入图片描述

权重的更新

更新权重的计算

在这里插入图片描述
通过下边公式进行权重更新
在这里插入图片描述

batch分批次训练

通过权重更新,不断找到全局最优点,但是因为数据量太大,所以我们引入了batch分批次训练,找最优点
-通过分批次训练(batch)进入全局最优点(损失梯度指向当前最优的方向)
在这里插入图片描述

优化器optimazer

因为batch训练找到的是局部最优点,训练最后可能不是全局最优点,所以引入了优化器optimazer
优化器optimazer的目的:使网络更快的收敛

optimazer的种类:

  1. SGD优化器
  2. SGD+Momentum
  3. Adagrad
  4. RMSProp
  5. Adam

1、SGD优化器

Wt+1:更新后的参数
Wt:更新前的参数
α:学习率
g(Wt):所求的损失梯度
缺点:

  • 受样本噪声的影响:有些样本的标注是错的,所以求出来的梯度有问题
  • 可能会陷入局部最优解
    在这里插入图片描述

2、SGD+Momentum

多了一个动量部分 η * Vt-1
动量系数η:一般取0.9
可以参考左下方的方向向量图
在这里插入图片描述

3、Adagrad(自适应学习率)

主要是在学习率上边进行的改进
St就相当于对损失梯度平方求和,所以就会导致Wt公式中分母越来越大,从而导致学习率越来越小

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

在这里插入图片描述

4、RMSProp(自适应学习率)

多添加了俩系数,用来控制学习率的衰减速度
在这里插入图片描述

5、Adam(自适应学习率)

mt:一阶动量
vt:二阶动量
然后对一阶动量、二阶动量进行调整,从而得到最终表达式
β1、β2:都是超参数
在这里插入图片描述

注:可以在网上搜优化器的更新动图,了解一下

总结

卷积神经网络的流程:
1、输入参数
处理图片:转为黑白图,根据白色占比,确定对应矩阵
因为需要和隐藏层进行全连接,而输入参数的图片太大,所以要对输入的矩阵与卷积核进行卷积处理,以及池化操作,减少样本量
2、BP反向传播
通过向前传播,训练输出的值和真实值得到的误差,再一层层反向传播,修正训练的权重,提高模型准确率
3、batch
数据量太大,所以分批次操作,就是batch,但是batch会引发一个问题:达到局部最优解而不是全局最优解
因此引入了优化器
4、优化器
通过优化器不断修正学习率,让模型更快拟合,达到全局最优解

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

壹万1w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值