7_Attention(注意力机制)

本文涉及的产品
文本翻译,文本翻译 100万字符
文档翻译,文档翻译 1千页
语种识别,语种识别 100万字符
简介: 7_Attention(注意力机制)

一、Seq2Seq Model


Shortcoming: The final state is incapable of remembering a long sequence.


6e42f95b46fb7325085c5c942038bd99.png


二、Seq2Seq Model with Attention


Attention tremendously improves Seq2Seq model.(Attention极大地改善Seq2Seq 模型)


With attention, Seq2Seq model does not forget source input.

With attention, the decoder knows where to focus.(decoder 更新状态的时候,都会再看一遍encoder所有状态,这样就不会遗忘;attention还可以告诉decoder应该关注encoder哪个状态)


Downside: much more computation.(缺点:更多的计算)

https://distill.pub/2016/augmented-rnns/


2.1 SimpleRNN + Attention


在Encoder结束工作之后,Decoder 和Attention同时开始工作。


359a29d9b9afe3bb823d65149aac91b1.jpg


encoder的所有状态都要保留下来,这里需要计算S0 与每一个h的相关性。

α1,α2,α3,···αm都是介于(0,1)之间的实数,所有α相加等于1。


e40bcde0b65ab6db957a52e21f9a23ce.png


2.1.1 权重计算αi


方法一: (used in the original paper):在原始论文中使用


ab46ff14be7f6d45217bb66ce743081d.png


方法二:(more popular; the same to Transformer)


11ff79db8e5fb9dd9518996e47e5598b.png


2.1.2 Context vector Ci


fc7a173da8d66e4e648de629e28f986a.png

4f7f42951b557f0fd22546d0bff99139.png


2.2 Time Complexity(时间复杂度)


问题:How many weights ai have been computed? (我们共计算了多少权重ai)


To compute one vector Ci ,we compute m weights: α1,α2,α3,···αm 。(想要计算出一个 Ci ,我们需要计算m个权重α1,α2,α3,···αm)


The decoder has t states, so there are totally mt weights.(假设Decoder运行了t步,那么一共计算了 mt 个权重,因此时间复杂度mt)


b093f3919710e18d8f50588155b39520.png


三、Summary(总结)


Standard Seq2Seq model: the decoder looks at only its current state.(标准的Seq2Seq模型:decoder基于当前状态来产生下一个状态,这样产生的新状态可能忘记了encoder的部分输入)


Attention: decoder additionally looks at all the states of the encoder.(注意力机制:decoder 在产生下一个状态之前,会先看一遍encoder的所有状态,于是decoder会知道encoder的完整信息,并不会遗忘)


Attention: decoder knows where to focus.(注意力机制:除了解决遗忘的信息,attention还会告诉decoder应该关注encoder的哪一个状态)


Downside: higher time complexity.(缺点:计算量太大)


m: source sequence length (假设输入encoder的序列长度为m)

t: target sequence length (decoder输出的序列长度为t)

Standard Seq2Seq: O(m + t ) time complexity (标准的Seq2Seq:只需要让encoder读一遍输入序列,之后不再看encoder的输入,然后让decoder依次生成输出序列)

