多层神经网络

对于多层神经网络,BP算法可以有效地对参数迭代更新。刚做完BP算法的作业,结合自己的理解简要写写重点,不展开写具体过程了。

BP算法

前向传播是指从输入逐层计算,得到输出。反向传播用来对参数进行梯度计算和更新。

为了简化,将这些层全部考虑为全连接层,这样每层都有w和b参数矩阵。过段时间再重新推导一遍。在推导过程中,首先要明确,z=w*x+b, a=g(z)。其中,x,a分别指改层的输入和输出,g(z)是指激活函数。这样在推导的过程中就会非常明确,思路清晰。

在反向计算过程中,输出层的参数梯度计算,和隐藏层间的不一样。

对于输出层,由于该层的真实值和模型预测值都已知,所以可以直接求偏导来计算。但是对于隐藏层,如果也这样做,会发现该层的真实输出值是不知道的,所以就用到了链式求导法则。从最外边的输出层逐层求导,直到该隐藏层。不过幸好,我们不需要每次都这么麻烦,因为计算后面几层的梯度时,很多值已经求过了。推导之后有这样一个关系:第L层的偏差,等于后一层偏差的线性组合,再乘以当前的激活函数导数,这不难推导出来。

在这里的偏差是指:损失函数对当前第L层输出函数z的偏导。

所以我们在求各层的梯度时,分为求各层偏差和各层梯度两个步骤。偏差求出来后,仅需要再乘上当前层的w即可。

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值