面试常问系列(一)-神经网络参数初始化-之-softmax

背景

本文内容还是对之前关于面试题transformer的一个延伸,详细讲解一下softmax
面试常问系列(二)-神经网络参数初始化之自注意力机制-CSDN博客

Softmax函数的梯度特性与输入值的幅度密切相关,这是Transformer中自注意力机制需要缩放点积结果的关键原因。以下从数学角度展开分析:

1. Softmax 函数回顾

给定输入向量 z = z₁, z₂, ..., zₖ,Softmax 输出概率为:

其中 S 是归一化因子。

2. 梯度计算目标

计算 Softmax 对输入 z 的梯度,即 对所有 i,j∈{1,...,k}。

3. 梯度推导

根据链式法则,对 σi​ 关于 zj​ 求导:

具体推到过程就不展示了,感兴趣的有需要的可以评论下。因为本次重点不是通用的softmax分析,而是偏实战分析。

4. 与交叉熵损失结合的梯度

在实际应用中,Softmax 通常与交叉熵损失 结合使用。此时梯度计算更简单:

其中 是真实标签的 one-hot 编码。

5. 推导

  1. 交叉熵损失对 的梯度:
  1. 通过链式法则:
  1. 代入在上面求解出的
  • 时,
  • 时,

4.合并上述结果

6. 梯度消失问题

  • 极端输入值 :若远大于其他,则,其他。此时:
    • 的梯度:(若yk=1,梯度接近0)。
    • 对其他zi的梯度:,梯度趋近于0。
  • 后果:梯度消失导致参数更新困难,模型难以训练。

7. 缩放的作用

在Transformer中,点积结果除以dk​​后:

  • 输入值范围受限 :缩放后的方差为1,避免极端值。
  • 梯度稳定性提升分布更均匀,不会趋近于0,梯度保持有效。

5. 直观示例

  • 未缩放:若dk=512,点积标准差结果可能达±22,Softmax输出接近0或1,梯度消失。
  • 缩放后:点积结果范围约±5,σ(zi)分布平缓,梯度稳定。
  • 这个示例在最开始的跳转链接有详细解释,可以参考。

总结

Softmax的梯度对输入值敏感,过大输入会导致梯度消失。Transformer通过除以dk​​控制点积方差,确保Softmax输入值合理,从而保持梯度稳定,提升训练效率。这一设计是深度学习中处理高维数据时的重要技巧。

相关推荐
钓了猫的鱼儿7 分钟前
基于深度学习+AI的红外电力设备故障目标检测与预警系统(Python源码+数据集+UI可视化界面+YOLOv11训练结果)
人工智能·深度学习·目标检测
swipe8 分钟前
Neo4j + Graph RAG 工程实践:RAG 真正缺的不是更多文本,而是可查询的关系
后端·面试·llm
LaughingZhu9 分钟前
Product Hunt 每日热榜 | 2026-05-30
人工智能·经验分享·深度学习·神经网络·产品运营
蒟蒻的贤31 分钟前
深度学习底层核心原理:损失函数、梯度与参数更新
人工智能·深度学习
谷哥的小弟37 分钟前
大模型核心基础知识(14)—神经网络的结构
人工智能·深度学习·神经网络·大模型·大语言模型
Raink老师39 分钟前
【AI面试临阵磨枪-088】Skill 如何做参数校验、依赖注入、权限控制、超时、重试、幂等?
人工智能·面试·职场和发展
城事漫游Molly41 分钟前
AI与质性研究的融合(三):AI赋能质性数据分析——从编码到理论构建的新范式
大数据·人工智能·机器学习·prompt·ai for science·智能体·定性研究
莫等闲-1 小时前
leetcode42. 接雨水 leetcode84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
unicrom_深圳市由你创科技1 小时前
历史数据存储量太大,怎么处理?数据压缩/归档策略?
算法
浅念-1 小时前
LeetCode 记忆化搜索 刷题总结
数据结构·算法·leetcode·职场和发展·深度优先·dfs