深度学习入门基于python的理论与实现-第五章误差反向传播法(个人向笔记)

计算图

计算图是一种图形化表示计算过程的方法,通常用于机器学习和深度学习中。在计算图中,节点代表操作(例如加法、乘法等),边代表数据流动(即操作的输入和输出)。通过计算图,可以清晰地展示计算过程中各个操作之间的依赖关系

结点:操作
:数据
image
计算图中各个结点只需要处理和自己有关的计算,也就是计算图可以集中精力于局部计算。

链式法则

链式法则是微积分中的一个基本定理,用于求解复合函数的导数。它描述了如果一个函数由另一个函数所组成,而这两个函数都是可微的,那么复合函数的导数可以通过这两个函数的导数的乘积来计算。

d y d x = d y d u d u d x \frac{dy}{dx}=\frac{dy}{du}\frac{du}{dx} dxdy=dudydxdu
image

图5-7的过程:
正向传播

  1. 首先输出x、y
  2. 通过第一个结点+输出t=x+y
  3. 通过第二个结点 2 ^2 2输出 z = t 2 = ( x + y ) 2 z=t^2=(x+y)^2 z=t2=(x+y)2

反向传播

  1. 首先输出 ∂ z ∂ z \frac{\partial z}{\partial z} zz
  2. 通过第一个结点 * 上 ∂ z ∂ t \frac{\partial z}{\partial t} tz
  3. 然后会有两个方向通往x的方向* ∂ t ∂ z \frac{\partial t}{\partial z} zt,通往y的方向* ∂ t ∂ y \frac{\partial t}{\partial y} yt

之所以能够这样反向传播,基础就是链式法则

反向传播

加法结点的反向传播

z = x + y z=x+y z=x+y
正常传播的计算图
image
反向传播的计算图
image

乘法结点的反向传播

image

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 23:16:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 23:16:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 23:16:02       87 阅读
  4. Python语言-面向对象

    2024-03-17 23:16:02       96 阅读

热门阅读

  1. c# 的ref 和out

    2024-03-17 23:16:02       45 阅读
  2. 安卓UI面试题 45-50

    2024-03-17 23:16:02       41 阅读
  3. bootstrap精选模板tabler下载

    2024-03-17 23:16:02       40 阅读
  4. C#+datax实现定时增量同步

    2024-03-17 23:16:02       51 阅读
  5. Git的一些基础命令

    2024-03-17 23:16:02       50 阅读
  6. DELETE、TRUNCATE 和 DROP 在MySQL中的区别及使用示例

    2024-03-17 23:16:02       40 阅读
  7. 【leetcode热题】比较版本号

    2024-03-17 23:16:02       41 阅读
  8. C#--StreamWriter和StreamReader对象及常用函数

    2024-03-17 23:16:02       39 阅读
  9. 【记录 | 字符串、搜索】单词接龙

    2024-03-17 23:16:02       42 阅读
  10. DDR3 APP接口代码

    2024-03-17 23:16:02       38 阅读
  11. AIGC赋能,天猫精灵、华米科技“抢跑”智能穿戴

    2024-03-17 23:16:02       40 阅读