注意力机制原理_注意力机制Attention

注意力机制模仿人类选择性注意力,用于解决Seq2Seq模型在长序列处理时的信息丢失问题。在Encoder-Decoder框架中,无注意力机制的模型在生成目标序列时,所有源序列单词对目标单词的影响相同,导致细节信息丢失。引入注意力机制后,翻译或其他任务中,不同源单词对目标单词的贡献得以体现,通过权重分配加强关键信息的传递。

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

1.简介

注意力机制是机器学习中为了模仿人类视觉的选择性注意力机制,为了将更多的“精力”集中到有用的信息上。

人类视觉的选择性注意力机制(转自)

在介绍注意力机制之前,首先要介绍一下Seq2Seq模型,它是一种序列转序列的模型,可以将一种语言的句子转换成另一种语言的句子(翻译),也可以是同一种语言的长句子转换成短句子(提取摘要)。

Seq2Seq模型里面有一种框架叫做Encoder-Decoder框架,这也是一开始注意力机制应用的场景之一。

Encoder-Decoder框架(转自)

框架很简单,训练样本是句子对<Source,Target>,模型训练的目的就是,输入Source,获得Target。

Source和Target具体是单词序列。

Encoder是通过某种变换,将Source进行编码,转换成中间表示C:

Decoder则是利用之前生成的历史信息和中间表示,来生成当前时刻i要生成的信息

在上述的Encoder-Decoder框架中,并没有引入注意力机制,它是一种注意力不集中的分心模型,我们可以看Target的生成过程:

这里y1,y2,y3使用的输入句子Source的中间表示C都是一样的,没有任何区别,C是Source通过Encoder编码产生的,这代表无论生成y1,y2还是y3,其中Source中的任何单词对目标单词yi的影响程度都是一样的。

我们在进行翻译的时候,“The animal didn’t cross the street because it was too tired”,我们需要知道“it”指代的是前面的哪个词,是指代的“animal”还是“street”,人是很容易认出“it”是指代“animal”的,但是机器不好识别,所以需要引入注意力机制,在翻译“it”的时候,同时聚焦“animal”这个词。

比如输入的是英文句子:Tom chase Jerry,Encoder-Decoder框架逐步生成中文单词:“汤姆”,“追逐”,“杰瑞”。

在翻译“杰瑞”这个中文单词的时候,分心模型里面的每个英文单词对于翻译目标单词“杰瑞”贡献是相同的,很明显这里不太合理,显然“Jerry”对于翻译成“杰瑞”更重要,但是分心模型是无法体现这一点的,这就是为何说它没有引入注意力的原因。

没有引入注意力的模型在输入句子比较短的时候问题不大,但是如果输入句子比较长,此时所有语义完全通过一个中间语义向量来表示,单词自身的信息已经消失,可想而知会丢失很多细节信息,这也是为何要引入注意力模型的重要原因。

上面的例子中,如果引入Attention模型的话,应该在翻译“杰瑞”的时候,体现出英文单词对于翻译当前中文单词不同的影响程度,比如给出类似下面一个概率分布值:

(Tom,)(Chase,) (Jerry,)

每个英文单词的概率代表了翻译当前单词“杰瑞”时,注意力分配模型分配给不同英文单词的注意力大小。

在翻译过程中生成不同的目标单词yi,需要有不同的概率分布,对应着不同的Ci。

引入注意力模型的Encoder-Decoder模型(转自)

所以在生成单词的过程变成如下形式:

在上面的汤姆杰瑞的例子中,C1,C2,C3可能是如下形式:

这里的f2函数是代表Encoder对某个单词的变换,g函数通常是加权求和,但是这些权值是怎么来的呢,总不能需要人事先定义好。

举例:RNN模型中的注意力权值的生成过程:

一般来说h1,h2,h3,和Hi-1代表了一种向量,这里的F函数可以表示点积,或者缩放点积(这是比较常用的,在后文Transformer会有详细的说明)

这里以点积为例子,h1和Hi-1做一次点积,得到一个得分s1,h2和Hi-1做一次点积得到s2,h3和Hi-1做一次点积得到s3,将三个得分传入softmax,得到三个0-1的权值,这就是注意力生成的过程。

参考:

注意力机制的基本思想和实现原理(很详细)_这里应该有一个很正经的标题的。!。!。!。!那个女孩你....-优快云博客_注意力机制

图解Transformer(完整版)_龙心尘-优快云博客_transformer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值