DNN中的反向传播算法

#对反向传播算法的理解

求梯度用反向传播算法,核心是“链式求导”法则,又如何具体实现呢?这里,主要参考Michael Nielsen的Neural Networks and Deep Learning里的第二章。

介绍反向传播算法之前,我们需要知道以下几点:

  • 确定Cost function C C C,即损失函数
  • 根据 C C C得出 C x C_x Cx,即一个训练样本的损失函数。需要 C x C_x Cx的原因是,我们接下来的反向传播算法是对一个训练样本进行的。重复这个操作,最终对所有训练样本进行完反向传播。这些我们后面会细说。

符号定义

对于一个训练样本,我们记做 x x x
对于神经网络里每一层的权值,我们记做 w l w^l wl
对于神经网络里每一层的偏差,我们记做 b l b^l bl
对于神经网络里每一层的输入,我们记做 z l z^l zl
对于神经网络里每一层的输出,我们记做 a l a^l al
定义激活函数为 f f f
那么 a l = f ( z l ) a^l = f(z^l) al=f(zl)

神经网络的前向传播过程即:
$a^0 = x $
z 1 = w 1 a 0 + b 1 z^1 = w^1a^0+b^1 z1=w1a0+b1
a 1 = f ( z 1 ) a^1 = f(z^1) a1=f(z1)
z 2 = w 2 a 1 + b 2 z^2 = w^2a^1+b^2 z2=w2a1+b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值