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

简介: 目前Attention Model已经被用到了机器视觉,自然语言理解,语音识别,机器翻译等等各行各业。各种各样的Attention Model也被各种Task使用。如何增强Attention Model的推理能力、在使用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
本文作者:专知
本文来自云栖社区合作伙伴“专知”,了解相关信息可以关注“专知”。

相关文章
|
canal Kubernetes 关系型数据库
【K8S系列】深入解析k8s网络插件—Canal
【K8S系列】深入解析k8s网络插件—Canal
2896 0
|
存储 Kubernetes 关系型数据库
在Kubernetes中,helm是什么?如何使用?
【4月更文挑战第9天】在Kubernetes中,helm是什么?如何使用?
1089 5
|
Java C++ Spring
解决NoUniqueBeanDefinitionException异常的方法
了解Spring框架中`NoUniqueBeanDefinitionException`异常的原因和解决方案。此异常发生在容器内有多个相同类型的bean时,Spring无法决定注入哪个bean。解决方法包括:使用`@Primary`注解标记首选bean,利用`@Qualifier`注解配合`@Autowired`、`@Resource`、`@Inject`或`@Value`指定bean名称。选择哪种方法取决于业务需求和具体场景,预防措施是避免创建多个同类型bean或使用`@Primary`注解。
446 0
|
SQL 监控 数据可视化
RMS 分布式链路追踪产品揭秘
背景为了快速适应业务变化,聚焦业务迭代,各大厂商都进行了分布式架构的升级改造。特别是近几年,随着微服务与云原生的流行,分布式系统的规模愈发庞大,内部服务之间的调用也越来越复杂。然而,引入分布式架构的同时,也带来相应的稳定性问题。各项服务的开发人员、开发语言和部署节点等情况很可能各不相同,当分布式系统整体出现异常或者性能瓶颈的时候,依靠传统的指标监控和日志排查已经很难快速定位到出问题的地方。因此当下
2034 0
RMS 分布式链路追踪产品揭秘
|
11月前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
295 3
|
存储 缓存 NoSQL
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
|
NoSQL 关系型数据库 MySQL
主备切换大揭秘:保证系统永不停机的秘密
本文由小米分享,介绍了分布式系统中的主备切换机制,旨在确保高可用性和可靠性。内容涵盖热备和冷备的概念,以及MySQL和Redis的主从复制原理和配置方法。通过主从复制,当主服务器故障时,备服务器能接管工作,维持服务连续性。文章还讨论了主备切换的挑战,如数据一致性与切换延迟,并提出了相应的解决方案。最后,作者鼓励读者就该主题提出疑问和建议。
1055 4
|
关系型数据库 MySQL 大数据
MySQL分区与分表:优化性能与提升可扩展性
本文深入探讨了MySQL数据库中的分区与分表策略,通过详细的代码示例,解释了分区的概念与用途、不同的分区类型以及创建分区表的步骤。同时,文章还介绍了分表的概念、策略和实际操作方法,以代码演示展示了如何创建分表、插入数据以及查询数据。分区和分表作为优化数据库性能和提升可扩展性的关键手段,通过本文的阐述,读者将能够深入了解如何根据数据特点选择合适的分区方式,以及如何灵活地处理大量数据,提高查询和维护效率。这些技术将为数据库设计和优化提供有力支持,确保在大数据场景下能够高效地管理和查询数据。
2508 0
|
JSON JavaScript 数据格式
jwt-auth插件实现了基于JWT(JSON Web Tokens)进行认证鉴权的功能
jwt-auth插件实现了基于JWT(JSON Web Tokens)进行认证鉴权的功能
337 1