我在 tensorflow 中实现了变压器架构。
我正在关注教程:https ://www.tensorflow.org/tutorials/text/transformer#setup_input_pipeline
他们以这种方式实现位置编码:
angle_rates = 1 / np.power(10000, (2 * (i//2)) / np.float32(d_model))
但是在论文中 i 不除以 2 (i//2),这是一个错误吗?,或者为什么是做这个操作的原因?
谢谢
我在 tensorflow 中实现了变压器架构。
我正在关注教程:https ://www.tensorflow.org/tutorials/text/transformer#setup_input_pipeline
他们以这种方式实现位置编码:
angle_rates = 1 / np.power(10000, (2 * (i//2)) / np.float32(d_model))
但是在论文中 i 不除以 2 (i//2),这是一个错误吗?,或者为什么是做这个操作的原因?
谢谢
这不是一个错误,尽管他们对这个技巧增加了一些混乱。他们最好把他们的论点称为代替, 因为他们实际上做的是他们接受所有的价值观并计算.可以是偶数或奇数,但在等式的右侧它是偶数,这就是它们计算i//2并乘以 2 的原因。