【CVPR2018】如何增强Attention Model的推理能力

目前Attention Model已经被用到了机器视觉,自然语言理解,语音识别,机器翻译等等各行各业。各种各样的Attention Model也被各种Task使用。如何增强Attention Model的推理能力、在使用Attention Model的时候提升模型性能,成为了一个关键的问题。在本文中,我们介绍一种在CVPR 2018大会提出的方法,可以通过极为简单的改进有效的提升Attention Model的性能。

论文题目:Stacked Latent Attention for Multimodal Reasoning

image

什么是Attention Model

首先我们用下图的例子简单的重温Attention Model:

image

给定Hidden State,Attention Model可以学到对输入(图示中为图像)Tensor最相关的Mask,并使用Mask对输入Tensor进行加权和,并将加权和后得到的Content Vector作为Attention Model的输出。换而言之,Attention Model可以学到给定输入中最重要的部分,从而对输入进行“总结”。

增强Attention Model的性能的方法——Stacked Attention Model

接下来我们介绍一种非常常用的增强Attention Model的性能的方法:Stacked Attention Model。顾名思义,就是简单的拼接(Stack)多个Attention Model,将前一个AttentionModel的输出作为下一个Attention Model的输入。具体实现如下图所示:

image

在今年刚刚召开的CVPR大会中,研究者对这种常用的增强Attention Model的方法进行了探索,提出了上图中方法的缺陷,并通过极为简单的改进有效地增强了Attention Model的推理性能:

image

研究者发现,在Attention Model“总结”输入Tensor的同时,造成了信息瓶颈(Information Bottleneck),该信息瓶颈会导致模型性能下降。同时因Attention Model的SoftMax集中在Pathway上而造成了梯度弥散,进而导致在使用多层Attention Model时模型难以优化(Optimize)。

研究者提出,通过简单将多层Attention Model的隐变量(Latent State)连接(Concat)起来(上图绿色虚线),就可以解决信息瓶颈和梯度弥散问题。如上图所示,在没有绿色虚线的情况下,模型仅仅将多层Attention Model叠加起来,此方法不但1)在每两个Attention Model之间造成了信息瓶颈,同时2)因主要Pathway中有多个SoftMax,而造成梯度弥散。

文章提出,仅仅通过增加上图中的绿色虚线,将前一层Attention Model中的隐变量(LatentState) 连接(Concat)到下一个Attention Model中,就可以1)打破信息瓶颈,同时2)通过提供了新的Pathway避开原Pathway中的多个SoftMax,从而缓解梯度弥散,进而3)提升模型性能。

image

实验表明,当将多层Attention Models的隐变量连接起来,随着简单增加所连接的Attention Model的数量,整体模型性能得到了显著的提升。同时梯度弥散问题得到了明显的缓解:

image

该文章的更多细节可以参考:
http://openaccess.thecvf.com/content_cvpr_2018/papers/Fan_Stacked_Latent_Attention_CVPR_2018_paper.pdf

原文发布时间为:2018-07-02
本文作者:专知
本文来自云栖社区合作伙伴“专知”,了解相关信息可以关注“专知”。

猜你喜欢

转载自yq.aliyun.com/articles/604563
今日推荐