快捷搜索:  汽车  科技

深度学习模型参数计算:深度学习之Attention模型详解

深度学习模型参数计算:深度学习之Attention模型详解缺点:很显然,既是并行又能全局,但他不能捕捉语序顺序。这是很糟糕的,有点像词袋模型。因为相同单词不同词序的含义会有很大差别。为了克服这个问题,作者引入了Position embedding。这是后话了。优点:采用multi-head attention为的就是让不同head学习到不同的子空间语义。显然实验也证实这种形式的结果较好。在self attention中其实在做的当前文本句中单词依赖关系分数的计算。比如“Think Machines”两个单词:

提出self attention multi-head attention

这里的self attention 指的是用到自身的信息来计算attention。传统的attention都是考虑用外部信息来计算attention。

深度学习模型参数计算:深度学习之Attention模型详解(1)

这里采用的attention计算方式也与之前的不同,采用 Scaled Dot-Product 的形式。

深度学习模型参数计算:深度学习之Attention模型详解(2)

注意:分母是为了归一化,避免造成进入softmax函数的饱和区,其梯度较小。

采用multi-head attention为的就是让不同head学习到不同的子空间语义。显然实验也证实这种形式的结果较好。

深度学习模型参数计算:深度学习之Attention模型详解(3)

在self attention中其实在做的当前文本句中单词依赖关系分数的计算。

比如“Think Machines”两个单词:

深度学习模型参数计算:深度学习之Attention模型详解(4)

优点:

  1. 由于self attention 是对整个文本句求attention的,所以他能抓取到当前单词和该文本句中所有单词的依赖关系强度。这方面的能力显然比RNN的获取长依赖的能力强大的多;
  2. 此时不在用RNN的这种串行模式,即每一步计算依赖于上一步的计算结果。因此可以像CNN一样并行处理,而CNN只能捕获局部信息,通过层叠获取全局联系增强视野。

缺点:很显然,既是并行又能全局,但他不能捕捉语序顺序。这是很糟糕的,有点像词袋模型。因为相同单词不同词序的含义会有很大差别。为了克服这个问题,作者引入了Position embedding。这是后话了。

Transform

Transform是一大法宝,影响深远。

深度学习模型参数计算:深度学习之Attention模型详解(5)

猜您喜欢: