链式法则解释上游梯度应用

过程。

假设我们有一个计算图:
Code 代码

CodeBlock-module__code--gyjSL 复制代码
<span style="background-color:var(--bgColor-default)"><span style="color:var(--fgColor-default, var(--color-fg-default))"><code>x → x² → L (损失函数)
</code></span></span>

根据链式法则:
Code 代码

CodeBlock-module__code--gyjSL 复制代码
<span style="background-color:var(--bgColor-default)"><span style="color:var(--fgColor-default, var(--color-fg-default))"><code>dL/dx = dL/d(x²) * d(x²)/dx
</code></span></span>

其中:

  • dL/d(x²) 就是 upstream_grad(上游梯度)
  • d(x²)/dx = 2x 是平方函数的导数
  • x 就是 self.data

所以:
Python

CodeBlock-module__code--gyjSL 复制代码
<span style="background-color:var(--bgColor-default)"><span style="color:var(--fgColor-default, var(--color-fg-default))"><code><span style="color:var(--color-prettylights-syntax-keyword)">self</span>.grad += upstream_grad * <span style="color:var(--color-prettylights-syntax-constant)">2</span> * <span style="color:var(--color-prettylights-syntax-keyword)">self</span>.data
<span style="color:var(--color-prettylights-syntax-comment)">#          = dL/d(x²)   * d(x²)/dx</span></code></span></span>
相关推荐
哈__2 分钟前
React Native 鸿蒙跨平台开发:StatusBar 状态栏组件
javascript·react native·react.js
朔北之忘 Clancy4 分钟前
2020 年 6 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·尺取法
消失的旧时光-194310 分钟前
C++ 中的 auto 与 nullptr:不是语法糖,而是类型系统升级
开发语言·c++
专注VB编程开发20年11 分钟前
c#Type数组转成字符串的名称
java·开发语言
C_心欲无痕18 分钟前
nginx - 核心概念
运维·前端·nginx
编程饭碗22 分钟前
【多线程编程】
java·开发语言
开开心心_Every22 分钟前
安卓做菜APP:家常菜谱详细步骤无广简洁
服务器·前端·python·学习·edge·django·powerpoint
前端_Danny24 分钟前
用 ECharts markLine 实现节假日标注
前端·信息可视化·echarts
古城小栈26 分钟前
Rust 丰富&好用的 格式化语法
前端·算法·rust
丢,捞仔36 分钟前
uni-app上架应用添加权限提示框
前端·javascript·uni-app