2.2 反向传播:神经网络如何“学习“?
一、神经网络就像小学生
想象一个刚学算术的小学生,老师每天布置练习题,学生根据例题尝试解题,老师批改后指出错误。神经网络的学习过程与此相似:
- 输入层:相当于练习题(如数字图片)
- 输出层:学生的答案(如识别数字是"3")
- 损失函数:老师的批改(计算错误程度)
- 反向传播:学生根据错误调整计算步骤的过程
二、前向传播:先做一遍练习题
假设我们要识别数字"3",神经网络的处理过程如下:

示例:
1输入层数据:[0.5, 0.8] # 像素值
2权重参数:w1=0.3, w2=0.6, 偏置b=0.1
3
4# 隐藏层计算
5h = (0.5*0.3) + (0.8*0.6) + 0.1 = 0.73
6激活值 = 1/(1+e^(-0.73)) ≈ 0.675 # Sigmoid函数
7
8# 输出层计算
9最终输出 = 0.675*0.4 + 0.2 = 0.47 # 假设目标值是0.8
10误差 = (0.8-0.47)^2 / 2 = 0.0545
11
此时网络认为图片有47%概率是"3",但正确答案应该是80%1
三、反向传播:老师批改作业
反向传播就像老师用红笔标注错误步骤:
1. 计算总误差(老师打分)
使用均方误差公式:
总误差 = Σ(预测值 - 真实值)^2 / 2
2. 逆向追溯责任(找错误根源)
通过链式法则逐层计算各参数的责任比例:
预览
以输出层权重w5为例:
1误差对w5的梯度 = (预测值-真实值) * 激活输出 * 激活导数
2 = (0.47-0.8) * 0.675 * 0.675*(1-0.675) ≈ -0.033
3
3. 调整参数(学生改正错误)
按梯度方向调整参数:
1新w5 = 原w5 - 学习率*梯度
2 = 0.4 - 0.1*(-0.033) = 0.4033
3
参数调整幅度就像调音量:误差越大,调整幅度越大
四、生活中的反向传播
假设你调整咖啡配方:
- 第一次:3g糖→太苦(误差大)
- 反向分析:糖量影响最大
- 第二次:5g糖→稍好(误差减小)
- 继续调整奶量、咖啡粉...
经过多次调整,最终找到最佳配方——这就是神经网络的学习过程!
五、优化学习效率的三个技巧
- 学习率:就像调整步伐大小
-
- 太大容易错过最佳点(0.1是常用初始值)
- 动量:像下坡时的惯性
-
- 避免在局部最优处卡住
- 批量训练:像同时批改多份作业
-
- 更稳定地找到调整方向
六、核心公式总结
| 步骤 | 关键公式 | 类比 |
| 前向传播 | a = σ(w*x + b) | 做练习题 |
| 损失计算 | L = ½Σ(y_true - y_pred)^2 | 计算错题数 |
| 反向传播 | ∂L/∂w = ∂L/∂a * ∂a/∂z * ∂z/∂w | 分析错误原因 |
| 参数更新 | w_new = w_old - η*∂L/∂w | 调整学习方法 |
参考资料
- 反向传播手推公式示例
- 链式法则图解
- 动量优化原理
- 神经网络参数更新可视化
- 5分钟-通俗易懂 - 神经网络 反向传播算法(手算)_哔哩哔哩_bilibili
相关文章:
2.2 反向传播:神经网络如何“学习“?
一、神经网络就像小学生 想象一个刚学算术的小学生,老师每天布置练习题,学生根据例题尝试解题,老师批改后指出错误。神经网络的学习过程与此相似: 输入层:相当于练习题(如数字图片)输出层&…...
frp-tool,客户端frp命令行工具
在日常开发和运维过程中,端口转发和配置管理是常见的需求。 如果有自己一台服务器,并且已经开放好端口,配置好token后,这个工具一定能帮到你。 今天给大家推荐一款非常好用的frpc命令行工具,它是一个用Python编写的命令…...
【学术投稿-第五届应用数学、建模与智能计算国际学术会议】CSS伪类选择器深度解析:分类、应用与技巧
大会官网:www.cammic.org 大会时间:2025年3月21-23日 大会地点:中国-上海(上海大学宝山校区北大门乐乎新楼) 简介 第五届应用数学、建模与智能计算(CAMMIC 2025)将于2025年3月21-23日在中国…...
常用查找算法整理(顺序查找、二分查找、哈希查找、二叉排序树查找、平衡二叉树查找、红黑树查找、B树和B+树查找、分块查找)
常用的查找算法: 顺序查找:最简单的查找算法,适用于无序或数据量小的情况,逐个元素比较查找目标值。二分查找:要求数据有序,通过不断比较中间元素与目标值,将查找范围缩小一半,效率…...
Express 中 res 响应方法详解
一、res.send() 1. 功能 该方法用于发送各种类型的响应,包括字符串、对象、数组、Buffer 等。它会自动设置响应的 Content-Type 头。 2. 示例代码 const express require("express");const app express();app.get("/", (req, res) > {…...
DeepAR:一种用于时间序列预测的深度学习模型
介绍 DeepAR是一种基于递归神经网络(RNN)的时间序列预测模型,由亚马逊在2017年提出。它特别适用于处理多变量时间序列数据,并能够生成概率预测。DeepAR通过联合训练多个相关时间序列来提高预测性能,从而在实际应用中表…...
权限模型深度解析:RBAC vs ABAC vs PBAC vs TBAC,如何选择最适合的方案?
在数字化系统的安全架构中,权限管理如同一把“隐形钥匙”,既需精准控制访问边界,又要灵活适配复杂多变的业务需求。从传统的角色划分到动态属性策略,从合规驱动的集中管控到任务流程的临时授权,RBAC、ABAC、PBAC、TBAC…...
Windows逆向工程入门之堆栈结构与信息获取
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 1. 堆栈结构基础 堆栈的主要操作: 2. 代码功能解析 2.1 加载 ntdll.dll 2.2 获取 NtQueryInformationThread 函数指针 2.3 调用 NtQueryInformationThread 获取线程信息…...
【c++初阶】类和对象②默认成员函数以及运算符重载初识
目录 编辑 默认成员函数: 构造函数 构造函数的特性: 析构函数: 拷贝构造函数: 1. 拷贝构造函数是构造函数的一个重载形式。 2. 拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器直接报…...
【做一个微信小程序】校园地图页面实现
前言 上一个教程我们实现了小程序的一些的功能,有背景渐变色,发布功能有的呢,已支持图片上传功能,表情和投票功能开发中(请期待)。下面是一个更高级的微信小程序实现,包含以下功能:…...
成熟开发者需具备的能力
精业务 • 指深入理解和熟悉所开发软件的业务逻辑和需求。 • 开发者需要明确软件要解决的问题、面向的用户群体以及核心功能等。 • 精业务有助于开发者更好地设计系统架构、编写符合业务需求的代码,并能根据业务变化灵活调整开发计划。 懂原理 • 指掌握编程的基…...
计算机毕业设计--基于深度学习技术(Yolov11、v8、v7、v5)算法的高效人脸检测模型设计与实现(含Github代码+Web端在线体验界面)
基于深度学习技术(Yolov11、v8、v7、v5)算法的高效人脸检测模型 Yolo算法应用之《基于Yolo的花卉识别算法模型设计》,请参考这篇CSDN作品👇 计算机毕业设计–基于深度学习技术(Yolov11、v8、v7、v5)算法的…...
力扣做题记录 (二叉树)
二叉树 打算先来了解二叉树基础,都是简单题,目的是熟悉代码格式和解题基础思路。 1、二叉树最大深度 二叉树最大深度 方法一、深度搜索 直接用原函数做递归,比较简单 /*** Definition for a binary tree node.* struct TreeNode {* …...
机试刷题_字符串的排列【python】
题目:字符串的排列 from os import dup # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # param str string字符串 # return string字符串一维数组 # class Solution:def backtrack(self,res,state,choi…...
百度智能云—千帆 ModelBuilder API的简单调用(Java)
百度简介 百度(Baidu)是拥有强大互联网基础的领先AI公司。百度愿景是:成为最懂用户,并能帮助人们成长的全球顶级高科技公司。 “百度”二字,来自于八百年前南宋词人辛弃疾的一句词:众里寻他千百度。这句话…...
unity学习43:子状态机 sub-state machine
目录 1sub-state machine子状态机 1.1 创建 sub-state machine 1.2 sub-state machine 内容 1.3 子状态机的应用 2 子状态机不同于blend tree的嵌套 3 应用例子:若角色拿不同武器的动画设计,可以使用2种方法 3.1 在1个图层layer里,使用…...
Qt MainWindow
文章目录 0. 概述1. 菜单栏 QMenuBar1.1 例子1,使用图形化界面1.2 例子2,使用代码创建1.3 例子3,添加快捷键1.4 例子4,添加子菜单1.5 例子5,添加分割线和图标1.6 内存泄漏问题 2. 工具栏 QToolBar2.1 例子1,…...
GDB QUICK REFERENCE (GDB 快速参考手册)
GDB QUICK REFERENCE {GDB 快速参考手册} References GDB QUICK REFERENCE GDB Version 4 https://users.ece.utexas.edu/~adnan/gdb-refcard.pdf 查看方式:在新标签页中打开图片 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/ [2] gdb-refc…...
【数据结构】 栈和队列
在计算机科学的世界里,数据结构是构建高效算法的基础。栈(Stack)和队列(Queue)作为两种基本且重要的数据结构,在软件开发、算法设计等众多领域都有着广泛的应用。今天,我们就来深入探讨一下栈和…...
AI视频创作教程:如何用AI让古画动起来。
事情缘由: 如果是简单的图,找原图直接写提示词即可。 如果碰到多人多活动的图,直接出的效果会很不好,那么该怎么做呢? 图片分模块 首先,复杂部分的图,把长图分多个模块。 比如这张图࿰…...
AI智能体安全治理实践:基于边车模式的Yigcore Sentinel部署与集成
1. 项目概述:为AI智能体戴上“紧箍咒” 最近在折腾各种AI智能体,比如OpenClaw这类能自主执行代码、操作文件的“数字员工”,功能确实强大,但用起来心里总有点发毛。相信不少同行都有过类似的经历:一个不留神ÿ…...
【计算机毕业设计】基于Springboot的线上辅导班系统+LW
博主介绍:✌全网粉丝3W,csdn特邀作者、CSDN新星计划导师、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、…...
Unity ML-Agents强化学习实战:优化与工具链整合
1. 项目背景与核心价值这个项目源于我在使用Unity ML-Agents进行强化学习(RL)开发时的实战经验总结,特别是结合AutoMind框架和MLE-Bench工具链的应用实践。ML-Agents作为Unity官方推出的机器学习工具包,让开发者能够在游戏引擎中构建智能体训练环境&…...
零代码H5编辑器:5分钟从零到一搭建专业移动页面制作平台
零代码H5编辑器:5分钟从零到一搭建专业移动页面制作平台 【免费下载链接】h5maker h5编辑器类似maka、易企秀 账号/密码:admin 项目地址: https://gitcode.com/gh_mirrors/h5/h5maker 还在为制作移动端页面而烦恼吗?每次都需要前端开发…...
2026届毕业生推荐的AI辅助论文工具横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 处于当下的学术写作范畴里面,论文AI网站已然变成了一种具备高效性的辅助工具&am…...
CSS旋转效果在Edge旧版支持_添加-ms-transform前缀与过渡
本文教你如何将 random.randint(100, 999) 生成的三位整数拆解为各位数字,高效判断是否存在重复数字(如 112、333),并量化重复程度(双重复/三重复),从而为游戏逻辑提供可编程的胜率倍数变量。 …...
从Claude Code源码泄露事件看AI CLI工具的五层架构与安全设计
1. 项目概述:一次对Claude Code CLI的深度技术考古最近,AI编程助手领域发生了一件颇有意思的技术事件:Anthropic官方推出的命令行工具Claude Code,其完整的TypeScript源代码意外地在npm包中被公开了。这并非一次主动的开源&#x…...
别再只用scikit-learn了!用mlxtend给你的机器学习项目加个‘瑞士军刀’(附实战代码)
解锁机器学习效率革命:用mlxtend打造你的Python工具箱 在数据科学家的日常工作中,我们常常陷入重复造轮子的困境——花费大量时间编写那些看似简单却频繁出现的功能代码。当你在scikit-learn中实现一个决策边界可视化时,是否曾想过࿱…...
暗黑破坏神2存档编辑器终极指南:d2s-editor让你的游戏体验全面升级
暗黑破坏神2存档编辑器终极指南:d2s-editor让你的游戏体验全面升级 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 厌倦了在暗黑破坏神2中反复刷装备却一无所获?想要尝试新技能组合却不想重新练级&#x…...
开发者技能图谱实战指南:从系统思维到云原生架构的完整学习路径
1. 项目概述:一个面向开发者的技能图谱与实战指南最近在GitHub上看到一个挺有意思的项目,叫“spaceship-skills”。初看标题,你可能会联想到科幻电影里的星际飞船操作手册。实际上,这个项目是一个精心编排的、面向现代软件开发者的…...
