Transformer

作者: shudaxu | 来源:发表于2019-03-12 21:11 被阅读0次

    源自Encoder-Decoder结构
    Seq2Seq问题:
    1、RNN内部计算无法并行,所以在训练样本内,无法并行计算。
    2、耗费内存较大,所以内存限制了多少样本可以同时训练。
    3、计算复杂度与seq的长度成正比O(n),虽然有优化的树状结构为log n

    Transformer:
    1、self-attention结构:
    a)其设计思路受到nlp中coreference问题的影响,并能很好地解决这个问题
    b)encoder在其结构内的计算中,所以多个输入,以及多个中间projection结果(querys,keys,values)的计算都可以并行【在样本内部,可以并行计算】(querys和keys从某种程度上,代表了一个词的在参数空间中隐含的信息[latent vector],他们之间[querys * keys]的点乘[空间信息关系],代表了互相了关联程度,对句子中所有的词的点乘做softmax后得到一个权重,将最后的values做加权和作为该encoder的输出。
    c)实际会设计Multi-head的encoder(多个encoder),得到一些不同的信息输出。【在多个encoder之间,也可以并行计算】,multi-head的encoder会将输出拼接起来,在通过一个权重矩阵,转化为一个encoder输出的大小。
    d)加入position-encoder,得到位置信息。

    PS:与LSTM对比,Transformer可以做到更深的神经网络,而LSTM比较困难。同时LSTM训练上也比Transformer更加困难。

    相关文章

      网友评论

        本文标题:Transformer

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