台湾大学深度学习课程 学习笔记 lecture2-1 Backpropagation

以下内容和图片均来自台湾大学深度学习课程。
课程地址:https://www.csie.ntu.edu.tw/~yvchen/f106-adl/syllabus.html

上节课程 lecture1-2 Neural Network Basics 讲了神经网络的结构以及正向传播的方法公式,最后也快速讲了一下使用梯度下降的方法进行优化,并且比较了GD、SGD、Mini-Batch三种方法。

本节课程深入讲解反向传播的具体方法。

首先比较了 正向传播反向传播
正向就是从输入到输出的正向传递过程,而反向使用就是梯度下降对代价函数进行输出到输入反向传递,从而找出最佳参数的过程。

正反向比较

这里用到了复合函数的求导法则。
正向传递是从 w z 是的过程,而反向求导则是 z w 的过程。注意这里的字母含义是一般求导公式,不是神经网络中的字母含义。

求导

将上面的求导公式应用在 C(θ)wlij 中。
C偏导

上面分成两个部分,首先看后面的 zliwlij ,因为第一层中公式为 z1=wx+b ,而第二层往后 zl=wal1+b ,所以这个很容易得到下面的结果。

z偏导

第二部分 C(θ)zli 计算方法相对较复杂。所以把这个公式再分成两部分看。

前面部分 Cyi 取决于loss function,比如我们常用的平方误差。

C_part1

后面部分 yizLi 是对激活函数进行求导,比如对Logistic回归求导。

y_part2

到这里第L层的结果已经完成,用矩阵形式表示如下、

all_part3

但是上面说的只是第L层,反向传播还需要向前继续找出计算前面隐藏层的方法。

像上面一样拆分求导公式,得到下面结果,其中 Czlk+1 通过上面的计算,可以从最后一层往前不断地带入进去,所以直接用 δ 表示 。

前一层part1

alzl 其实就是激活函数的求导上面也说过了,另外 zl+1al 上面也说了是结果是 w ,所以能得到下面公式的最终结果。

前一层part2

再把最后的结果用矩阵形式表示出来,就得到下面的公式。

前一层综合

上面一系列公式看着很复杂,结合老师的视频仔细思考,一步一步都搞明白之后就发现其实不难。

综上所述,反向传播其实就是,首先计算最后一层的 C ,代入公式得到最后一层的 δ ,然后不断地将此结果代入到前一层的公式里面,求得前一层 δ

反向传播总结

至此,神经网络的基础,正相反相传播已经全部讲完了。将正向反向传播总结下来就是,下一步计算都是建立在上一步计算的结果基础上,每一步的计算结果都要代入到下次计算公式中去,所以只要搞清楚一步的原理,其余步骤只是在重复之前步骤而已。

正向反向总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值