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

过程。

假设我们有一个计算图:
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>
相关推荐
山,离天三尺三1 天前
基于LINUX平台使用C语言实现MQTT协议连接华为云平台(IOT)(网络编程)
linux·c语言·开发语言·网络·物联网·算法·华为云
吾疾唯君医1 天前
记录GoLang创建文件并写入文件的中文乱码错误!
开发语言·后端·golang
小年糕是糕手1 天前
【数据结构】算法复杂度
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
西洼工作室1 天前
CSS高效开发三大方向
前端·css
JAVA学习通1 天前
微服务项目->在线oj系统(Java-Spring)--C端用户(超详细)
java·开发语言·spring
数据知道1 天前
Go基础:Go语言ORM框架GORM详解
开发语言·jvm·后端·golang·go语言
计算机毕业设计小帅1 天前
【2026计算机毕业设计】基于jsp的毕业论文管理系统
java·开发语言·毕业设计·课程设计
昔人'1 天前
css`font-variant-numeric: tabular-nums` 用来控制数字的样式。
前端·css
明天会有多晴朗1 天前
深度剖析 C++ 之内存管理篇
c语言·开发语言·c++
potato_may1 天前
C语言第3讲:分支和循环(上)—— 程序的“决策”与“重复”之旅
c语言·开发语言