李宏毅机器学习三天速成~~~第八课~~~Backprapagation

1.什么是Backpropagation(反向传播)?

Backpropagation是一种有效计算Gradient(梯度),即微分(偏微分)的方法。

在推导Backpropagation的过程前首先需要介绍一下计算微分的链式规则

2.Chain Rule链式规则

这是计算偏微分的基本功

3.Backpropagation的推导

下图中,C^{n}是指在train的过程中output的y与实际的y之间的距离Function(类似cross entropy),这个距离越小表示output的结果越好。

L(\theta)则是所有样本数据的距离之和,以此作为Loss Function。

上图中将计算L(\theta)对于参数w的微分转换成另外一种形式。

进一步地,利用chain rule将\partial C/\partial w进一步转换,并将转换后的微分分为Forward pass和Backward pass。

之所以称之为Forward pass和Backward pass,是因为计算这两个微分的顺序一个是从前面往后计算,一个是后面往前计算。

3.1计算\partial z/\partial w的方法

很简单吧

具体的展示如下

\partial z/\partial w其实就是输入的x

难点在下面的计算\partial C/\partial z,这部分才是体现出反向传播的精髓。

3.2计算\partial C/\partial z

下图中的a就是sigmod函数\sigma (z)

知道如何计算\partial a/\partial z,下面就根据chain rule计算\partial C/\partial a

这里又搞出一个问题,就是如何计算上图中?的东西,乍一看可以发现求\partial C/\partial a与求下一层neural network的输入z有关.

下面就是求\partial C/\partial z的直观的流程图,体现了“反向”

下面根据z所处层的下一层在整个neural network中属于哪个层级,分为output layer和not output layer计算\partial C/\partial z

output layer:C即为输出结果y和真实结果y之间的距离关系,求出C对于输出结果y的微分就很简单了。

如果是not output layer,就采用反向计算的方式一步步返回计算。

4.总结

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值