gitchat训练营15天共度深度学习入门课程笔记(七)

5.1 计算图

  • 高效计算权重参数的方法:误差反向传播法
  • 误差反向传播法的两种表示方法:数学式和计算图

5.1.1 用计算图求解

问题 1:太郎在超市买了 2 个 100 日元一个的苹果,消费税是 10%,请计算支付金额。
○中表示计算内容:
在这里插入图片描述
○中表示计算方式:
在这里插入图片描述
问题 2:太郎在超市买了 2 个苹果、3 个橘子。其中,苹果每个 100 日元,橘子每个 150 日元。消费税是 10%,请计算支付金额。
在这里插入图片描述
计算图解题流程:从左到右正向传播

5.1.2 局部计算

在这里插入图片描述
把上面的复杂计算当作一个模块,这个模块的实现过程不用了解,只需要得到它的结果,用它的结果做加和运算。

5.1.3 为何用计算图解题

  1. 利用看起来简单的局部计算达到简化计算的目的。
  2. 可以保存中间结果
  3. 可以更方便地进行反向传播的计算

对于问题一,当我们想知道增加苹果价格会对最终的支付金额有什么影响时,我们就要求支付金额对于苹果价格的导数,设苹果的价格为 x,支付金额为 L,则相当于求 ∂ L ∂ x \frac{\partial L}{\partial x} xL
即反向传播求导数
在这里插入图片描述
可以看到,支付金额关于苹果价格的导数中间带入了苹果和消费税的乘积,得到的结果为 2.2 日元,这说明如果苹果的价格上涨 1 日元,最终的支付金额会增加 2.2 日元

5.2 链式法则

5.2.1 计算图的反向传播

在这里插入图片描述
反向传播就是下层传来的信号 E E E反向通过函数计算 f f f时,乘这个函数对上层向下传播的信号的偏导 ∂ y ∂ x \frac{\partial{y}}{\partial{x}} xy
即:计算图的反向传播:沿着与正方向相反的方向,乘上局部导数
例如:假设 y = f ( x ) = x 2 y=f(x)=x^2 y=f(x)=x2,则局部导数为 ∂ y ∂ x = 2 x \frac{\partial y}{\partial x}=2x xy=2x

5.2.2 什么是链式法则

例子:
对于复合函数 z = ( x + y ) 2 z=(x+y)^2 z=(x+y)2,可以分成以下两个式子
z = t 2 z=t^2 z=t2
t = x + y t=x+y t=x+y
链式法则如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。
对于上式来说:
∂ z ∂ x = ∂ z ∂ t ∗ ∂ t ∂ x \frac{\partial{z}}{\partial{x}}=\frac{\partial{z}}{\partial{t}}*\frac{\partial{t}}{\partial{x}} xz=tzxt
∂ z ∂ t = 2 t \frac{\partial z}{\partial t}=2t tz=2t
∂ t ∂ x = 1 \frac{\partial t}{\partial x}=1 xt=1
∂ z ∂ x = 2 t = 2 ( x + y ) \frac{\partial{z}}{\partial{x}}=2t=2(x+y) xz=2t=2(x+y)
对于问题一来说:
在这里插入图片描述

5.2.3 链式法则和计算图

在这里插入图片描述

  • 最开始处的输入 ∂ z ∂ z \frac{\partial{z}}{\partial{z}} zz=1省略了
  • 在计算图上,链式法则反向传播,每一条链上下层输入乘以变量的偏导

5.3 反向传播

5.3.1 加法节点的反向传播

对于 z = x + y z = x + y z=x+y
∂ z ∂ x = 1 \frac{\partial{z}}{\partial{x}}=1 xz=1
∂ z ∂ y = 1 \frac{\partial{z}}{\partial{y}}=1 yz=1

加法运算节点反向传播乘1

在这里插入图片描述
例子如下:
在这里插入图片描述

5.3.2 乘法节点的反向传播

对于 z = x y z = xy z=xy
∂ z ∂ x = y \frac{\partial{z}}{\partial{x}}=y xz=y
∂ z ∂ y = x \frac{\partial{z}}{\partial{y}}=x yz=x

乘法运算节点反向传播乘翻转值

在这里插入图片描述
例子如下:
在这里插入图片描述

5.3.3 苹果的例子

那我们回到最初的问题一,苹果的价格苹果的个数消费税这 3 个变量各自如何影响最终支付的金额。在这里插入图片描述
可以得到下图括号中的内容如下:
在这里插入图片描述
end

  • 原书为《深度学习入门 基于Python的理论与实现》作者:斋藤康毅
    人民邮电出版社
  • 本文章是gitchat的《陆宇杰的训练营:15天共读深度学习》1的课程读书笔记
  • 本文章大量引用原书中的内容和训练营课程中的内容作为笔记

  1. 《陆宇杰的训练营:15天共读深度学习》 ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值