最近在重温Transformer时,发现有一些细节从之前的一知半解变得逐渐可以理解,接下来,分享一下我在学习时总结的关于在 Transformer 中 softmax 的一些理论实现细节(这一步十分的重要,如果想要理解的透彻,细节一定不能忽略!!!),以及为什么softmax在整个框架中是十分重要的。(也十分建议,不要被众多公式吓到,主要突出对于原理的理解就可以🌹)
以下是对 Transformer 中 softmax 的详细数学公式和原理的解析。
1. Softmax 的数学定义
Softmax 是一种将任意实数向量转换为概率分布的函数。对于输入向量 ,其 softmax 输出为:
输入:任意实数向量(如注意力得分)。
输出:所有元素值在 (0,1) 之间,且总和为 1,表示概率分布。
作用:将原始得分归一化为权重,用于加权求和。
2. Transformer 中的 Softmax 应用场景
在 Transformer 中,Softmax 主要出现在 注意力机制 和 解码器的输出层。
(1) 注意力机制中的 Softmax
Transformer 的核心是 缩放点积注意力(Scaled Dot-Product Attention),其公式为:
Q, K, V:分别表示查询(Query)、键(Key)、值(Value)矩阵,通过线性变换从输入中获得。
<