一、文章概况
文章题目:《Image-Question-Answer Synergistic Network for Visual Dialog》
文章第三作者是Dacheng Tao,又是陶老师指导的一篇文章,上一篇精读的是MirrorGAN(也是CVPR2019的文章)。这篇文章作者三人也是做VQA的,他们的另一篇近期文章《Graph Reasoning Networks for Visual Question Answering》是19年7月份刚投的文章,感觉做VQA的话可以关注一下他们组。
文章下载链接:[1]https://arxiv.org/abs/1902.09774
[2]http://openaccess.thecvf.com/content_CVPR_2019/papers/Guo_Image-Question-Answer_Synergistic_Network_for_Visual_Dialog_CVPR_2019_paper.pdf
文章引用格式:D. Guo, C. Xu, D. Tao. "Image-Question-Answer Synergistic Network for Visual Dialog." In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019
项目地址:暂时没有
二、文章导读
近期读的文章都比较新,网上也没什么解读。
先放上文章的摘要部分内容:
The image, question (combined with the history for dereferencing), and the corresponding answer are three vital components of visual dialog. Classical visual dialog systems integrate the image, question, and history to search for or generate the best matched answer, and so, this approach significantly ignores the role of the answer. In this paper, we devise a novel image-question-answer synergistic network to value the role of the answer for precise visual dialog. We extend the traditional one-stage solution to a two-stage solution. In the first stage, candidate answers are coarsely scored according to their relevance to the image and question pair. Afterward, in the second stage, answers with high probability of being correct are re-ranked by synergizing with image and question. On the Visual Dialog v1.0 dataset, the proposed synergistic network boosts the discriminative visual dialog model to achieve a new state-of-the-art of 57.88% normalized discounted cumulative gain. A generative visual dialog model equipped with the proposed technique also shows promising improvements.
视觉对话(visual dialog)的三个关键模块即问题,答案和图像。传统的视觉对话系统整合了图像,问题,查询历史来最好的匹配答案,这种方法很明显的忽视了答案的作用。因此这篇文章,作者设计了一个新的image-question-answer协同网络( image-question-answer synergistic network),该网络对答案评估以准确进行视觉对话。该模型对传统的one-stage解决方案扩展到two-stage解决方案。首先第一阶段(first stage),根据QA和图像的关联性对候选答案进行粗略评分,之后的第二阶段(second stage),通过图像和问题的协同作用(synergizing),对答案按照正确概率的高低进行重新排序。该模型在 Visual Dialog v1.0 数据集上表现出了较好的效果。
三、文章详细介绍
一个传统的视觉对话系统如下所示:
一个视觉对话可以看做:
(1)visual grounding(视觉基础):将bounding boxes内的视觉信息转化为人类语言
(2)visual question answering (VQA)
(3)image captioning(看图说话)
一般一个视觉对话模型可以由两部分构成:编码器(将输入嵌入成向量)和解码器(将解码的向量转换为答案的单词或者对候选答案进行排序)。根据解码器,视觉对话可以分成两类模型:生成模型和判别模型。生成模型大多使用seq2seq或者更高级的强化学习来生成答案(一般是单词),而判别模型则是计算候选答案和模型输出之间的相似度(通过LSTM能够理解句子)。
为了在视觉对话中突出“答案”的作用,以及它与其他成分(图像,问题)的组合,作者提出了image-question-answering协同网络(image-question-answer synergistic network)。该模型是一个two-stage模型,分别称为primary stage和synergistic stage,primary stage会为每个候选答案进行粗略评分,synergistic stage会基于一些准则而计算每个答案与图像协同的相关性的概率,如下图所示:
这个过程与现实中人类的经验一直,人类首先都会排除明显错误的答案,然后从剩下的答案中再进行比较,找到最有可能是正确的那个。另外,作者还在模型中解决了第一阶段中类别不平衡问题(class imbalance problem),例如大量负样本会影响loss函数,因此作者引入了一个temperature factor以改进loss函数。
最后,作者基于Visual Dialog v1.0数据集对模型进行了评估。相较于一般的没有修正loss的non-balanced model,第一阶段的loss-balanced判别模型的MRR(mean reciprocal rank)大约提高了0.71%,第二阶段MRR又提高了0.91%。模型在Visual Dialog Challenge 2018上的得分为57.88%NDCG(normalized discounted cumulative gain)。
1. 相关工作
Visual Question Answering (VQA):VQA大多采用的分类的思想,这就将答案限制在了数据集所出现的答案当中。现有模型大概可以分为3类:早期融合模型(early fusion models),后期融合模型(later fusion models),外部基于知识的模型(external knowledge-based models)。
Visual Dialog:视觉对话是对VQA进行了扩展,将单轮问答扩展到多轮问答。目前的数据集问答内容包括颜色,数字,关系等。作为baseline的编码器主要有3种方法:后期融合(late fusion),分层循环编码器(hierarchical recurrent encoder),以及记忆网络(the memory network);解码器主要有两种方法:LSTM和softmax。
2. 协同网络(Synergistic Network)
整个网路哟模型结构如下图所示,可以很清楚的看到两个阶段(two-stage):
在第一阶段primary stage,使用co-attention module来学习问题,图像,对话历史的表示向量;这里先引入一个概念hard samples和easy samples,hard samples是指和正确答案非常接近难以区分的样本,而easy samples则指非常容易与正确答案区分的样本,然后要做的是计算每一个候选答案的得分, 并将候选答案分为难以区分的hard samples和容易区分的easy samples。在第二阶段synergistic stage,将hard answers和他们的问题组成QA pairs,这些pairs再配合图像和历史问答来预测他们的分数。
接下来就是模型中的数学推导部分:
假定输入图像I和标题C,得到的历史问答集合为H,在第t轮的时候,模型根据问题
,给出了答案集合
中每一个答案
的得分。对于图像信息的处理,采用Faster-RCNN model来提取图像特征,并编码成
,其中每个元素就是图像中的一个目标。问题
是一系列单词,可以用LSTM进行编码。在第t轮之前的t-1轮,历史问答H连接着正确答案和问题,之后再使用LSTM来提取H中的信息,记录为U。
第一阶段Primary Stage:该阶段采用的是encoder-decoder结构,编码器encoder包含两个任务:一是如何在多轮对话记录中去参考(de-reference)(比如代词,98%的对话都包含代词),二是如何在当前的问题中定位图像中相应的目标。解决这个问题的常用思路就是注意力机制,这里作者用到了MFB(multi-modal factorized bilinear pooling,多模态分解双线性池化),它能解决两个不同特征之间的差异。相较于其他双线性模型(MLB, MCB),MFB能够提供更多的表示(representation),在MFB中,两个特征之间的融合通过下式计算:
有时,Y表示的是一个多通道输入,上式又可以变为:
利用MFB学习问题和历史的统一向量,记为
。
之后再学习注意力权重和向量:
最后再根据
学习视觉特征和文本表示。
解码器先对每一个答案
编码为
,再使用LSTM计算每一个答案的浮点分数:
正确答案的得分应该是要比其他得分高的,所以这里作者使用了N-pair loss来衡量这个得分误差。100个候选答案中的大部分都是easy samples,所以这个loss并没有学到一些有用的信号,为了解决这个不平衡性,引入一个“温度”参数
来修改Loss:
式中,
≤1,如果一个候选答案比真实答案得分低,那么分数中的分子项就会小于0,那么这个答案就会减少它对loss的贡献,反之亦然。
第二阶段Synergistic Stage:在第一阶段中,由于某些评分机制的限制,会导致一些错误答案获得高分,因此在这个阶段中,答案会配合问题和图像重新排序。所以第一阶段的主要任务就是筛选hard answers和easy answers,经过第一阶段的筛选,大概有90%的正确答案都会在top-10的候选答案中。
考虑到单独的答案有时候会引起歧义,因此这一步必须要配合问题来做。作者将问题连接在答案后面,再用LSTM对QA pair进行编码得到一个向量:
另外,历史问答可以作为问题的补充,如果用
表示问题向量,用
表示历史问答,那么图像注意力就可以根据这两个参数计算出来:
与第一阶段类似,由图像,问题,问答历史,我们可以得到答案向量表示的融合嵌入:
。
这个嵌入可以用来计算得分:
我们将这个阶段视为一个分类问题,最终答案的计算可以根据下式:
3. 生成网络的扩展
基于GAN的思想,在第一阶段,除了使用判别模型,生成模型也能够计算得分。如果我们知道图像,问题和历史问答在第t轮的向量,解码器可以将向量解译为答案和概率:
这里的概率也就是答案的得分,如下图:
对于每一个单词,它的概率计算:
为了使得第一阶段中的得分尽可能的高,我们需要最大化条件概率。因此,损失函数就是每一步中正确单词的负对数似然求和:
4. 实验
最后是文章的实验部分。数据集作者使用了Visual Dialog v1.0,里面的图像有12万张来自COCO-trainval数据集,每一张图片都有一个标题和10轮对话。对话中的每一个问题,都有100个候选答案,其中包含了50个相似问题的答案,30个常见答案,1个正确答案和其他的随机答案。测试数据是1万张来自Flickr的图片。
评价指标用MRR和NDCG:
作者将自己的判别模型(discriminative model)与其他的baselines进行比较,包括:Later Fusion (LF),Hierarchical Recurrent Encoder (HRE),Memory Network (MN),MN-att和 LF-att,下面给出作者的实验结果:
接着作者进行了简化研究(Ablation Study),重点放在模型中的一些参数细节上,比如温度参数
的取值从1到0.25:
最后是Qualitative Analysis部分,作者给出了判别模型的效果图:
另外还给出了生成模型的示意图:
四、小结
1. 作者进行模型评价的两个指标:MRR和NDCG都是搜索中常用的评价指标。