Heterogeneous Memory Enhanced Multimodal Attention Model for Video Question Answering

2019-04-25 21:43:11

Paperhttps://arxiv.org/pdf/1904.04357.pdf

Codehttps://github.com/fanchenyou/HME-VideoQA

1. Background and Motivation: 

用 Memory Network 做视觉问题回答并不是特别新鲜,因为 CVPR-2018 已经有很多工作,都是用这种外部记忆网络来进行知识的读取,从而更好的辅助 VQA。但是本文做的是另外一种 task,video question answer,相对来说,视频的肯定要更难一些。如何很好的根据问题,到视频中去定位相关的视频帧,从而更好的完成问题回答,是一个需要关注的问题之一。

现有的方法都尝试对视频或者问题进行 attend 处理,以得到更好的结果:

1. Jang et al. 对视频特征的空间和时间维度都进行加权处理(spato-temporal attention mechansim on both spatial and temporal dimension of video features);他们也提出用 VGG 和 C3D 来提取 appearance 和 motion feature 来更好的表达视频帧;但是他们采用前期融合的方法,然后输入到 video encoder 中,这种方式得到的效果,并不是最优的;

2. Gao et al. 提出用更先进的 co-attention mechanism 来替换掉 Jang 的前期融合的方法;但是这种方法并没有同速进行 appearance 和 motion feature 检测到的 attention;与此同时,这种方法也丢失了可以从表观和运动特征中得到的 attention;

作者认为:现有方法未能正确的识别 attention,是因为他们分开进行了特征的融合 (feature integration) 和注意力学习 (attention learning) 的步骤;为了解决这一问题,作者提出一种新的多种记忆(heterogeneous memory)来同时完成融合 appearance and motion features 以及 learning spatio-temporal attention

另外,如果 question 有非常复杂的语义信息,那么 VideoQA 就会变得异常复杂,从而需要多个步骤的推理。现有的方法都是简单的用 Memory Network 来处理这种情况,但是作者认为他们的方法太多简单,用 LSTM 或者 GRU 得到的 single feature vector 缺乏捕获问题中复杂语义的能力,如图 1 所示。所以,就需要设计一种新的模型来理解问题中复杂的语义信息。为了解决这一问题,作者提出一种新的网络结构,尝试将 question encoder 和 question memory 来互相增强question encoder 学习问题的有意义表达,然后重新设计 question memory 来理解复杂的语义,然后通过存储和更新全局内容来强调检索的物体。

此外,作者也设计了一种多模态融合层,通过对齐相关视觉内容和关键问题单词,来同时对 visual 和 question hints 进行加权处理。在逐渐优化联合 attention 之后,再将其进行加权融合,然后进行 multi-step reasoning,以从复杂的语义中进行正确答案的推理。

2. The Proposed Method: 

2.1 Video and Text Representation: 

对于 video,作者用 Resnet, VGG 和 C3D 模型来提取 appearance and motion feature, $f^a, f^m$. 然后用两支 LSTM 模型分别对 motion and appearance features 进行处理,最终放到 memory network 中进行特征融合;

对于 question,先用 Glove 300-D 得到 embedding,然后用 LSTM 对这些向量进行处理。

2.2 Heterogeneous Video Memory

与常规的 external memory network 不同,作者新设计的网络处理多个输入,包括编码的 motion feature,appearance feature;用多个 write heads 来决定内容的写入,如图 3 所示。其中的 memory slots M = [m1, m2, ... , ms] 以及 三个 hidden states $h^m, h^a$ and $h^v$。前两个 hidden state $h^m$ 和 $h^a$ 用来表示 motion 和 appearance contents,将会写入到记忆中,$h^v$ 用于存贮和输出 global context-aware feature,该特征是融合了 motion 和 appearance information 的。

 

2.3 External Question Memory

该问题记忆的目标是存贮 sequential text information,学习不同单词之间的相关性,并且尝试从全局的角度来理解问题。

2.4 Multi-modal Fusion and Reasoning :

==

