attention icon indicating copy to clipboard operation
attention copied to clipboard

attention_keras.py中,Position_Embedding的pos的计算

Open rivershadowy opened this issue 5 years ago • 2 comments

你好,

想请教一下,attention_keras.py中的第21行

position_i = K.cumsum(K.ones_like(x[:,:,0]), 1)-1 #K.arange不支持变长,只好用这种方法生成

这行代码具体在计算什么?

我翻阅了论文原文和ones_like, cumsum的keras backend资料,对这行代码的用途猜测是计算论文中Position_Embedding公式的pos值,但不太理解具体是如何实现计算的,论文似乎也没有详细涉及。

请问能解释一下吗?谢谢!

rivershadowy avatar Oct 29 '18 04:10 rivershadowy

你这个计算是有问题的,原始应该是奇数位置为cos,偶数位置为sin,你这里,前一半是cos,后一半是sin

heyongcs avatar Feb 24 '19 15:02 heyongcs

你这个计算是有问题的,原始应该是奇数位置为cos,偶数位置为sin,你这里,前一半是cos,后一半是sin

没有问题,词向量的顺序对于输出结果并没有影响。你甚至可以重新排列词向量的各个维度,使得位置向量得sin和cos交错排列。

liangoy avatar Apr 19 '19 09:04 liangoy