4-2 前向传播和反向传播

前向传播和反向传播( Forward and backward propagation) 

前向传播

假设输入${a^{[l - 1]}}$,输出${a^{[l]}}$,缓存${z^{[l]}}$,从实现的角度来说缓存${w^{[l]}}$,${b^{[l]}}$更容易在不同的环节调用函数。

向量化实现过程可以写成:

前向传播需要喂入数据${A^{[0]}}$也就是X来初始化。

对于多层神经网络,在计算从第1层到第L层时,只能使用for循环来实现。

反向传播

输入$d{a^{[l]}}$,输出$d{a^{[l-1]}}$,$d{w^{[l]}}$,$d{b^{[l]}}$。

所以反向传播的步骤可以写成:

 

前四个式子用于实现反向传播,式子(5)是由式子(4)带入到式子(1)中得到的。

向量化的实现:

举个例子:

上面的神经网络,第一层、第二层都是Relu激活函数,最后输出层是sigmoid函数。

前向传播,输入X,通过三个激活函数最终输出$\hat y$,并从而计算损失函数:$L(\hat y,y)$。

反向传播,依次计算$d{w^{[3]}}$,$d{b^{[3]}}$,$d{w^{[2]}}$,$d{b^{[2]}}$,$d{w^{[1]}}$,$d{b^{[1]}}$,在计算的过程中,缓存会把${z^{\left[ 1 \right]}}{z^{\left[ 2 \right]}}{z^{\left[ 3 \right]}}$传递过来,然后回传$d{a^{[2]}}$,$d{a^{[1]}}$。 

转载于:https://www.cnblogs.com/xiaojianliu/articles/9534167.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值