注意力机制的原理

https://blog.csdn.net/hpulfc/article/details/80449561
https://blog.csdn.net/hpulfc/article/details/80448570
https://blog.csdn.net/songbinxu/article/details/80739447

谷歌2017年发表的那篇《Attention is all you need》

Sequence to Sequence

Attention Mechanism的大量使用源于机器翻译,机器翻译本质上是解决一个Sequence-to-Sequence问题

Sequence to Sequence 的各种形式

在这里插入图片描述
Sequence-to-Sequence一般有5种形式,区别在于输入和输出序列的长度,以及是否同步产出,具体到每一个基本的模块,又能用不同的网络结构实现,包括CNN、RNN,它们的实现基本上离不开一个固定的结构:Encoder-Decoder结构。
Attention解决了它的“分心问题”
在这里插入图片描述
一个简单的Encoder-Decoder,它的Encoder和Decoder都是RNN结构
attention model的要求:
1.对输入序列的不同局部,赋予不同的重要性(权重)
2.对于不同的输出序列局部,给输入局部不一样赋权规划或方案(输出序列局部上一阶段输出当前阶段的输入局部构成)
对于上面给出的疑问(那些权重应该怎么给),Attention给出的答案是,让输出序列决定。

吴恩达深度学习课程
在这里插入图片描述
在这里插入图片描述

注意力机制是一种模拟人类注意力分配的技术,在自然语言处理领域被广泛应用。EMA(Encoder-Decoder with Multi-level Attention)是一种基于注意力机制的神经网络结构。 EMA的注意力机制原理如下: 1. 编码器(Encoder):输入序列经过编码器,将每个输入向量映射到一个高维空间的隐含表示。编码器可以是RNN(循环神经网络)或者Transformer等结构。 2. 解码器(Decoder):解码器生成输出序列的隐含表示,通常也是RNN或者Transformer。解码器通过对编码器的隐含表示进行“注意”,来决定每个输入向量在生成输出时的重要性。 3. 注意力计算:在解码器中,计算每个输入向量与输出序列当前位置的关联度。常用的注意力计算方法有点积注意力、缩放点积注意力和加性注意力等。 4. 权重分配:根据注意力计算结果,将关联度转化为权重,用于加权求和编码器的隐含表示。 5. 上下文向量生成:根据权重分配,对编码器的隐含表示进行加权求和,得到一个上下文向量,表示输入序列在当前位置对输出序列的贡献。 6. 输出生成:将上下文向量和当前位置的解码器隐含表示结合,生成当前位置的输出。 通过上述步骤,EMA模型可以在解码器中动态地关注输入序列中不同位置的信息,根据输入序列的不同部分对输出序列进行加权贡献,从而提高模型在生成任务中的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值