注意力机制的提出主要是在处理NLP问题的过程中提出来的,当前在图像领域也渐渐得到广泛应用。

深度学习的注意力机制

使用pre-trained CNN网络生成状态h,将h进行解码,利用注意机制,图像首先被分成n个部分,并且我们使用每个部分h_1,...,h_n的卷积神经网络(CNN)表示来计算。当RNN生成新单词时,注意机制关注于图像的相关部分,因此解码器仅使用图像的特定部分。

深度学习的注意力机制

上图是对图像进行标注时我们可以看到标题的每个单词用于生成图像的哪个部分(白色)

注意力模式

深度学习的注意力机制

该模型取n个参数,y1,..,yn,加上1个context c参数。返回向量z,即yi的输出,即返回yi的加权平均值并根据c中yi的相关性选择权重。

在NLP的问题中,context c就是要处理的句子,y_i是图像部分的表示(h_i),输出是过滤图像的表示。

深度学习的注意力机制

深度学习的注意力机制

深度学习的注意力机制

深度学习的注意力机制

深度学习的注意力机制

深度学习的注意力机制

si为权值

深度学习的注意力机制

上述为soft attention,其可以嵌入进现有的系统

与soft attention不同的是 hard attention所使用的输入并非网络生成的所有状态,还是按照一定概率分布对所有状态进行采样作为输入,为了在网络中传递梯度,通过蒙特卡洛方式进行取样来估计梯度。

深度学习的注意力机制

hard attention 示意图

最后的输出结果时y1...yn中按照一定概率si选出其中的输出来得到结果。

两种方法各有优劣,但是目前仍然是soft attention更受关注,因为其梯度可以直接计算。而在hard attention机制中由于过程涉及随机,其梯度需要估计,因此不够准确。

下图是attention机制在图像标注中的应用

 

深度学习的注意力机制

soft attention在图像标注中的应用

通过hi作为context 选择图像中的相关部分,其中hi是LSTM的隐藏层状态。attention model 的输出zi,用于表示在filter之后的图片,该图片只留下相关的部分,用于LSTM的输入,然后LSTM输出预测的第i+1个结果。

 

この文章は下のリンクから転載して自分の理解を含めて作ったんです。本来の内容をご覧になりたいなら、書かれたリンクに移動してください。オリジナルじゃないですので、作者に心から感謝します。

Attention Mechanism​blog.heuritech.com深度学习的注意力机制

相关文章: