请问王老师,关于Attention is all you need这篇论文,为什么要剥离RNN呢,这样做有什么好处?是因为没有Recurrent就可以更有利于并行计算吗? 还有,如果剥离了RNN,那么计算相关性的时候就没有能够包含全部词语信息的状态向量h了,剥离之后是直接通过输入的词向量序列通过Wk Wv Wq取得的相关性和Context Vector,这样剥离之后是怎么达到和Self-Attention中一样的效果呢?
@@ShusenWang 不用RNN,输出的c向量确实和所有的输入相关。但是在RNN中,词向量是按顺序输入进来的,因此保留了词与词之间的位置信息。如果剥离RNN,是不是就失去了这个位置编码?比如第一个输入是"Tommy bought Jimmy an apple",第二个输入是"Jimmy bought Tommy an apple "。这两句话的主语和宾语正好相反,因为h向量的存在RNN就会看做是不同的。但是剥离掉RNN之后的Self-Attention层是怎么区分词序的呢?如果Attention层不能考虑词序的话,效果还能比RNN+Attention好,是如何达到的呢? 您的文章中说“只用注意力机制居然表现更好,在机器翻译等任务上效果有大幅提升”,是不是指Transformer的效果会比RNN+注意力机制的效果更好,而不是指一个浅层的单头注意力层的效果比RNN+注意力机制的效果更好呢? 我的理解是,因为去掉了RNN层,虽然弱化了词序信息,但是因为可以更好地实现并行计算,所以可以搭建更深的深度神经网络,因此可以充分利用语料提取更为抽象的信息,效果对比浅层RNN+Attention就有了显著提升。。我的理解是不是出现了偏差呢?谢谢老师