【深度学习笔记(三】之反向传播

本文章由公号【开发小鸽】发布!欢迎关注!!!


老规矩–妹妹镇楼:

一. 前向传播与反向传播

        之前用SVM损失函数与softmax分类器计算的都是得分以及概率,并得到相应的损失函数。这是前向传播的过程。
        得到损失函数以后,我们要根据损失函数来优化我们的模型,即优化W参数,更新W参数,使得损失值越低越好。这是反向传播的过程。

二. 优化模型

        那么,我们如何来优化W参数呢?这里,我们就要计算每个W参数对于最终的损失值的重要程度。若某个W参数越大,损失值也越大,则说明应该将W参数减小。若某个W参数越大,损失值也越小,则说明应将W值增大。

举例:

(一)损失值函数:

                f(x, y, z) = (x + y)z

        有三个样本:

        x = -2, y = 5, z = -4

        画出计算图:在这里插入图片描述

(二)计算反向传播

        现在开始计算x,y,z分别对f值的贡献程度:

        我们设q = x + y,可以先求出x和y分别对q的贡献程度,即

                dq / dx = 1

                dq / dy = 1

        然后,计算q对于f的贡献程度:

                f = (x+y)z = qz

                df / dq = z = -4

        则根据链式法则,可以求出x,y分别对f的贡献程度:

                df / dx = df / dq * dq / dx = -4 * 1 = -4

        即x的值增大一倍,f的值就要减小4倍

                df / dy = df/ dq * dq / dy = -4 * 1 = -4

        即y的值增大一倍,f的值就要减小4倍

        计算z对f的贡献程度,即计算f对于z的偏导:

                df / dz = q = x+y = -2 + 5 = 3

        即z的值增大一倍,f的值就要增大三倍

三. Sigmoid模型反向传播

        这是一个sigmoid函数的计算图,前向传播用绿色数字标识在箭头上面,反向传播用红色数字标识箭头下面。
在这里插入图片描述
        注意:我们从反向传播来看,结尾处的计算是 f = 1/x,则 df/ dx =-1/x2,且前向传播输入的x是1.37,则反向传播就要用输入的x来计算,df / dx = -1 / (1.37)2,得到的结果是 -0.53。
        这是一个需要注意的地方,通过这样运算,反向传播梯度就能够从损失值一直传回到各个参数,计算出各个参数对于损失值的影响程度。

四 . 门单元:

(一)加法门单元:

        均匀分配,各个参数的反向传播梯度是一样的。

(二)Max门单元:

        前向传播中Max门单元将最大值传播了过去,那么反向传播,梯度只会分配给最大值

(三)乘法门单元:

        反向传播的梯度分配是按照前向传播的参数互换后的比值来分配的,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值