当前位置: 首页 > article >正文

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.kler.cn/a/553596.html

相关文章:

  • 基于python深度学习遥感影像地物分类与目标识别、分割
  • vue 接口传formdata
  • Redis初识
  • 英莱科技激光视觉焊缝跟踪系统全新PF系列新品发布,三大技术融合,强悍来袭
  • 2025年02月19日Github流行趋势
  • 【Node.js】包的结构及发布
  • React之旅-03 路由
  • Idea24.3 如何设置Git忽略某一个文件
  • 个人博客5年回顾
  • 【HarmonyOS Next】鸿蒙应用进程和线程详解
  • H5网页打包成安卓apk
  • uni-app发起网络请求的三种方式
  • 985硕研一无人机方向转嵌入式可能吗?如何选择未来方向?
  • 基于Ollama本地模型DeepSeek实现RAG
  • 【Linux AnolisOS】配置Linux固定ip地址。然后在Windows上连接使用linux中docker容器里的redis和nacos。
  • 【Docker】百度网盘:基于VNC的Web访问及后台下载
  • 机器视觉中的3D高透明工件检测
  • 【大学生职业规划大赛备赛PPT资料PDF | 免费共享】
  • Fastgpt学习(5)- FastGPT 私有化部署问题解决
  • MyBatis 实现批量查询操作:以苍穹外卖套餐菜品关联查询为例