DIDL笔记(pytorch版)(四)

正向传播

在这里插入图片描述
白话总结:输入 x x x W ( 1 ) W^{(1)} W(1)做乘运算得到 z z z z z z经过激活函数得到中间层输入 h h h h h h W ( 2 ) W^{(2)} W(2)做乘运算得到输出结果 o o o,到这里如果是预测就结束了,但是如果是训练的话还需要其他步骤。 o o o与真值 y y y经过损失函数得到损失值 L L L L L L再与正则化项 s s s W ( 1 ) W^{(1)} W(1) W ( 1 ) W^{(1)} W(1)得到)相加得到目标函数 J J J,我们在学习的时候就知道,我们要做的就是最小化目标函数 J J J

反向传播

反向传播指的是计算神经网络参数梯度的方法。总的来说,反向传播依据微积分中的链式法则,沿着从输出层到输入层的顺序,依次计算并存储目标函数有关神经网络各层的中间变量以及参数的梯度。逆推步骤如下:

  1. J J J分别对于 L L L s s s在这里插入图片描述

  2. J J J对于 o o o在这里插入图片描述

  3. s s s分别对于 W ( 1 ) W^{(1)} W(1) W ( 2 ) W^{(2)} W(2)在这里插入图片描述

  4. J J J对于 W ( 2 ) W^{(2)} W(2)在这里插入图片描述

  5. J J J对于 h h h在这里插入图片描述

  6. J J J对于 z z z在这里插入图片描述

  7. J J J对于 W ( 1 ) W^{(1)} W(1)
    在这里插入图片描述

衰减和爆炸

不只是中间层的结果,中间层的梯度也会出现衰减或者爆炸。假设我们不考虑b并且把激活函数设置为恒等变换,那么中间层的输出为 H ( l ) = X W ( 1 ) W ( 2 ) . . . W ( l ) H^{(l)}=XW^{(1)}W^{(2)}...W^{(l)} H(l)=XW(1)W(2)...W(l)。假设是30层,开始权重为0.2或者5 的时候,会出现0.2 或者 5的30次方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值