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

软件工程学习日志2025.10.17

今天深入复习了BP(Backpropagation)神经网络,作为深度学习的基础,其“前馈计算误差,反向传播梯度”的思想贯穿现代许多复杂模型。记录关键点以备回顾:

  1. 核心思想:双向流动的信息

• 前向传播:数据从输入层经隐藏层流向输出层,逐层加权求和并激活,最终得到预测结果。可类比“组装流水线”,每一层对数据进行非线性变换。

• 反向传播:从输出层开始,根据预测与真实值的误差,利用链式法则计算每层参数的梯度(即权重和偏置的调整方向)。本质是误差的逆向分配。

  1. 公式与代码的对应关系

以单隐藏层网络为例,关键步骤的公式与伪代码一一对应:
• 前向传播:

• 隐藏层输入: net_h = W_h \cdot x + b_h

• 隐藏层输出:( h = sigmoid(net_h) )

• 输出层结果:( y = sigmoid(W_o \cdot h + b_o) )

• 反向传播:

• 输出层误差:( \delta_o = (y - t) \cdot sigmoid'(net_o) ) (即伪代码中的损失函数导数与激活函数导数的乘积)

• 隐藏层误差:( \delta_h = (W_o^T \cdot \delta_o) \cdot sigmoid'(net_h) )

• 参数更新:梯度下降调整权重与偏置(见伪代码中的W = W - η * δ * a_prev^T)。

  1. 关键细节提醒

• 激活函数选择:sigmoid易导致梯度消失,实际常用ReLU或Leaky ReLU。

• 梯度下降变体:伪代码中的批量梯度下降计算全局梯度,但实际更常用小批量(Mini-batch) 兼顾效率与稳定性。

• 初始化重要性:权重初始化为随机小值(如Xavier初始化),避免对称性破坏和学习停滞。

  1. 个人思考

BP算法的精髓在于链式法则的高效应用,它将复杂网络的误差责任精准分配至每个参数。理解这一点后,再学习CNN或RNN的反向传播会更容易迁移。后续可结合具体代码(如Python+numpy)实现一个简单分类任务,加深对矩阵维度和梯度计算的理解。

http://www.hskmm.com/?act=detail&tid=33318

相关文章:

  • 天黑了,睡觉
  • 升鲜宝生鲜配送供应链管理系统---- 门店收银 POS 离线工作设计文档(支持线上线下一体化)---02
  • 2025.10.16NOIP模拟
  • Python 基于Python开发的数据库同步检测工具
  • 当AI学会进化:荣耀与用户的“共生式成长”新范式
  • VSCode的下载安装以及配置
  • 2025年终极公众号排版神器排行榜 最新案例研究权威测评
  • NAS安装远程协作神器twake
  • 把三门问题做成了"游戏"
  • 下一代CPU驱动高性能计算革新
  • [KaibaMath]1010 关于关于收敛数列有界性的证明
  • 卫星地图匹配定位 - MKT
  • 10.17 —— (VP) 2021icpc沈阳
  • 10.17每日总结
  • 今天宝宝进面了
  • 《大象Thinking in Projects》读书笔记1
  • 20251017
  • MT签名去除签名校验分析
  • uml
  • P3643 [APIO2016] 划艇 分析
  • day016
  • uml九图和数据流图总结
  • UpdateSourceTrigger和Mode的区别
  • NOIP2020 T2
  • Alex-VGG3
  • 第二章日志分析-redis应急响应
  • 第一章 应急响应- Linux入侵排查
  • 浏览器多开的方法
  • 10月17号
  • 19. 删除链表的倒数第 N 个结点