深度学习与图神经网络核心技术实践应用高级研修班-Day1注意力机制(Attention)

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习与图神经网络核心技术实践应用高级研修班-Day1注意力机制(Attention)相关的知识,希望对你有一定的参考价值。

1. Attention注意力

Attention:

从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。

2. Encoder-Decoder框架


3. Attention的本质

Attention机制:

将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。



Attention机制本质:对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。

Attention机制也可视为:一种软寻址(Soft Addressing)

Source可以看作存储器内存储的内容,元素由地址Key和值Value组成,当前有个Key=Query的查询,目的是取出存储器中对应的Value值,即Attention数值。

通过Query和存储器内元素Key的地址进行相似性比较来寻址。软寻址是指的不像一般寻址只从存储内容里面找出一条内容,而是可能从每个Key地址都会取出内容,取出内容的重要性根据Query和Key的相似性来决定,之后对Value进行加权求和,这样就可以取出最终的Value值,即Attention值。

Attention机制的具体计算过程:

根据Query和Key计算权重系数(阶段一和二)

第一个阶段:根据Query和Key计算两者的相似性或者相关性;

第二个阶段:对第一阶段的原始分值进行归一化处理;

第三个阶段:根据权重系数对Value进行加权求和.

4. Self Attention模型

Self Attention,又称为intra Attention(内部Attention)

最近获得广泛的使用,如Google最新的机器翻译模型内部大量采用了SelfAttention模型。

Transformer模型

Self Attention在同一个英语句子内单词间产生的联系

Self Attention可以捕获同一个句子中单词之间的一些句法特征(如图中展示有一定距离的短语结构)


Self Attention可以捕获同一个句子中单词之间的语义特征(如图中展示its的指代对象Law)。

引入Self Attention更容易捕获句子中长距离的相互依赖的特征。

  • 如果是RNN或者LSTM,需要依次序序列计算,对于远距离的相互依赖的特征,要经过若干时间步步骤的信息累积才能将两者联系起来,而距离越远,有效捕获的可能性越小。
  • Self Attention在计算过程中会直接将句子中任意两个单词的联系通过一个计算步骤直接联系起来,所以远距离依赖特征之间的距离被极大缩短,有利于有效地利用这些特征。

Self Attention对于增加计算的并行性也有直接帮助作用。

长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。在标准RNN中,这个重复的结构模块只有一个非常简单的结构,例如一个tanh层。

LSTM更多应用请参考【NLP】循环神经网络实现情感分类


加油!

感谢!

努力!

以上是关于深度学习与图神经网络核心技术实践应用高级研修班-Day1注意力机制(Attention)的主要内容,如果未能解决你的问题,请参考以下文章

深度学习与图神经网络核心技术实践应用高级研修班-Day3迁移学习(Transfer Learning)

深度学习与图神经网络核心技术实践应用高级研修班-Day1典型深度神经网络模型

深度学习与图神经网络核心技术实践应用高级研修班-Day1Tensorflow和Pytorch

深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发

深度学习与图神经网络核心技术实践应用高级研修班-Day1受限波尔兹曼机和深度信念网络

深度学习与图神经网络核心技术实践应用高级研修班-Day4深度强化学习(Deep Q-learning)