Hierarchical Question-Image Co-Attention for Visual Question Answering

NIPS 2016

Paper: https://arxiv.org/pdf/1606.00061.pdf

Code: https://github.com/jiasenlu/HieCoAttenVQA

Related Blog【AI前沿】机器阅读理解与问答·Dynamic Co-Attention Networks

Introduction:

  本文提出了一种新的联合图像和文本特征的协同显著性的概念,使得两个不同模态的特征可以相互引导。

  此外,作者也对输入的文本信息,从多个角度进行加权处理,构建多个不同层次的 image-question co-attention maps,即:word-level,phrase-level and question-level。

  最后,在 phrase level,我们提出一种新颖的 卷积-池化策略(convolution-pooling strategy)来自适应的选择 the phase size。

Methods

1. Notation:

  问题 Q = {q1, ... , qT},其中 qt 是第 t 个单词的特征向量。我们用 qtw, qtp, qts 分别表示 在位置 t 处的 Word embedding,phrase embedding 以及 question embedding。

  图像特征表示为 V = {v1, ... ,vN},其中,vn 是空间位置 n 处的特征向量。

  图像和问题的 co-attention features 在每一个层次,都可以表示为:v^, q^。

  不同模块和层的权重可以表示为 W。

2. Question Hierarchy:

  给定 the 1-hot encoding of the question words Q, 我们首先将单词映射到单词空间,以得到:Qw. 为了计算词汇的特征,我们采用在单词映射向量上采用 1-D 卷积。具体来说,在每一个单词位置,我们计算 the Word vectors with filters of three window sizes 的内积:unigram, bigram and trigram. 对于第 t 个单词,在窗口大小为 s 时的卷积输出为:

  

  其中,Wcs 是权重参数。单词级别的向量 Qapproximately 0-padding before feeding into bigram and trigram convolutions to maintain the length of the sequence after convolution. 给定卷积的结果,我们然后 在每一个单词位置,跨越不同的 n-grams 采用 max-pooling 以得到 phrase-level features:

   

  我们的 pooling method 不同于前人的方法,可以自适应的选择 different gram features at each time step, 并且可以保持原始序列的长度和序列。我们利用 LSTM 来编码 max-pooling 之后的 sequence 。对应的 question-level  feature 是第 t 个时间步骤的 LSTM hidden vector。

3. Co-Attention

  我们提出两种协同显著的机制(two co-attention mechanism),第一种是 parallel co-attention,同时产生 image 和 question attention。第二种是 alternating co-attention,顺序的产生 image 和 question attentions。如图2所示,这些 co-attention mechanisms 可以在所有问题等级上执行。

  Parallel Co-Attention 这种 attention 机制尝试同时对 image 和 question 进行 attend。我们通过计算 图像 和 问题特征在所有的 image-locations and question-locations 进行相似度的计算。具体来说,给定一个图像特征图 V,以及 问题的表达 Q,放射矩阵 (the affinity matrix)C 可以计算如下:

  其中,Wb 包括了权重。在计算得到 affinity matrix 之后,计算 image attention 的一种可能的方法是:simply maximize out the affinity over the locations of other modality, i.e.

  

  并非选择 the max activation,我们发现如果我们将这个 affinity matrix 看做是一个 feature,然后学习去预测 image 和 question attention maps 可以提升最终的结果:

  

  其中 Wv 和 Wq,whvwhq 是权重参数。avaq 是每一个图像区域 vn 和 单词 qt 的 attention probability。放射矩阵 C 将 question attention space 转换为 image attention space. 基于上述 attention weights,图像 和 问题 attention vectors 可以看做是 image feature 和 question feature 的加权求和:

  

  【Alternating Co-Attention】分步的协同 attention ,简单来讲,包括三个步骤:

  1)summarize the question into a single vecror q;

  2)attend to the image based on the question summary q ;

  3)attend to the question based on the attended image feature.

  

  我们定义 attention operation x^ = A(X; g),将图像特征 X 以及 从问题得到的 attention guidance g 作为输入,然后输出 the attended image vector。这些操作可以表达为:

  

  其中,空心符号1 是元素全为 1 的向量。

  

4. Encoding for Predicting Answers

  我们将 VQA 看做是一个 classification task,我们从所有的三个层次的 attended image and question features 来预测答案。我们用 MLP 来迭代的编码 the attention features:

  

