参考:温度系数是可学习的参数,会在训练过程中被优化器更新

深度学习中的温度参数(Temperature Parameter)是什么?-CSDN博客

1. 温度系数的作用机制

当增大T 的值时,分布变得更加的平坦(较大的值变得更小,较小的值变得更大);当减小T 的值使,分布变得更加尖峰(较大的值变得更大,较小的值变得更小)。
也就是说:

温度系数越小,分布越尖锐(温度系数控制剪碎程度的)

  比如attention中计算每个token的得分的时候,在计算score的时候加了温度系数:

2. 为什么要这样做?

防止注意力崩溃到均匀分布

在训练中,attn_guide_loss 使用 label smoothing 的 soft target(接近均匀分布)来监督注意力权重。如果没有温度下限约束,优化器会:

  1. 不断降低 temperature → 让 softmax 变得更平滑(趋向均匀)

  2. 极端情况temperature → 0 时,softmax 完全均匀分布

  3. 这会导致 ATT模块无法聚焦到真正重要的 token,失去了 attention pooling 的意义

3. 实际例子

假设有 77 个 token(含 padding):

  • temperature = 2.0:注意力权重相对均匀,每个 token 权重约 1.3%

  • temperature = 0.5:注意力更集中,可能 top-5 token 占 80% 权重

  • temperature = 0.1:极度集中,top-1 token 可能占 99%+ 权重

通过 clamp temperature ≥ 1.0,防止 softmax 过于均匀,保持注意力机制的选择性。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