【DeepLeaning】基于梯度的推导和反向传播实现
文章目录基于梯度的推导和反向传播实现一、Sigmoid 公式二、完整代码类三、backward 代码逐行详解1. 函数定义2. 核心梯度计算3. 返回梯度四、核心知识点其他交叉熵误差基于梯度的推导和反向传播实现一、Sigmoid 公式原函数前向σ ( x ) y 1 1 e − x \sigma(x) y \frac{1}{1e^{-x}}σ(x)y1e−x1​导数公式反向σ ′ ( x ) y ( 1 − y ) \sigma(x) y(1-y)σ′(x)y(1−y)特点无需重新计算指数直接复用前向输出结果计算高效。二、完整代码类importnumpyasnpclassSigmoid:# 前向传播计算输出保存结果用于反向传播defforward(self,x):self.out1.0/(1.0np.exp(-x))returnself.out# 反向传播计算梯度defbackward(self,dout):dxdout*(1.0-self.out)*self.outreturndx三、backward 代码逐行详解1. 函数定义def backward(self, dout):dout上游梯度神经网络后一层传递回来的梯度链式法则输入作用接收后续层的误差向前传递2. 核心梯度计算dx dout * (1.0 - self.out) * self.out对应数学链式法则d x d o u t ⋅ σ ′ ( x ) dx dout \cdot \sigma(x)dxdout⋅σ′(x)self.out前向传播保存的 Sigmoid 输出y yy(1.0 - self.out) * self.outSigmoid 自带导数y ( 1 − y ) y(1-y)y(1−y)dx当前层输入x xx的梯度传递给前一层3. 返回梯度return dx将计算完成的梯度传回上一层网络完成反向传播、用于参数更新。四、核心知识点为什么保存 self.out反向传播不重复计算指数函数节省算力是神经网络的标准优化方式。梯度范围Sigmoid 导数最大值为0.25数值极小深层网络极易出现梯度消失。万能公式所有神经网络层反向传播通用逻辑当前梯度 上游梯度 × 当前层导数其他交叉熵误差多分类中的交叉熵误差在多分类问题中如果每个类别之间的定义是互斥的那么任何样本都只能被标记为一种类别。E − 1 N ∑ i 1 N log ⁡ ( y i , t ϵ ) E -\frac{1}{N}\sum_{i1}^{N} \log(y_{i,t} \epsilon)E−N1​i1∑N​log(yi,t​ϵ)Nbatch 样本数量y第i个样本正确类别的模型预测概率由Softmax输出取值0~1ϵ 10 − 7 \epsilon10^{-7}ϵ10−7极小偏移值防止log(0)出现负无穷保证数值稳定https://zhuanlan.zhihu.com/p/658116845defcross_entropy_error(y,t):# 1. 维度兼容单样本一维数据统一转为 [1, 类别数] 二维格式批量 / 单样本通用ify.ndim1:tt.reshape(1,t.size)yy.reshape(1,y.size)# 在监督标签为one-hot-vector的情况下转换为正确解标签的索引ift.sizey.size:tt.argmax(axis1)batch_sizey.shape[0]# 1e-7是为了防止计算崩溃因为log(0)是无穷return-np.sum(np.log(y[np.arange(batch_size),t]1e-7))/batch_size

相关新闻

我正式的第一篇博客

我正式的第一篇博客

纯手写博客的开端

2026/10/10 2:05:50 阅读更多 →
别再各自为战!MCP成AI界“USB-C接口”:一份C#开发者跨模型接入全指南(TaoToken统一Key实战)

别再各自为战!MCP成AI界“USB-C接口”:一份C#开发者跨模型接入全指南(TaoToken统一Key实战)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 2:04:50 阅读更多 →
DHCP Option43 sub-option 2(华为 FIT AP 场景)

DHCP Option43 sub-option 2(华为 FIT AP 场景)

Option选项 Option43:厂商私有选项(Vendor Specific Information),RFC 定义的通用容器,子选项是华为私有扩展,用于三层场景下给 FIT AP 下发 AC 控制器 IP,让 AP 单播 CAPWAP 发现 AC,解决跨网段 AP 注册 AC 问题华为。 sub-option 2 定义 sub-option 2 = ip-address …

2026/10/10 2:04:50 阅读更多 →

最新新闻

《创业之路》-1028-细读商业经典 - 主动演化基因:美国强大的底层内核与文明级别的终极优势

《创业之路》-1028-细读商业经典 - 主动演化基因:美国强大的底层内核与文明级别的终极优势

创新本质上就是人类文明的 “主动演化基因”:它让人类不再像其他生物一样,被动等待随机的变异与残酷的自然选择;而是主动地、定向地为自己引入有利的变异,用可控的试错,换取持续的成长,用持续的突破&#x…

2026/10/10 2:59:08 阅读更多 →
第 33 章 · 稀疏矩阵

第 33 章 · 稀疏矩阵

现实中的大矩阵往往大部分元素是 0(比如社交网络、物理仿真)。存一堆 0 太浪费,稀疏矩阵只存非零元素,省内存、算得快。本章讲怎么构建和使用稀疏矩阵。33.1 为什么需要稀疏矩阵 一个 10001000 的稠密矩阵要存 100 万个元素&#…

2026/10/10 2:59:08 阅读更多 →
【单片机课设毕设项目】基于单片机的物联网型厨房空气安全参数远程监控与预警系统设计 基于单片机的可燃气体泄漏远程文字告警与自动风扇控制装置设计(030119)

【单片机课设毕设项目】基于单片机的物联网型厨房空气安全参数远程监控与预警系统设计 基于单片机的可燃气体泄漏远程文字告警与自动风扇控制装置设计(030119)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/10 2:59:08 阅读更多 →
从1969到2026:苏净集团在100℃高温热泵赛道的技术深耕与行业实践

从1969到2026:苏净集团在100℃高温热泵赛道的技术深耕与行业实践

编者按:双碳目标背景下,工业节能需求持续增长,100℃高温热泵作为清洁高效的供热解决方案,得到了越来越多行业的关注。本文将梳理当前主流的100℃高温热泵生产厂家,重点介绍拥有半个多世纪技术沉淀的苏净集团在该领域的…

2026/10/10 2:59:08 阅读更多 →
从军工底蕴到节能先锋:苏净集团57年深耕,引领120℃高温热泵技术创新

从军工底蕴到节能先锋:苏净集团57年深耕,引领120℃高温热泵技术创新

在双碳目标推动下,工业领域对高温节能供热需求持续增长,120℃高温热泵凭借其高效节能、环保安全的特性,逐渐取代传统锅炉供热,成为工业节能改造的核心技术方向。当前国内市场中,深耕高温热泵领域的厂家众多&#xff0c…

2026/10/10 2:59:08 阅读更多 →
【BFS 解决拓扑排序】课程表

【BFS 解决拓扑排序】课程表

文章目录题目解析算法原理建图入度数组代码实现题目链接:207. 课程表 题目解析 拓扑排序(Topological sorting)要解决的问题是 如何给一个有向无环图的所有节点排序。 有向无环图 (Directed Acyclic Graph, 缩写 DAG&#xff09…

2026/10/10 2:58:07 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →