美文网首页实习日记~
Z学长论fast-rcnn对L1,L2的损失的选择~~

Z学长论fast-rcnn对L1,L2的损失的选择~~

作者: 飞翔的小瓜瓜 | 来源:发表于2017-12-05 17:00 被阅读0次

    1.一个样本反向传播的过程:

    首先,一个样本通过网络得到一个损失

    它在网络的传播过程中会记录下他经过每一层之后的计算结果

    当然,损失值也是这些结果之一

    接下来就开始反向传播了

    记住一个规则,每一层的梯度更新值和两个因素有关(梯度就是偏导数)

    第一,网络前向传播过程中在这一层计算后得到的值   第二:这一层的下一层的梯度值

    第一融合第二得到本层的梯度值

    最后得到一个梯度值,然后干啥?

    得到梯度值就可以更新参数了啊

    参数 = 参数 - 学习率*梯度值

    2.那么如果一个batch有200张图片,应该怎么反传呢?请开始你的演讲

    一个图片网络梯度更新一次,那么200张图片作为一个batch呢?

    也是更新一次!

    为什么是一次,他在每一层都会有200个计算副本,都会有200个梯度,他会把他们加起来取平均

    用平均值去更新梯度~更新网络

    3.那么为什么要避免极端值

    第一个原因:

    在一个batch中,我们希望每个样本都起到作用,L2使用的二次函数的增长很可怕,如果有几个极端值,那么batch中其他的样本就起不到作用了

    为什么起不到作用?很简单,取平均啊~~取平均啊~~~

    第二个原因~

    你知道学习率大了网络会发散,对吗?为什么会发叁?

    因为梯度更新的幅度太大了

    我们再看这个式子:参数 = 参数 - 学习率*梯度值

    大声告诉我,梯度更新幅度除了与学习率有关还和什么有关!

    是下一层梯度值和本层前向传播的结果值啊

    【本层前向传播咋可能有损失值!!!难道你中间层还有lable??? 没有lable哪里来的损失】

    那么如果l2损失遇到极端值,最后一层的损失会很大。然而它参与梯度计算

    同样会导致发散~

    4.那为啥还要有L2损失,既然他这么不好

    一个原因!

    平滑~容易求导~

    相关文章

      网友评论

        本文标题:Z学长论fast-rcnn对L1,L2的损失的选择~~

        本文链接:https://www.haomeiwen.com/subject/ugucixtx.html