么非要使用循环神经网络?”谷歌的乌思克尔特本来正在休假,但因为对dl的交流感兴趣便报名过来,“为什么不试试自注意力self-attention?我认为它对nlp领域将会有更优秀的改变。”
“self-attention可以进行更好的并行计算能力,而不是像rnn那样进行顺序处理,它还能直接比较序列中任意两个位置的向量表示,这样就能更有效的捕捉和利用长距离依赖关系,但rnn不行!”
“rnn虽然理论上也能捕捉长距离依赖,但实际上往往因梯度消失或爆炸问题而难以实现!”
乌思克尔特研究的是谷歌的机器翻译改进方法,他的父亲就是计算语言学的教授,尽管刚开始进入谷歌时对语言翻译的工作很不喜欢,但最终还是专注于这一领域的研究,而他近期正在琢磨的便是“自注意力self-attention”在相关领域的改善。
吴恩达很快明白这位谷歌研究员的意思,也在几经思索后给予反驳:“自注意力没有显式地编码位置信息,这就意味着如果以它为核心的模型无法区分序列中相同词语在不同位置的意义差异,而在自然语言的处理中,词语的语义又与位置紧密相关。”
“而且,自注意力模型必然因为序列中每对元素计算的注意力权重而有巨大的参数量,这极可能导致过拟合。”
他这边刚说话,谷歌自家dl的席尔瓦也反驳了乌思克尔特提出的新路线,其中一个重要原因在于rnn的循环结构太符合大家对序列数据处理的理解,即当前状态依赖于过去的信息,而自注意力的全局依赖一看就不如rnn直观。
易科与谷歌的两大领导者都批评了自注意力self-attention,但乌思克尔特并不服气,他直接登台阐述自己更多的想法。
而且,针对吴恩达与席尔瓦抨击的缺点也给出一些解决思路,比如