卷积神经网络(2)

误差计算

普通神经网络正向计算的过程。

下图为三层神经网络为例。
在这里插入图片描述

x:输入值;w:参数;σ:激活函数;b:偏置;y:基本输出;Softmax:最后的激活函数;o:最终输出;

具体节点计算过程如图所示:在这里插入图片描述

y的计算方式如下:

在这里插入图片描述
因为y的计算结果不满足概率分布,因此引入softmax函数,使得所有最终输出结果的概率和为1;
在这里插入图片描述

交叉熵损失(Cross Entropy Loss)

在这里插入图片描述
在这里插入图片描述
误差具体计算过程如下(此例中采用softmax函数作为输出);
本图为误差具体计算过程

误差的反向传播

根据Loss值反传播修改各个参数的值,以参数w11(2)为例;知道o1 的计算方式和y1的计算方式,因为w11(2)后面的值σ()为已知的数值,因此可当作常熟表示,则可更具Loss函数对w11(2)进行求偏导,按照链式求导法则得到对应公式;
在这里插入图片描述
在这里插入图片描述

具体求导计算过程如下:

在这里插入图片描述

log默认是以e为底

最终求得结果如下:

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

权重更新

权重的更新按照如下计算公式进行计算:

在这里插入图片描述
用旧的参数减去损失梯度乘以学习率

但是否结束了呢

在这里插入图片描述

当使用imageNet类似大数据库来进行训练,则选择分批训练,经过多次批次训练得到全局最优;
为了更快的收敛因此引入优化器方法;

在这里插入图片描述
分批次训练就是SGD优化器;
缺点:容易受到样本噪声影响;可能陷入局部最优解;
在这里插入图片描述
为解决sgd的缺点在其中引入动量Momentum,vt-1表示图中g(t),g(wt)表示图中g(t+1);
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
优化器的效果
在这里插入图片描述
在这里插入图片描述
(1)如果数据是稀疏的,使用自适应学习方法。
(2)RMSprop,Adadelta,Adam是非常相似的优化算法,Adam的bias-correction帮助其在最后优化期间梯度变稀疏的情况下略微战胜了RMSprop。整体来讲,Adam是最好的选择。
(3)很多论文中使用vanilla SGD without momentum。SGD通常能找到最小值,但是依赖健壮的初始化,并且容易陷入鞍点。因此,如果要获得更快的收敛速度和训练更深更复杂的神经网络,需要选择自适应学习方法。

如有错误欢迎指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值