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

过程。

假设我们有一个计算图:
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>
相关推荐
小奶包他干奶奶13 小时前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
zy happy14 小时前
若依 vue3 报错:找不到模块“@/api/xxxx/xxxxx”或其相应的类型声明。。Vue 3 can not find mod
前端·javascript·vue.js
tobebetter952714 小时前
How to manage python versions on windows
开发语言·windows·python
潘小安14 小时前
Git Worktree + Claude Code:让你的开发效率翻倍的秘密武器
前端
meichaoWen14 小时前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
小猪努力学前端15 小时前
在 React + React Router v7 SSR 项目里做多端适配,我踩的两个坑
前端·react.js
9***P33415 小时前
PHP代码覆盖率
开发语言·php·代码覆盖率
q***d17315 小时前
React桌面应用开发
前端·react.js·前端框架
8***293115 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
0***1415 小时前
React计算机视觉应用
前端·react.js·计算机视觉