Seq2Seq + attention: O(mt) time complexity(decoder每一次更新状态,都要把encoder的m个状态看一遍,所以每次的时间复杂度为m,decoder自己有t个状态,因此总时间复杂度是mt。


使用attention可以提高准确率,要付出更多的计算。


目录
相关文章
|
3天前
|
机器学习/深度学习 自然语言处理 PyTorch
深入剖析Transformer架构中的多头注意力机制
多头注意力机制(Multi-Head Attention)是Transformer模型中的核心组件,通过并行运行多个独立的注意力机制,捕捉输入序列中不同子空间的语义关联。每个“头”独立处理Query、Key和Value矩阵,经过缩放点积注意力运算后,所有头的输出被拼接并通过线性层融合,最终生成更全面的表示。多头注意力不仅增强了模型对复杂依赖关系的理解,还在自然语言处理任务如机器翻译和阅读理解中表现出色。通过多头自注意力机制,模型在同一序列内部进行多角度的注意力计算,进一步提升了表达能力和泛化性能。
|
3月前
|
机器学习/深度学习 自然语言处理 数据建模
三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力
本文深入探讨了Transformer模型中的三种关键注意力机制:自注意力、交叉注意力和因果自注意力,这些机制是GPT-4、Llama等大型语言模型的核心。文章不仅讲解了理论概念,还通过Python和PyTorch从零开始实现这些机制,帮助读者深入理解其内部工作原理。自注意力机制通过整合上下文信息增强了输入嵌入,多头注意力则通过多个并行的注意力头捕捉不同类型的依赖关系。交叉注意力则允许模型在两个不同输入序列间传递信息,适用于机器翻译和图像描述等任务。因果自注意力确保模型在生成文本时仅考虑先前的上下文,适用于解码器风格的模型。通过本文的详细解析和代码实现,读者可以全面掌握这些机制的应用潜力。
220 3
三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
多头注意力机制介绍
【10月更文挑战第4天】
|
6月前
|
机器学习/深度学习 算法 测试技术
【YOLOv8改进 - 注意力机制】Focused Linear Attention :全新的聚焦线性注意力模块
YOLOv8专栏探讨了该目标检测算法的创新改进,包括使用聚焦线性注意力模块,解决了Transformer在视觉任务中的效率和表达力问题。该模块增强自注意力,提高焦点能力和特征多样性,保持线性复杂度。文章提供了实证证据证明其在多个基准上的性能提升,并在GitHub上发布了代码。论文和更多实战案例链接见文中。
|
5月前
|
机器学习/深度学习 自然语言处理 语音技术
注意力机制(Attention Mechanism)
注意力机制(Attention Mechanism)
141 0
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv10改进-注意力机制】HAT(Hybrid Attention Transformer,)混合注意力机制
YOLOv10专栏介绍了一种名为HAT的新方法,旨在改善Transformer在图像超分辨率中的表现。HAT结合通道和窗口注意力,激活更多像素并增强跨窗口信息交互。亮点包括:1) 更多像素激活,2) 有效跨窗口信息聚合,3) 任务特定的预训练策略。HAT模型包含浅层特征提取、深层特征提取和图像重建阶段。提供的代码片段展示了HAT类的定义,参数包括不同层的深度、注意力头数量、窗口大小等。欲了解更多详情和配置,请参考给定链接。
|
7月前
|
机器学习/深度学习 自然语言处理 机器人
注意力机制详解(二)
注意力机制(Attention Mechanism)对比分析:无Attention模型中,Encoder-Decoder框架处理文本序列时,输入信息被编码为单一的中间语义表示,导致每个目标单词生成时使用相同编码,忽视了输入序列中各单词的不同影响。引入Attention模型后,每个目标单词根据输入序列动态分配注意力权重,更好地捕捉输入相关性,尤其适用于长序列,避免信息丢失。Self-Attention则进一步在序列内部建立联系,用于理解不同部分间的关系,常见于Transformer和BERT等模型中。
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
注意力机制详解(一)
注意力机制是受人类认知过程启发的一种深度学习技术,它允许模型动态地聚焦于输入的不同部分,根据上下文分配“注意力”。这种机制最早在序列到序列模型中提出,解决了长距离依赖问题,增强了模型理解和处理复杂数据的能力。基本的注意力计算涉及查询(Q)、键(K)和值(V),通过不同方式(如点积、拼接等)计算相关性并应用softmax归一化,得到注意力权重,最后加权组合值向量得到输出。自注意力是注意力机制的一种形式,其中Q、K和V通常是相同的。在自然语言处理(NLP)中,注意力机制广泛应用在Transformer和预训练模型如BERT中,显著提升了模型的表现。
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv10改进-注意力机制】Polarized Self-Attention: 极化自注意力,双重注意力机制
YOLOv10引入了极化自注意(PSA)块,结合通道和空间注意力,降低信息损失。PSA通过极化过滤保持高分辨率,并用增强处理非线性分布。在2D姿态估计和分割任务上提升1-2点精度,相比基线提升2-4点。代码示例展示了PSA模块如何集成到模型中。更多配置详情见相关链接。
|
机器学习/深度学习 自然语言处理 大数据
【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
3538 2
【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解