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

参数调整幅度就像调音量:误差越大,调整幅度越大

四、生活中的反向传播

假设你调整咖啡配方:

  1. 第一次:3g糖→太苦(误差大)
  2. 反向分析:糖量影响最大
  3. 第二次:5g糖→稍好(误差减小)
  4. 继续调整奶量、咖啡粉...

经过多次调整,最终找到最佳配方——这就是神经网络的学习过程!

五、优化学习效率的三个技巧

  1. 学习率:就像调整步伐大小
    • 太大容易错过最佳点(0.1是常用初始值)
  1. 动量:像下坡时的惯性
    • 避免在局部最优处卡住
  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

调整学习方法

参考资料

  1. 反向传播手推公式示例
  2. 链式法则图解
  3. 动量优化原理
  4. 神经网络参数更新可视化
  5. 5分钟-通俗易懂 - 神经网络 反向传播算法(手算)_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19261.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QEMU 通过网络实现共享文件

系列文章目录 Linux内核学习 Linux 知识(1) Linux 知识(2) WSL Ubuntu QEMU 虚拟机 Linux 调试视频 PCIe 与 USB 的补充知识 vscode 使用说明 树莓派 4B 指南 设备驱动畅想 Linux内核子系统 Linux 文件系统挂载 QEMU 通过网络实现…

当时只道是寻常

晴,2025年2月16日 卸载了油管、脸书和 X 手机 app ,太浪费我时间,以后再去经营吧。 教学技能大赛材料需要在明天之内搞定——《教学实施方案》。感觉玄,同部门有经验的老师说至少花一周时间。 只能明天早点继续接着弄&#xff…

Hive之分区表

Hive之分区表 文章目录 Hive之分区表写在前面分区表分区表基本操作引入分区表创建分区表语法加载数据到分区表中查询分区表中数据增加分区删除分区查看分区表有多少分区查看分区表结构 二级分区正常的加载数据分区表和数据产生关联 动态分区开启动态分区参数设置案例实操 写在前…

【线段树模板】

介绍 这段代码看起来是一个基于树结构的数据结构,可能是线段树或者其他类似的数据结构。主要包含了构建数据结构、查询和修改等基本操作的实现函数。以下是对每个函数的简要介绍: pushup(int u): 用于计算结点u的属性。build(int u, int l, int r): 用于…

DeepSeek辅助测试测试一 -- DeepSeek加MaxKB知识库本地部署

文章目录 前言任务拆解最终目标两种技术路径对比知识库检索增强(RAG) 大语言模型 构建知识库加本地部署DeepSeek目前的问题 前言 开工已经两周啦,开始慢慢的进入工作状态了,新的一年大家一起加油吧~ 任务拆解 最终目标 训练一…

Yuque-DL:一款强大的语雀资源下载工具

语雀是一款常用的文档管理工具,但官方未提供直接下载文档的功能。为此,可以使用第三方工具下载语雀文档。以下是使用步骤: 1. 安装工具 GitHub - gxr404/yuque-dl: yuque 语雀知识库下载 安装步骤: 确保已安装 Node.js&#xff…

【Java 面试 八股文】Spring Cloud 篇

Spring Cloud 篇 1. Spring Cloud 5大组件有哪些?2. 服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?3. 我看你之前也用过nacos,你能说下nacos与eureka的区别?4. 你们项目负载均衡如何实现的&#xff1f…

国内外网络安全政策动态(2025年1月)

▶︎ 1.国家互联网信息办公室发布《个人信息出境个人信息保护认证办法(征求意见稿)》 1月3日,国家互联网信息办公室发布《个人信息出境个人信息保护认证办法(征求意见稿)》。根据《意见稿》,个人信息出境个…

图论入门算法:拓扑排序(C++)

上文中我们了解了图的遍历(DFS/BFS), 本节我们来学习拓扑排序. 在图论中, 拓扑排序(Topological Sorting)是对一个有向无环图(Directed Acyclic Graph, DAG)的所有顶点进行排序的一种算法, 使得如果存在一条从顶点 u 到顶点 v 的有向边 (u, v) , 那么在排序后的序列中, u 一定…