Experiments:

Hierarchical Question-Image Co-Attention for Visual Question Answering的更多相关文章

  1. 论文阅读:Learning Visual Question Answering by Bootstrapping Hard Attention

    Learning Visual Question Answering by Bootstrapping Hard Attention Google DeepMind  ECCV-2018   2018 ...

  2. 论文:Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结

    Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结 笔记不能简单的抄写文中 ...

  3. Visual Question Answering with Memory-Augmented Networks

    Visual Question Answering with Memory-Augmented Networks 2018-05-15 20:15:03 Motivation: 虽然 VQA 已经取得 ...

  4. Learning Conditioned Graph Structures for Interpretable Visual Question Answering

    Learning Conditioned Graph Structures for Interpretable Visual Question Answering 2019-05-29 00:29:4 ...

  5. 【自然语言处理】--视觉问答(Visual Question Answering,VQA)从初始到应用

    一.前述 视觉问答(Visual Question Answering,VQA),是一种涉及计算机视觉和自然语言处理的学习任务.这一任务的定义如下: A VQA system takes as inp ...

  6. 论文笔记:Visual Question Answering as a Meta Learning Task

    Visual Question Answering as a Meta Learning Task ECCV 2018 2018-09-13 19:58:08 Paper: http://openac ...

  7. A Regularized Competition Model for Question Diffi culty Estimation in Community Question Answering Services-20160520

    1.Information publication:EMNLP 2014 author:Jing Liu(在前一篇sigir基础上,拓展模型的论文) 2.What 衡量CQA中问题的困难程度,提出从两 ...

  8. (zhuan) Recurrent Neural Network

    Recurrent Neural Network 2016年07月01日  Deep learning  Deep learning 字数:24235   this blog from: http:/ ...

  9. 香侬科技独家对话Facebook人工智能研究院首席科学家Devi Parikh

    Facebook 人工智能研究院(FAIR)首席科学家 Devi Parikh 是 2017 年 IJCAI 计算机和思想奖获得者(IJCAI 两个最重要的奖项之一,被誉为国际人工智能领域的「菲尔兹奖 ...

随机推荐

  1. Python 连接SQL Server数据库 - pymssql使用基础

    1.  官方api http://www.pymssql.org/en/stable/ref/pymssql.html 我学习自这里

  2. 【javascript】获取 格式化时间

    function getDate() { var myDate = new Date(); var month = myDate.getMonth() + 1; var day = myDate.ge ...

  3. Anaconda下载及安装及查看安装的Python库用法

    Anaconda下载及安装及查看安装的Python库用法 Anaconda 是一个用于科学计算的 Python 发行版,提供了包管理与环境管理的功能.Anaconda 利用 conda 来进行 pac ...

  4. CAT Caterpillar ET is really a exceptional obd2 solution

    As a excellent obd2 solutions,Heavy Duty Diagnostic CAT Caterpillar ET Diagnostic Adapter features a ...

  5. Django框架----命名URL和URL反向解析

    在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等).人们强烈希望不要硬编码这些URL(费 ...

  6. 怎样从外网访问内网Jetty?

    本地安装了一个Jetty,只能在局域网内访问,怎样从外网也能访问到本地的Jetty呢?本文将介绍具体的实现步骤. 准备工作 安装并启动Jetty 默认安装的Jetty端口是8080. 实现步骤 下载并 ...

  7. GROUP BY 和 ORDER BY 同时使用问题

    GROUP BY 和 ORDER BY一起使用时,ORDER BY要在GROUP BY的后面.

  8. 安装ubuntu18.04.1

    下载ubuntu:https://www.ubuntu.com/download/desktop 在虚拟机创建好ubuntu18.04.1后无法启动(选择的是linux,ubuntu64位),提示:此 ...

  9. Solr在Linux中的安装

    在Linux下进行安装: 我已经将压缩包放在了虚拟机下面了,然后开始进行解压缩. tar -zxvf solr-4.10.3.tar 解压完会多一个文件夹.在bin目录下会有这样的一个目录, 其中的这 ...

  10. linux+apache+nginx实现,反向代理动静分离

    在我们开发的过程中,一定会遇到,负载均衡方面的问题.下面我们,做一个小例子:使用nginx+apache实现反向代理,动静分离. 这里apache.php.nginx的安装就不做赘述了,不懂的朋友可以 ...