Transformer 和 Attention机制入门
1. 什么是 Transformer[*] 背景:
在自然语言处置惩罚范畴,早期常利用循环神经网络(RNN)及其变体(如 LSTM、GRU)来处置惩罚序列数据,如呆板翻译、文本天生等任务。然而,RNN 结构存在以下问题:
[*]随着序列长度增加,模子难以捕捉远距离词汇之间的关联,且训练会出现梯度消散或梯度爆炸等征象。
[*]训练时难以进行大规模并行盘算,速率较慢。
[*] Transformer 的诞生:
2017 年,论文《Attention is All You Need》提出了 Transformer 模子。Transformer 彻底摒弃了循环结构,转而依赖 Attention 机制 来处置惩罚序列中的依赖关系,大幅提升了训练效率,并能更好地捕捉长距离依赖。
[*] 重要结构:
Transformer 的团体结构可以概括为编码器(Encoder)和解码器(Decoder)两大部分:
[*]Encoder:由多个雷同的编码器层(Encoder Layer)堆叠而成,每一层重要包罗 多头自注意力(Multi-Head Self-Attention) 和 前馈网络(Feed-Forward Network)。
[*]Decoder:与编码器类似,也堆叠了多层的解码器层(Decoder Layer)。解码器层包罗三个重要部分:掩码多头自注意力(Masked Multi-Head Self-Attention)、**与编码器交互的多头注意力(Encoder-Decoder Attention)**以及 前馈网络。
[*] 优势:
[*]能更高效地并行训练:由于不必要按时间步逐个地处置惩罚序列。
[*]能更好地捕捉句子中远距离的依赖关系。
[*]在 NLP 多个任务(翻译、问答、文本天生等)上有显著的效果提升。
2. 什么是 Attention
[*] Attention 机制的动机:
在处置惩罚一句话时,通常并不是句子中全部词对当前输出预测都划一重要。比方,“我喜欢吃苹果”这句话中,如果要预测“吃”的后面谁人词,就必要更多关注“苹果”,而不必太在意“我”。Attention 机制通过加权的方式,让模子自动学习“关注”句子中最相关的部分。
[*] 盘算过程概览:
在 Transformer 中,一个 Attention 模块通常包罗以下步调:
[*]将输入向量分别映射为 Query (Q)、Key (K)、Value (V)。
[*]通过 Q 和 K 的点积(或其他度量)盘算相似度,得到注意力分布(即每个单词对于当前 Query 的重要程度)。
[*]将注意力分数与 V 相乘以加权输出,得到终极的注意力结果。
[*] Self-Attention(自注意力):
在 Transformer 的 Encoder 或 Decoder 内部,每个单词都将自己当作 Query,与整句话中的全部单词(包罗自己)进行 Key、Value 盘算,从而捕捉全局上下文信息。
[*]详细来说,句子中每个位置都会输出自己的 Q、K、V,然后进行点积盘算。这样,网络可以或许了解一个词与其他全部词(乃至包罗它自己)之间的关系。
[*] Multi-Head Attention(多头注意力):
自注意力 只是 Attention 机制的一个核心操作。Transformer 并不只做一次自注意力盘算,而是把 Q、K、V 分成多个子空间(即多个“头”,Heads),在每个子空间分别进行注意力盘算,然后再将各子空间的结果拼接起来。这样做的好处是模子可以学习到差别角度的语义关系,提升表达本事。
[*] Encoder-Decoder Attention:
[*]解码器在天生输出时,除了必要关注解码器自己已有的输出序列(自注意力)外,还必要关注编码器输出的上下文表示(Encoder 输出),这就是 Encoder-Decoder Attention。
[*]模子在天生下一个词时,通过这个注意力模块可以或许“检察”输入句子的每个词与当前要天生的目标词之间的关联。
3. 重点总结
[*] Transformer 的核心特点:
[*]不再依赖传统 RNN 或 CNN 结构,而是利用 Attention 完成序列到序列的映射。
[*]通过自注意力(Self-Attention)模块可以或许同时关注序列中全部位置的依赖关系,让模子可以高效并行并捕捉长距离依赖。
[*]模子结构由堆叠的编码器层和解码器层构成,形成高度模块化的筹划。
[*] Attention 的核心作用:
[*]通过 Q-K-V 机制盘算每个词对目标词的相关性,将最重要的上下文信息赋予更高的权重。
[*]多头注意力可以或许从差别的投影空间提取信息,提高模子对语义的捕捉本事。
总之,Transformer 是一种彻底基于 Attention 机制的神经网络结构,克服了 RNN 难以并行以及捕捉长距离依赖不足的缺点。Attention(尤其是自注意力)在其中扮演了最重要的角色,通过对差别词之间关联度的盘算和加权,不仅显著提升了模子的性能,还极大加快了训练与推理过程。
接下来我会在我的这个专栏里详细解读一下Transformer的原理,以及常见的LLM是如何利用Transformer这个历史转折点一样的结构的。希望大家多多关注!
参考: jalammar
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]