必威体育Betway必威体育官网
当前位置:首页 > IT技术

Transformer

时间:2019-10-14 09:43:17来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

transformer

强烈推荐:https://jalammar.github.io/illustrated-transformer/

特点: 简单明了,清晰易懂。对Transformer里的self-attention(multi-head), positional encoding这些concepts有一个基本的认识。

缺点:具体细节仍需要进一步阅读其他资料。

不喜欢阅读英文的同学,可以看下这个很棒的中文资料:https://kexue.fm/archives/4765

优点: 有写者自己更多的思考、分析。可以帮助读者对Transformer里的模块有更深刻的认识。我要为写者点赞!

https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/

此链接对seq2seq模型里的注意力进行了可视化解释

Transformer由encoding component和decoding component组成,encoding component由6个堆叠的Encoder组成,decoding component是6个堆叠的Decoder组成。

每一个Encoder有两个部分:self-attention + feed forward neural network

每一个Decoder有三个部分:self-attention + encoder-decoder attention + feed forward

关键的一点是,同RNN的输出一样,每个时刻都会输出一个向量表示。因此对每一个位置,都会进行self-attention以及feed forward nn。上面提到6个堆叠的Encoder,同样和堆叠RNN一样,把上一层每个时刻的输出作为当层每一时刻的输入。

在self-attention中,每个位置有其对应的Query vector, Key vector, Value vector。三个向量是通过矩阵运算得到的。

x1×WQ=q1 x_1 × W_Q = q_1 x1​×WQ​=q1​

x1×WK=k1 x_1 × W_K = k_1 x1​×WK​=k1​

x1×WV=v1 x_1 × W_V = v_1 x1​×WV​=v1​

接下来,使用q1q_1q1​分别和k1,k2,k3....k_1,k_2, k_3....k1​,k2​,k3​....计算得分, 分数除以8,然后softmax,最后对v1,v2,v3...v_1,v_2,v_3...v1​,v2​,v3​...加权求和得到第一个位置的输出。

多头自注意力就是使用多个不同的WK,WQ,WVW_K, W_Q, W_VWK​,WQ​,WV​矩阵。将结果拼接起来,再经过矩阵变换。

上述的模型没有考虑单词的顺序信息,而在NLP任务中,顺序是很重要的信息。因此谷歌提出了position embedding并将其作用在输入端。

在Decoder部分,不同于Encoder的是加了Encoder-Decoder-Attention部分,这里将最顶层Encoder部分的输出作为Key, Value,Decoder部分作为Query。具体计算方式不变。

相关阅读

STN:空间变换网络(Spatial Transformer Network)

空间变换网络(Spatial Transformer Network) 空间变换网络(Spatial Transformer Network) 空间变换器(Spatial Transformers) p

The Illustrated Transformer【译】

前言 翻译一篇非常赞的解释Transformer的文章,原文链接。在之前的文章中,Attention成了深度学习模型中无处不在的方法,它是种帮助提

利用XLSTransformer生成多sheet的excel

XLSTransformer transformer = new XLSTransformer(); File template = ResourceUtils.getFile("classpath:template/excel

XLSTransformer生成excel文件简单示例

项目结构图:项目中所用到的jar,可以到http://www.findjar.com/index.x下载ExcelUtil类源码:package util; import java.io.IOExcept

分享到:

栏目导航

推荐阅读

热门阅读