【简单总结】简单总结attention本质

【简单理解】简单理解Attention注意力机制本质

1.简单介绍Attention注意力机制:

Attention注意力机制其实可以用一句话说穿:它是Seq2Seq中的decoder模块对encoder模块的加权平均。

说的太简洁了不利于理解本质,接下来让我们来细细理解到底什么是Attention注意力机制吧。

2.Encoder-Decoder(Seq2Seq)框架

要了解深度学习中的注意力模型,就不得不先谈Encoder-Decoder框架,因为目前大多数注意力模型附着在Encoder-Decoder框架下。其实注意力模型可以看作一种通用的思想,本身并不依赖于特定框架,这点需要注意

Encoder-Decoder框架可以看作是一种深度学习领域的研究模式,应用场景异常广泛。上图是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示。

3. Attention原理

按照Encoder-Decoder的框架,我们的输出值y的表达式:

语义编码C是由句子Source的每个单词经过Encoder编码产生的,这意味着不论是生成哪个单词,y1y1,y2y2还是y3y3,其实句子Source中任意单词对生成某个目标单词yiyi来说影响力都是相同的,这是为何说这个模型没有体现出注意力的缘由。这类似于人类看到眼前的画面,但是眼中却没有注意焦点一样。这样不符合人类认知事物的原理。所以我们引入Attention机制。

将Source中的构成元素想象成是由一系列的(Key,Value)数据对构成,此时给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。即可以将其本质思想改写为如下公式:

补充一张细节图:

 

4. Attention具体计算过程

看到这里是不是会因为复杂的数学公式变得眼花缭乱,其实Attention的计算过程很简单,补充下图为Attention具体计算过程,仅以简单的加权平均过程辅助理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章