论文笔记:Heterogeneous Memory Enhanced Multimodal Attention Model for Video Question Answering的更多相关文章

  1. Multimodal —— 看图说话(Image Caption)任务的论文笔记(二)引入attention机制

    在上一篇博客中介绍的论文"Show and tell"所提出的NIC模型采用的是最"简单"的encoder-decoder框架,模型上没有什么新花样,使用CNN ...

  2. 论文笔记之:Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine-Grained Recognition

    Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine-Grain ...

  3. 【论文笔记】CBAM: Convolutional Block Attention Module

    CBAM: Convolutional Block Attention Module 2018-09-14 21:52:42 Paper:http://openaccess.thecvf.com/co ...

  4. SfMLearner论文笔记——Unsupervised Learning of Depth and Ego-Motion from Video

    1. Abstract 提出了一种无监督单目深度估计和相机运动估计的框架 利用视觉合成作为监督信息,使用端到端的方式学习 网络分为两部分(严格意义上是三个) 单目深度估计 多视图姿态估计 解释性网络( ...

  5. 【NLP】Attention Model(注意力模型)学习总结

    最近一直在研究深度语义匹配算法,搭建了个模型,跑起来效果并不是很理想,在分析原因的过程中,发现注意力模型在解决这个问题上还是很有帮助的,所以花了两天研究了一下. 此文大部分参考深度学习中的注意力机制( ...

  6. Attention Model(注意力模型)思想初探

    1. Attention model简介 0x1:AM是什么 深度学习里的Attention model其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但 ...

  7. (zhuan) 自然语言处理中的Attention Model:是什么及为什么

    自然语言处理中的Attention Model:是什么及为什么 2017-07-13 张俊林 待字闺中 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model( ...

  8. [转]自然语言处理中的Attention Model:是什么及为什么

    自然语言处理中的Attention Model:是什么及为什么 https://blog.csdn.net/malefactor/article/details/50550211 /* 版权声明:可以 ...

  9. 自然语言处理中的Attention Model:是什么及为什么

    /* 版权声明:能够随意转载.转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有 ...

随机推荐

  1. css相关整理-其他

    1.设备像素(device pixel): 设备像素是物理概念,指的是设备中使用的物理像素.CSS像素(css pixel): CSS像素是Web编程的概念,指的是CSS样式代码中使用的逻辑像素.通过 ...

  2. 接口测试工具-Jmeter使用笔记(八:模拟OAuth2.0协议简化模式的请求)

    背景 博主的主要工作是测试API,目前已经用Jmeter+Jenkins实现了项目中的接口自动化测试流程.但是马上要接手的项目,API应用的是OAuth2.0协议授权,并且采用的是简化模式(impli ...

  3. git使用:本地项目推送到gitlab

    背景:目前公司用gitlab管理我们的项目,经常遇到的问题是,我会在其他已有项目上直接进行修改,然后用于新项目的自动化测试,但是本地推送到gitlab的时候每次都要重新查询一遍怎么操作,特意写下这篇文 ...

  4. [js]展开运算符

    function f(...args){ console.log(args); } f(1,2,3,4,5) [...args] = [1,2,3,4] function f(...args){ co ...

  5. 来测试下你的Java编程能力

    上篇整理了下后面准备更系统化写的Java编程进阶的思路,如果仅看里面的词,很多同学会觉得都懂,但我真心觉得没有多少人是真懂的,所以简单的想了一些题目,感兴趣的同学们可以来做做看,看看自己的Java编程 ...

  6. MATLAB关系运算符和逻辑运算符

    1 关系运算符 关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括: <  小于 <= 小于或等于 >        大于 >=      大于或等于 = ...

  7. 一个简单小技巧实现手机访问.html文件网页效果

    注册登录Github不解释 settings设置往下拉 选择一个主题上传代码文件到code 打开这个文件选择此时的网址 在网址前面加上 这段代码 http://htmlpreview.github.i ...

  8. python查询数据库返回数据

    python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymy ...

  9. linux ping: unknown host www.baidu.com

    在虚拟机中使用CentOS6.5时,ping www.baidu.com出现报错信息:“ping: unknown hostwww.baidu.com”,虚拟机和物理机网络连接是NAT方式,物理机访问 ...

  10. (.NET高级课程笔记)委托、事件总结

      1.委托的声明.实例化和调用 同样的,也可以把事务写成上面的形式 2.泛型委托---Func.Action 3.委托的意义:解耦 4.委托的意义:异步多线程 5.委托的意义:多播委托 6.观察者模 ...