在标准的Transformer架构(如《Attention is All You Need》中所述)以及大多数经典的NLP模型中,位置编码(Positional Encoding)与Token Embedding是相加(Add)的。 不过,从理论和底层逻辑来看,相加实际上可以看作是拼接(Concat)的一种特例和优化。 以下是关于为什么选择“相加”以及它们之间关系的深度解析: 1. 为什么标准做法是“相加”? 在标准的Transformer中,公式为: (注:两者的维度 $d{model}$ 必须完全一致,例如都是512维)。 选择相加主要有以下几个原因: 保持维度不变,节省计算资源:如果采用拼接(Concat),一个512维的词向量和512维的位置向量拼接后会变成1024维。这会导致后续所有线性层(Linear/Dense)的参数量翻倍,计算开销大大增加。相加则完美保持了原有的维度。 高维空间的近似正交性:很多人最初的直觉是,相加会把词义信息和位置信息“混在一起”导致信息丢失。但在高维空间(如512维、4096维)中,随机采样的向量或经过不同方式初始化的向量(如正弦波位置编码与...