计算机视觉2-全连接神经网络

在这里插入图片描述
全连接神经网络就是把线性分类器级联起来。
在平面上是非线性划分区域。
在这里插入图片描述
W1的行数不要求和最终的类别数一样,而是由人为指定,这样的话可以增加模板数,从而达到更加精确的判断。(比如增加马的模板,判断更多情况)
但是最终输出的W2则要求和最终的类别数一样。

在这里插入图片描述
N层全连接神经网络: 除了输入层,所有的层数(包括输出层)。每个输入和每个模板都有关(全连接)。

  • 如果没有激活函数max,全连接网络还是一个线性分类器.

  • 设计神经网络的深度和宽度就是设计分类划分方式。

在这里插入图片描述

常用的激活函数

  1. Sigmoid: 小于某个值→0;大于某个→1。
  2. tanh: 同样→1;→-1。⭐️对称
  3. ReLU(max): 把小于0的变为0。
  4. Leaky ReLU: 小于零→0.1x,变成接近0但不是0。
区分激活函数和数据预处理: 激活函数是对神经元作用的。

softmax操作:得到可能是某个结果的概率。

在这里插入图片描述
目的:得到模型预测结果,比较和真正的结果之间的距离——交叉熵损失。

?为什么用交叉熵
在这里插入图片描述
因为真实结果是one-hot向量[1,0……],本身的熵=零。又 交叉熵=熵+相对熵(也叫KL散度),所以直接用交叉熵度量真实结果和预测结果之间的KL不相似程度
结果不是 onehot,则用相对熵。

损失衡量的比较

在这里插入图片描述
在这里插入图片描述
交叉熵比多类支撑向量机,还多了衡量结果更好还是更坏,能通过反馈进一步提升模型的精度。

总结softmax:

  1. 能把结果转化为概率。
  2. 衡量和真正结果的交叉熵损失,提升精度。

计算图

在这里插入图片描述
把函数用计算图表示。
节点储存 前向的函数&后向的雅各比矩阵。
计算梯度: 节点的局部梯度×上游梯度。→链式法则

在这里插入图片描述
在这里插入图片描述
要注意有的框架有直接打包的函数,能直接算梯度,不用分成小元计算→颗粒度问题。

梯度问题

  1. 梯度消失: 比如sigmoid函数的导数范围在[0-0.25],很小,多次梯度之后的值变得很小→0,对计算梯度很不利。
    在这里插入图片描述
    其他函数:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    总结:尽量选择ReLU或 Leakly ReLU函数,让梯度流更加流畅。

  2. 梯度爆炸
    在这里插入图片描述

尽量选择ReLU或 Leakly ReLU函数,让梯度流更加流畅。

梯度算法改进

问题:速度慢,精度低,会形成震荡。

改进:
动量法;自适应梯度和RMSProp;ADAM

  1. 动量法: 累加历史梯度,改变速度。
    在这里插入图片描述
    在这里插入图片描述
    即使新的梯度g=0,累加值v≠0,也能继续走下去。
    设置μ=1,会永远走下去;所以μ=0.9,渐渐衰减下去。
    作用:防止鞍点和局部最小。

  2. 自适应: 不同方向迈不同步长。累加历史梯度平方。
    在这里插入图片描述
    在这里插入图片描述
    r记录历史的梯度,当历史较小说明是平坦方向,那么w减去的值的系数就较大。

问题:多次累积后r太大,调节的值接近0。

  1. RMSProp

ρ: 越大,考虑的历史值越多。

  1. Adam
    在这里插入图片描述
    修正项: 保证初期,r=0, μ(历史的影响比例)=0.9, v(梯度g)也很大,而不是缩小到梯度的0.1。而在多次循环之后,这个修正项就不需要起作用了。

实际: 动量法+SGD调参数。结果好但是难调。
ADAM快
总结核心: 改变步长或者学习率。

权值初始化

在这里插入图片描述
对一些函数:
在这里插入图片描述
在这里插入图片描述
结论: 只要权值从 均值=0,方差=1/n的高斯分布来采样,输出值就和输入的方差一样,分布也一样。

对另一种函数:
在这里插入图片描述
在这里插入图片描述

批归一化(Batch normal)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
直接对输出 减均值,除方法。
这里x就是输出(零均值1方差), y是再进行平移缩放(根据学习到的均值方差再次进行所需要的平移)。
权值初始化和批归一化都是为了让梯度流不断,更流畅

过拟合

在这里插入图片描述
开始背特定例子的答案,而不是学习规律。
解决方法:

  1. 约束模型储存的参数个数——正则化。
    在这里插入图片描述
    惩罚极端数值,让所有参数参与进来,分界面不会很复杂,更平滑。
  2. 随机失活(Dropout)
    在这里插入图片描述
    在这里插入图片描述
    解释:
    2.不要把鸡蛋放到一个篮子里。
    3.是多个小网络集成。
    在这里插入图片描述
    问题: 测试的时候没有dropout,用所有的神经元。而训练阶段则会dropout,此时输出=原来×一个比例。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值