论文链接:https://arxiv.org/pdf/2005.00743.pdf
参考文档:https://mp.weixin.qq.com/s/e2Cor8amz7GiFfBGdLXULg
导读
今天阅读的是一篇来自Google的最新论文《SYNTHESIZER: Rethinking Self-Attention in Transformer Models》,该论文重新探索了Transformer中注意力机制的必要性,并引入了新的attention计算方法Synthesizer。实验显示,即使不进行token之间的attention交互计算,synthesizer在翻译、语言模型、GLUE等任务上也可以达到很好的效果。
1、引言
1.1、什么是自注意力机制
自注意力机制算是解释性比较强的模型之一,它通过直接把序列两两比较(代价是计算量变为 O ( n 2 ) O(n^2) O(n2),当然由于是纯矩阵运算,这个计算量相当也不是很严重),能够一步到位捕捉到全局的联系。相比之下,RNN 需要一步步递推才能捕捉到,而 CNN 则需要通过层叠来扩大感受野,这是 Self Attention 层的明显优势。
自注意力机制到底是如何生效的?这种“token”对“token”的注意力是必须的吗? A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dkQKT)V S e l f − A t t e n t i o n ( X ) = A t t e n t i o n ( X W Q , X W K , X W V ) = s o f t m a x ( X W Q W K T X T d k ) X W V Self-Attention(X)=Attention(XW_Q,XW_K,XW_V)=softmax\left(\frac{XW_QW_K^TX^T}{\sqrt{d_k}}\right)XW_V Self−Attention(X)=Attention(XWQ,XWK,XWV)=softmax(dkXWQ