美文网首页工作生活
《Attention is All You Need》细节讨论

《Attention is All You Need》细节讨论

作者: 禾木清清 | 来源:发表于2019-07-26 14:56 被阅读0次
Transformer架构 (出自原文)

《Attention is All You need》是NLP的经典论文之一。网上对其科普的文章很多了(参考本文reference),本文对其中对一些细节及其Tensorflow代码实现进行了讨论。

问题

Masked self-attention 什么意思?

Masked的意思就是只能在做self-attention的时候看不到这个词以后的单词。因为要用当前的输出来预测未来的词,如果能看到未来的词相当于系统作弊。

为什么使用Multi-Head?

不同的head可以学到不同的特征,

为什么使用残差?

使用残差以后,公式变成了:
F(x) + x
这样在反向传播中,对x求偏导数对时候,就多了一个常数。解决了梯度消失的问题。

Layer normalization?

Positional Encoding有什么作用?

在单独做self-attention的时候,由于attention的计算公式没有考虑句子中的单词顺序,所以需要在单词的向量中加入位置信息的编码。本文采用位置编码和embedding相加的方式进行运算。
具体的思路就是使用以下公式:

\text{PE}(pos,2i)=sin\left(\frac{pos}{10000^{2i/d_{model}}}\right),

\text{PE}(pos,2i+1)=cos\left(\frac{pos}{10000^{2i/d_{model}}}\right).

其中pos表示在句子中的位置,i表示在词向量中的位置,d_{model}是词向量的维度。

举个例子(出自Link):
假设我们的embedding是e_wd_{model}=4那么我们获得的结果就是:

\begin{align*}e_{w}'= e_{w} + \left[sin\left(\frac{pos}{10000^{0}}\right), cos\left(\frac{pos}{10000^{0}}\right),sin\left(\frac{pos}{10000^{2/4}}\right),cos\left(\frac{pos}{10000^{2/4}}\right)\right]\\ =e_{w} + \left[sin\left(pos\right), cos\left(pos\right),sin\left(\frac{pos}{100}\right),cos\left(\frac{pos}{100}\right)\right]\\ \end{align*}

Self-attention计算为什么要除以\sqrt{d_k}

self-attention计算公式如下:
(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}} )V
除以\sqrt{d_k}的原因是防止在QK计算乘积的时候数值过大造成上溢出。我们都知道softmax函数在x越大的时候越接近与1。不同数之间计算的结果差异就会变小。除以\sqrt{d_k}可以帮助解决这个问题。

Self-attention和Context-attention的区别?

Attention和Self-attention 的区别?

  • Attention计算的是输出序列隐藏状态和每个输入隐藏状态之间的关系
  • Self-attention计算的是每个输入和输入序列之间的关系

Transormer 并行计算, 哪些步骤是可以并行的?

Encoder和Decoder的连接方式

Transormer优势?

  • 传统的RNN每一步的输出都依赖前面的输出,难以并行;并且预处理的时候需要处理成相同长度的句子。虽然LSTM中引入了forget gate的概念,但是只能记住最近的几个输入,对于长句子效果不好。解决了LSTM和RNN的长距离依赖的问题。
  • CNN可以并行计算,但是不能处理变长的句子问题。
  • Transformer在计算self-attention的时候就是矩阵的相乘,可以进行并行。并且计算了单词之间的关系,更容易学习到句子中的依赖关系。

Transformer 缺点:

Transformer非常强大,但是还是有很多的缺点。

作者:l1n3x
链接:https://www.jianshu.com/p/bccb409a146f
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Reference:

-[GIF 动画展示]
(http://jalammar.github.io/illustrated-transformer/)

相关文章

网友评论

    本文标题:《Attention is All You Need》细节讨论

    本文链接:https://www.haomeiwen.com/subject/ssgdhctx.html