Transformer笔记

本文深入解析了Transformer模型,一种在机器翻译及语言理解任务中表现出色的机器学习架构。文章阐述了模型的组成部分,包括编码器和解码器,以及自我注意机制如何使模型能够并行处理序列中的所有元素,从而加速训练过程。此外,还讨论了位置嵌入的重要性以及多头自我注意的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强烈推荐:https://jalammar.github.io/illustrated-transformer/
特点: 简单明了,清晰易懂。对Transformer里的self-attention(multi-head), positional encoding这些concepts有一个基本的认识。
缺点:具体细节仍需要进一步阅读其他资料。

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​

x1​×WK=k1​

 

x1​×WV=v1​

接下来,使用q1分别和k1,k2,k3…计算得分,分数除以8,然后softmax,最后对v1,v2,v3…加权求和得到第一个位置的输出。

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

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

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

2017年,谷歌发布了机器学习模型Transformer,该模型在机器翻译及其语言理解任务上的表现超越了以往算法。2018年,谷歌发布了模型的最新版本----Universal Transformer,弥补了在大规模语言理解任务上具有竞争力的实际序列模型与计算通用模型之间的差距。

去年,谷歌发布了一种新的机器学习模型 Transformer(参见:机器翻译新突破:谷歌实现完全基于 attention 的翻译架构),该模型在机器翻译及其他语言理解任务上的表现远远超越了现有算法。在 Transformer 之前,多数基于神经网络的机器翻译方法依赖于循环神经网络(RNN),后者利用循环(即每一步的输出馈入下一步)进行顺序操作(例如,逐词地翻译句子)。尽管 RNN 在建模序列方面非常强大,但其序列性意味着该网络在训练时非常缓慢,因为长句需要的训练步骤更多,其循环结构也加大了训练难度。

与基于 RNN 的方法相比,Transformer 不需要循环,而是并行处理序列中的所有单词或符号,同时利用自注意力机制将上下文与较远的单词结合起来。通过并行处理所有单词,并让每个单词在多个处理步骤中注意到句子中的其他单词,Transformer 的训练速度比 RNN 快很多,而且其翻译结果也比 RNN 好得多。然而,在更小、更加结构化的语言理解任务或简单的算法任务中(如拷贝一个字符串(如将输入「abc」转换为「abcabc」)),Transformer 则表现欠佳。相比之下,在这些任务中表现良好的模型(如神经 GPU 和神经图灵机)在大型语言理解任务(如翻译)中表现不好。

参考:

https://blog.youkuaiyun.com/YQMind/article/details/80864133 

https://zhuanlan.zhihu.com/p/42213742

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值