Softmax 函数(归一化指数函数)

AI TERM术语词条

Softmax

技术原理 概率输出数学运算注意力

术语释义

把一组任意实数转换成总和为一的概率分布的运算,是分类输出与注意力权重的收尾步骤,决定模型如何分配置信度。

Softmax(归一化指数函数)把一组任意实数转换成总和为一的概率分布:先对每个输入取指数,再除以所有指数之和。用公式表示就是 softmax(x_i) = exp(x_i) / Σ exp(x_j)。模型末层输出经过它,就成了对各个候选词元的预测分布,它是分类输出与注意力权重共同的收尾步骤。

关键特性

  • 对数值敏感:分数差距被指数放大,最大值容易占据绝大部分概率。
  • 温度可调:除以温度参数可控制分布的陡峭程度,影响生成的多样性与稳定性。
  • 平移不变:所有输入同时加减同一常数,输出不变,这为数值稳定实现提供了依据。
  • 需要数值保护:实现时先减去最大值以防指数溢出,是标准做法。
  • 输出可加性弱:分布整体缩放会改变其形状,因此它不与线性变换交换。

温度是一个直观的调节旋钮:温度趋近于零时分布接近只取最大值,输出稳定但缺乏变化;温度大于一时分布变平,候选更多样但更容易偏离合理区间。生成任务中常用它来在准确性与创造性之间取舍,配合只保留高概率候选的截断策略,可以在不牺牲连贯性的前提下保留一定随机性。

在注意力中的角色

它的作用不止于输出概率分布:注意力分数经过它之后才成为各位置的权重,权重总和为一,模型据此对值向量加权求和,得到当前位置的聚合表示。在自回归生成中,被屏蔽的位置通常直接置为极小的分数,归一化后权重接近零,从而保证模型不会看到未来的内容。分数过大时分布会过度集中,几乎退化为只关注单个位置,未选中位置的梯度趋近于零,训练容易停滞;分数过小时分布又接近均匀,注意力失去区分能力。因此常通过缩放点积、调整初始化或改用更平滑的激活来抑制这种饱和现象,让权重分布保持可学习的梯度区间。

实践要点

  • 先减最大值:实现里先做平移再取指数,避免上溢导致出现无穷值。
  • 与对数一起算:损失计算通常直接使用对数概率形式,比先算概率再取对数更稳定。
  • 温度按场景定:需要确定性输出时调低,需要多样性时谨慎调高并配合截断策略。
  • 留意分布形态:观察最大概率与熵的变化,可及早发现模型过度自信或训练异常。

常见误区

  • 把输出当真实概率:它只是归一化后的相对置信度,未必经过良好校准。
  • 忽略溢出风险:直接对原始分数取指数,在低精度环境下很容易溢出。
  • 以为温度能提升能力:温度只改变抽样分布形状,不增加模型本身的知识。
  • 在注意力里盲目调温:缩放与温度作用相近,重复调整会掩盖真正的问题所在。
查看全部 218 条 →
共 9 条