在原始论文Attention is all you need中,位置编码定义为: pe
但是在 Transformer's model_utils.py ,我发现第53行的公式不一样。论文中,sin
和cos
函数按照偶数或单维交替出现,而在分别为尺寸的一半。
最佳答案
你是对的,但我认为这没有什么区别。无论您连接 sin/cos
还是使它们交替出现在最终向量中,每个位置与位置编码的表示都是唯一的。
只要编码是唯一的并且我们始终一致地生成编码,位置信息就会保留在模型中。
关于python - Transformer官方发布的位置编码与原始论文不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51074006/