深度学习模型参数计算:深度学习之Attention模型详解
深度学习模型参数计算:深度学习之Attention模型详解缺点:很显然,既是并行又能全局,但他不能捕捉语序顺序。这是很糟糕的,有点像词袋模型。因为相同单词不同词序的含义会有很大差别。为了克服这个问题,作者引入了Position embedding。这是后话了。优点:采用multi-head attention为的就是让不同head学习到不同的子空间语义。显然实验也证实这种形式的结果较好。在self attention中其实在做的当前文本句中单词依赖关系分数的计算。比如“Think Machines”两个单词:
提出self attention multi-head attention
这里的self attention 指的是用到自身的信息来计算attention。传统的attention都是考虑用外部信息来计算attention。
这里采用的attention计算方式也与之前的不同,采用 Scaled Dot-Product 的形式。
注意:分母是为了归一化,避免造成进入softmax函数的饱和区,其梯度较小。
采用multi-head attention为的就是让不同head学习到不同的子空间语义。显然实验也证实这种形式的结果较好。
在self attention中其实在做的当前文本句中单词依赖关系分数的计算。
比如“Think Machines”两个单词:
优点:
- 由于self attention 是对整个文本句求attention的,所以他能抓取到当前单词和该文本句中所有单词的依赖关系强度。这方面的能力显然比RNN的获取长依赖的能力强大的多;
- 此时不在用RNN的这种串行模式,即每一步计算依赖于上一步的计算结果。因此可以像CNN一样并行处理,而CNN只能捕获局部信息,通过层叠获取全局联系增强视野。
缺点:很显然,既是并行又能全局,但他不能捕捉语序顺序。这是很糟糕的,有点像词袋模型。因为相同单词不同词序的含义会有很大差别。为了克服这个问题,作者引入了Position embedding。这是后话了。
Transform
Transform是一大法宝,影响深远。