美文网首页工作生活
《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