机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention

注意力机制 Attention

我们以机器翻译为例,来探究引入注意力机制Attention:

当我们使用Seq2Seq 进行机器翻译的过程中,最后的输入对结果影响响度比较大,因为Encode的输出是在尾部(图中粉红色部分)。直觉上想,一段话的翻译的的过程中,输入句子的每一个部分都可能对正在翻译的内容会有不同的影响。
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第1张图片

1. 模型定义

(1) 我们定义z与h进行match,二者先看一下模型示意图:
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第2张图片
(2) z与h进行match 产生a, 究竟Macht是什么,可以自己定义:

  • Cosine similarity of z and h
  • Small NN whose input is z and h, output a scalar

机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第3张图片
(3) 然后将不同timestep的a进行softmax, 得到c,
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第4张图片
c为Decoder 的输入
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第5张图片
(4) Attention 机制随着时间处理的示意图
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第6张图片

2. 应用场景

(1) 语音识别
不通对不同声音信号的的注意力情况,生成字母甚至空格,参考 William Chan, Navdeep Jaitly, Quoc
V. Le, Oriol Vinyals, “Listen, Attend and Spell”, ICASSP, 2016
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第7张图片
虽然结果没有查过HMM等传统的方法,但是证明attention机制的方法是可以work的
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第8张图片
(2) 看图说话 Image Caption Generation
回顾CNN,我们有很多filter,针对filter,可以加入attention机制
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第9张图片
计算出来weighted sum 输入Decoder
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第10张图片

在论文
Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhutdinov, Richard Zemel, Yoshua Bengio, “Show, Attend and Tell: Neural Image Caption Generation with Visual Attention”, ICML, 2015
中,我们可以看好很好的效果。
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第11张图片

3. 使用建议

在论文Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhutdinov, Richard Zemel, Yoshua Bengio, “Show, Attend and Tell: Neural Image Caption Generation with Visual Attention”, ICML, 2015 中针对视频使用attention机制,但是效果不佳,attention总是在某个桢的图像中,其他桢的很少,导致得出的句子很突兀。如图所示,
w2和w4都是woman。
机器学习与深度学习系列连载: 第二部分 深度学习(十九) 注意力机制 Attention_第12张图片
那什么是好的attention机制呢,这篇论文告诉我们
Good Attention: each input component has approximately the same attention weight

于是我们增加Regularization term(这个式子不固定,可以自己设定)
在这里插入图片描述
其中i是component(每一帧),t是时间


本专栏图片、公式很多来自台湾大学李弘毅老师、斯坦福大学cs229,斯坦福大学cs231n 、斯坦福大学cs224n课程。在这里,感谢这些经典课程,向他们致敬!

你可能感兴趣的:(深度学习,神经网络,深度学习)