当前位置: 首页 > 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.zskr.cn/news/23245.html

相关文章:

  • 天黑了,睡觉
  • 当AI学会进化:荣耀与用户的“共生式成长”新范式
  • VSCode的下载安装以及配置
  • NAS安装远程协作神器twake
  • 把三门问题做成了"游戏"
  • 下一代CPU驱动高性能计算革新
  • [KaibaMath]1010 关于关于收敛数列有界性的证明
  • 卫星地图匹配定位 - MKT
  • 20251017
  • P3643 [APIO2016] 划艇 分析
  • 第二章日志分析-redis应急响应
  • 浏览器多开的方法
  • 第一章日志分析-mysql应急响
  • 超好用的浏览器多开小工具!轻松管理多个账号,可以无限制使用其他插件
  • 新学期每日总结(第10天)
  • 奶奶都能看懂的 C++ —— 手把手指针
  • CSP-2024 T4
  • 杏帘招客饮,在望有山庄
  • 从0到1构建企业数据资产 - 智慧园区
  • 塔吊施工 “隐形风险” 克星!思通数科 AI 卫士精准识别核心部件隐患
  • Windows关闭端口占用
  • luogu P7915 [CSP-S 2021] 回文
  • USACO 绿-蓝 思维题小记
  • Day16-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\classlei
  • 一个实用的短视频脚本创作指令分享
  • redis和mysql之间的数据一致性
  • ubuntu允许root登录桌面系统
  • AI协科学家:技术革命还是安全噩梦?
  • 一个决定
  • 计算机视觉技术与应用深度解析