Transformer 中 Softmax 与 Sigmoid 的作用、原理及区别

Q1: Transformer 中的 Softmax 的作用是归一化吗?

A: Softmax 并非仅仅“归一化”。它的主要功能是把注意力得分(查询 Q 与键 K 的点积)转换为一个概率分布,从而得到注意力权重。具体步骤:

  1. 计算注意力得分:score = Q·Kᵀ / √d_k(除以 √d_k 为尺度因子)。
  2. 对每一行(对应一个查询向量)使用 Softmax:α_i = softmax(score_i)。Softmax 将该行所有得分映射到 (0, 1) 区间,并使它们的和为 1。
  3. 归一化后的权重 α_i 与值向量 V 相乘,得到加权求和的注意力输出。
    因此,Softmax 的核心是把原始相似度得分转化为可解释的概率权重,实现归一化并提供完整的概率分布,这对注意力机制的学习与推理至关重要。

Q2: 归一化的通俗理解是什么?

A: 归一化即把一组得分(或原始数值)转换成概率,使每个概率值位于 0 到 1 之间,并且所有概率的和恰好等于 1。这样处理后,得分可以解释为“在所有可能选项中占多大比例”,便于后续基于概率的加权或采样操作。

Q3: Sigmoid 函数有什么作用?

A: Sigmoid(σ)函数定义为 σ(x) = 1 / (1 + e^{-x}),其主要作用包括:

  1. 映射到 (0, 1) 区间:输出可直接解释为概率或激活程度,常用于二分类任务的输出层。
  2. 平滑且可微:在整个定义域上都有导数,便于梯度下降等基于梯度的优化方法进行训练。
  3. 提供非线性变换:在神经网络隐藏层加入非线性,使网络能够学习更复杂的特征。
  4. 在门控机制中的应用:虽然 Transformer 主要使用 Softmax 计算注意力权重,但在一些改进模型或 LSTM、GRU 等循环网络中,Sigmoid 用于控制信息流的开闭(如门控单元)。

Q4: Sigmoid 和 Softmax 的联系与区别是什么?

A:

相同点

  • 都是单调递增的 S 形函数,输出位于 0 与 1 之间。
  • 都是可微的,梯度可用于反向传播。
  • 都可以把原始得分转化为概率形式,便于后续加权或决策。

区别

维度 Sigmoid Softmax
作用范围 对每个标量独立计算,σ(x)=1/(1+e^{-x}) 对一组向量(通常是一行或一列)整体计算,softmax(z_i)=e^{z_i}/∑_j e^{z_j}
归一化方式 只保证单个输出在 (0,1);多个 Sigmoid 输出的和不一定为 1。 所有输出之和必然等于 1,形成完整的概率分布。
使用场景 二分类任务的输出层、门控机制(LSTM、GRU、某些 Transformer 改进)。 多分类任务的输出层、Transformer 中的注意力权重计算。
梯度特性 在极端值( x 很大)时梯度趋近于 0,易出现梯度消失。 梯度受整个向量分布影响,配合交叉熵损失时更稳定。
计算成本 只需一次指数运算。 需要对整个向量求指数并归一化,计算量随向量长度线性增长。

总结:Sigmoid 是对单个数值的“概率化”,适合二分类或门控;Softmax 是对一组数值的“归一化”,生成完整的概率分布,适合多分类或注意力权重分配。两者在数学上都涉及指数函数,但作用范围和归一化方式决定了它们在模型中的不同角色。

结束语

通过上述问答,清晰地了解 Softmax 与 Sigmoid 在 Transformer 与其他神经网络中的功能、原理以及何时该使用哪一种激活/归一化函数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容