先搞懂:为什么需要位置编码?Transformer 模型本身是 位置无关 的!它不知道哪个词在前,哪个词在后。比如 "我喜欢吃苹果" 和 "苹果喜欢吃我" Transformer 会认为这两个句子的结构完全一样,因为它只关心词与词之间的关系,不关心顺序。但实际上这两个句子的意思完全不同!所以需要 位置编码 来告诉模型每个词的位置信息传统位置编码问题方案1:学习型位置编码,初始化一个位置向量,全程全靠train给每个位置随机初始化一个向量让模型自己学习每个位置应该是什么样的❌ 缺点:只能处理训练时见过的长度,遇到更长的句子就傻眼了方案2:正弦位置编码用三角...