Anaconda +Jupyter Notebook安装(2025最新版)

Anaconda安装(2025最新版) Anaconda简介安装1:下载anaconda安装包2: 安装anaconda3:配置环境变量4:检查是否安装成功5:更改镜像源6:更新包7:检查 Jupyter Notebook一.Jup…

VS2022中.Net Api + Vue 从创建到发布到IIS

VS2022中.Net Api Vue 从创建到发布到IIS 前言一、先决条件二、创建项目三、运行项目四、增加API五、发布到IIS六、设置Vue的发布 前言 最近从VS2019 升级到了VS2022,终于可以使用官方的.Net Vue 组合了,但是使用过程中还是有很多问题,这里记录一下. 一、先决条件 Visual …

vue点击左边导航,右边出现页面步骤

vue点击左边导航&#xff0c;右边出现页面 步骤 一定要import不然会出错 index.js Course作为Homeview子路由 Homeview加入<Routerview> 点击跳转<RouterLink to> 父Homeview中有RouterView&#xff08;路由出口&#xff0c;跳转至相应路径&#xff09;和Router…

位运算,双指针,二分,排序算法

文章目录 位运算二进制中1的个数题解代码我们需要0题解代码 排序模版排序1题解代码模版排序2题解代码模版排序3题解代码 双指针最长连续不重复子序列题解代码 二分查找题解代码 位运算 1. bitset< 16 >将十进制数转为16位的二进制数 int x 25; cout << bitset<…

【力扣】102.二叉树的层序遍历

AC截图 题目 思路 维持一个队列&#xff0c;每次容纳一层的元素即可。 代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* Tre…

【HarmonyOS Next】图片选择方案

背景 封装一个选择图片和调用拍照相机的按钮&#xff0c;展示api13下选择图片和调用相机&#xff0c;可以使用不申请用户权限的方式&#xff0c;进行图片的选择和修改。但是&#xff0c;目前方案并未包含上传图片保存的功能&#xff0c;仅提供图片选择或者拍照后&#xff0c;图…

25年湖南省考报名流程保姆级教程

2025年湖南省考报名马上就要开始啦&#xff01; 有想要参加湖南省考的姐妹们&#xff0c;可以提前了解一下考试报名流程&#xff0c;熟悉考试报名照上传要求&#xff01; 一、考试时间安排 报名时间&#xff1a;2月17日9:00至2月25日 17:00 审核时间&#xff1a;2月17日9:0…

某大型业务系统技术栈介绍【应对面试】

微服务架构【图】 微服务架构【概念】 微服务架构&#xff0c;是一种架构模式&#xff0c;它提倡将单一应用程序划分成一组小的服务&#xff0c;服务之间互相协调、互相配合&#xff0c;为用户提供最终价值。在微服务架构中&#xff0c;服务与服务之间通信时&#xff0c;通常是…

STM32的DMA解释

一句话解释&#xff1a; DMA的特点就是无需CPU的参与就可以直接访问内存&#xff08;可以直接读取内存的数据&#xff0c;也可以直接传数据给内存&#xff09; 这个内存一般指的是片内SRAM、片内Flash 我举个例子&#xff1a; 有一个温度传感器&#xff0c;它以较高的频率&a…

DIN:引入注意力机制的深度学习推荐系统,

实验和完整代码 完整代码实现和jupyter运行&#xff1a;https://github.com/Myolive-Lin/RecSys--deep-learning-recommendation-system/tree/main 引言 在电商与广告推荐场景中&#xff0c;用户兴趣的多样性和动态变化是核心挑战。传统推荐模型&#xff08;如Embedding &…

网页五子棋——用户模块

目录 用户注册 注册时序图 约定前后端交互接口 后端实现 controller 层接口设计 service 层接口设计 dao 层接口设计 全局异常处理 接口测试 前端实现 register.html css common.css register.css js 注册模块测试 用户登录 登录时序图 约定前后端交互接口 …