美文网首页Machine Learning & Recommendation & NLP & DL
自然语言处理N天-Transformer学习(从seq2seq到

自然语言处理N天-Transformer学习(从seq2seq到

作者: 我的昵称违规了 | 来源:发表于2019-02-24 10:32 被阅读2次
    新建 Microsoft PowerPoint 演示文稿 (2).jpg

    这个算是在课程学习之外的探索,不过希望能尽快用到项目实践中。在文章里会引用较多的博客,文末会进行reference。
    搜索Transformer机制,会发现高分结果基本上都源于一篇论文Jay Alammar的《The Illustrated Transformer》(图解Transformer),提到最多的Attention是Google的《Attention Is All You Need》。

    • 对于Transformer的运行机制了解即可,所以会基于这篇论文来学习Transformer,结合《Sklearn+Tensorflow》中Attention注意力机制一章完成基本的概念学习;
    • 找一个基于Transformer的项目练手

    2.进入Transformer

    本节内容学习自《从Seq2seq到Attention模型到Self Attention》
    上一节介绍了seq2seq和attention model,其中attention model由于使用的是RNN,无法做到平行化处理,导致训练时间很长,直到2017年Google提出了Transformer模型。
    本节中,教程将介绍Transformer模型。
    Transformer模型主要包括了两大特点:self-attention 和 Multi-head。“The transformer”和Seq2seq模型皆包含两部分:Encoder和Decoder。
    比较特别的是,”The transformer”中的Encoder是由6个Encoder堆积而成(paper当中N=6),Deocder同样也是使用6个Decoder堆积而成,这和过去的attention model只使用一个encoder/decoder是不同的。

    Query、Key、Value

    教程在这里介绍了attention model的两种解读方式,同时也说明了如何从attention model转到Transformer。

    • 在attention model中context vector(c_{i})是由attention score和input的乘积加权求和得到,hidden state(h_{t})是由输入句产生。context vector(c_{i})hidden state(h_{t})可以计算目标句。
    • 在attention is all you need 中使用了另一种说法重新解释
      输入句中的每个文字是由一系列成对的 <地址Key, 元素Value>所构成,而目标中的每个文字是Query,就可以用Key, Value, Query去重新解释如何计算context vector。
      通过计算目标Query和输入句中各个Key的相似性,得到每个Key对应Value的权重(权重代表讯息的重要性,即attention score);Value则是对应的讯息,再对Value进行加权求和,得到最终的context vector。

    基于上面的Query、Key、Value,可以将之前attention model的Decoder公式进行重写(这算是重点吧)。
    score e_{ij}=Similarity(Query, Key_{i})
    使用softmax计算attention score(a_{i})softmax(sim_{i})=a_{i},进一步将attention score a_{i}乘上Value_{i}的序列和加总所得 = Attention(Query, Source)即context vector
    ===================================================================================
    好吧,这部分公式推导我没好好看,直接照搬了。有兴趣的话可以对比一下。

    三种attention类型

    Transformer计算attention的方式有三种,

    • encoder self attention,在encoder中.
    • decoder self attention,在decoder中,
    • encoder-decoder attention, 这种attention算法和过去的attention model相似。
      就是这张著名的图了。
      分割线以下为Transformer的运行机制,最后我实在是看不懂,只能先列出来,找个例子敲出来试试看吧……

    image.png

    Encoder

    计算encoder self attention
    计算Multi-head attention
    Residual Connections
    Position-wise Feed-Forward Networks
    Positional Encoding

    Decoder

    Masked multi-head attention

    The Final Linear and Softmax Layer

    相关文章

      网友评论

        本文标题:自然语言处理N天-Transformer学习(从seq2seq到

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