Positional Encoding/Sinusoidal
公式
pos 代表位置编号,i 代表维度。不同维度对应不同波长的曲线,波长从 2pi 到 2000pi。选择这个看起来不是很直观的公式,主要是利用三角函数的特性实现 线性表示 。
-
波长比较长时,相邻字的位置编码之间的差异比较小
-
不同维度上应该用不同的函数表示位置编码
-
三角函数的周期性表示相对位置信息。位置 $$\alpha + \beta$$ 的向量可以表示成位置 $$\alpha$$ 和位置 $$\beta$$ 的组合
-
-
实现表达 relative position 的可能
-
使用sin+cos后,还需要有正向和反向吗?
为什么公式中有一个魔法值 10000? #card
-
2i = d_model = 512,周期为 2pi*10000
-
确保循环周期足够大,以便编码足够长的文本。
Positional Encoding/Sinusoidal
https://blog.xiang578.com/post/logseq/Positional Encoding_Sinusoidal.html