2017 VQA Challenge 第一名技术报告

本文讲的是2017 VQA Challenge 第一名技术报告

1. 前言

之前听 Chris Manning 讲过一个 talk,说他们复现别人的 paper,按照别人的算法写,做到了比原本那篇 paper 高了 10 个点的结果。还有听认识的同学说,有一年因为算法的 performance 不够好论文被拒了,第二年重新回过去跑那个代码,随便调了调,performance 就比当时他们提交的时候高了很多。

我们做玄学的,好的 idea 固然重要,然而一个好的 idea 可能带来的效果的提升还不如一个好的 trick。当然啦,最好的是 trick 又有效,而且也有一个好的故事。

所以,这里推荐今年 VQA Challenge 的一篇技术报告,名字叫:

Tips and Tricks for Visual Question Answering

从名字就可以看出来,这篇文章没有任何新颖的 idea,完全就是工程上的脏活累活,但是将作者试的所有结构都列举了出来,并做了详细的 ablation study。

虽然这篇文章中只讨论了在 VQA 上的 performance,但是可能这些 trick 也能用到其他多模态的问题上。就算不能用,这篇文章至少也告诉了你,你有哪些东西可以调。

大家可以把这篇稿子当作一篇翻译稿,我自己也不是做 VQA,所以有些东西可能不是很精准,所以我就按照论文里怎么说怎么来,我就不多做评论了。

论文地址:https://arxiv.org/abs/1708.02711

PPT(作者获奖后做的报告):
http://cs.adelaide.edu.au/~Damien/Research/VQA-Challenge-Slides-TeneyAnderson.pdf

2. VQA 背景

VQA 全称是 visual question answering。形式是给一个图片和一个关于这张图片的问题,输出一个答案。

VQA 的挑战之处在于,这是一个多模态的问题,你需要同时了解文字和图片,并进行推理,来得到最后的答案(如果需要用到 common sense 常识的话就更困难了)。类似的多模态的问题有 image captioning,visual dialog 等等。

3. 数据集

大家比较常用的数据集就是 VQA 这个数据集,来自 Gatech 和微软;他们在去年发布了第一个版本。由于这个数据集很新,所以还存在一些问题:你可以用简单的通过死记硬背来回答对很多问题,获得 ok 的效果。比如说 yes/no 问题,如果永远回答 yes,你就能答对大部分。所以这个数据集的答案有一定先验,不是很平衡。

今年,他们在去年的基础上,采集了新的数据,发布了 VQA-v2 的版本,这个版本比之前的版本又大了一倍。一共有 650000 的问题答案对,涉及 120000 幅不同的图片。

这个新的数据库主要解决了答案不平衡的问题。对于同一个问题,他们保证,有两张不同的图片,使得他们对这个问题的答案是不同的。

在新的 VQA-v2 中,对于 yes/no 问题,yes 和 no 的回答是五五开。

4. VQA 基本建模方法

首先把 VQA 问题看作分类问题。由于 VQA 数据集中的问题大多跟图片内容有关,所以其实可能的正确答案的个数非常有限,大概在几百到几千个。

一般来说,会根据训练数据集中答案出现的次数,设定一个阈值,只保留出现过一定次数的答案,作为答案的候选选项。然后把这些候选答案当作不同的标签,这样的话 VQA 就可以当作一个分类问题。

其次是使用 Joint embedding 方法。就是对于一张图片,一个问题,我们分别对图片和问题用神经网络进行 embed,把他们投影到一个共同的“语义”空间中,然后对图片和问题特征进行一些操作(比如连接,逐元素相乘啊等等),最后输入进一个分类网络;

根据训练集的数据 end-to-end 训练整个网络。

以下为本文的整体框架:

简而言之,这是一个 joint RNN/CNN embedding 模型,加上一个简单的问题对图片的注意力机制。

5. 本文使用的一些 trick 汇总:

· 把 VQA 看成多类别分类(mutli-label clasification)问题,而不是多选一;

· 使用 soft score 作为 label;

· 使用 gated tanh 作为非线性层的 activation;

· 使用了 bottom-up 的图片特征;

· 用预训练的特征对最后的分类网络进行初始化;

· 训练时使用大 mini-batch,并在 sample 训练数据时使用均衡的 sample 方法。

从最简单的开始介绍:

· 非线性层

文章里全部是用了gated tanh 作为非线性层。

本质上就是原来的 tanh 激励上根据获得的 gate 进行了 mask,其实是跟 LSTM 和 GRU 中间非线性用的是一样的。

本文中,作者将该层与 tanh 和 ReLU 进行了比较,gated tanh 能获得更好的结果。但是本文没有尝试 Gated CNN 文章中用到的 Gated Linear Layer 进行比较(在 Gated CNN 中,GLU 要比 GTU 更好)。

· 多类别分类

在 VQA-v2 数据集中,由于数据采集自不同的 turker,所以同一张图片同一个问题可能会有多个答案。在数据集中,每个答案都有 0 到 1 的 accuracy。

基于这样的事实,本文并没有像其他论文一样做多选一的分类问题,而是转换成了 multi-label 分类问题。原本的 softmax 层被改为了 sigmoid 层。因此,最后的网络输出给了每个答案一个 0-1 的分数。

由于每个答案的 accuracy 是 0-1,所以本文使用了 soft target score。其中,$s$ 是 ground truth,$\hat s$ 是网络的输出。

这个公式和普通的二值分类的 binary cross entropy 非常像。事实上,如果 ground truth accuracy 是 0 或者 1 的话,这个公式就等价于 binary cross entropy。

虽然在预处理时,我们根据答案的出现次数滤掉了一些不常见的答案,但是我们仍然会使用这一部分数据,只是认为这个问题所有候选答案的 accuracy 都是 0。

看成多类别分类效果更好的原因有二:首先,sigmoid output 能够对有多个答案的数据进行训练;其次,soft target score 提供了更丰富的训练信号。

· 分类网络初始化

由于分类网络最后一层是个全连接层,所以最后每个答案的分数就是图片特征和问题特征与网络权重的点积。所以我们可以把最后一层全连接层权重的每一行都是每个答案的特征,这样最后的分数其实就是图片特征和问题特征与答案特征的相似度。

所以 $w_o^\text{text}$ 的每一行通过答案的 glove feature 进行初始化。对 $w_o^\text{img}$,他们使用了 google images。对每个答案,在 google 上进行了搜索,挑选了 10个 最相关的图片,计算了 10 张图片 resnet feature 的平均值,用它做了 $w_o^\text{img}$ 每一行初始化的值。

· 大 minibatch 和均衡 sample

本文他们尝试了多种 minbatch size 的可能,他们发现,256, 384,512 作为 batch size 效果都不错,比更多数据或者更少的数据要更好。

均衡 sample 的设计来源于 vqa v2 本身的特性。由于每个问题,都可以找到不同的答案,所以这里作者强制在同一个 batch 中,每个问题都要出现两次,并且问题的答案需要是不同的。

· bottom-up image feature

这部分的内容来源于他们另外一篇 paper:

https://arxiv.org/abs/1707.07998

这个 trick 是结果提升最大的来源,本质上,这里他们使用了一种更强的图片特征,所以获得了最好的结果提升。那篇文章中他们将这图像特征也用在了 capitoning,获得了当时 leaderboard 的第一名。

具体方法是,他们用 visual genome 训练了一个 Faster RCNN,每张图片的 feature 就是图片中 top-K 物体的 feature。他们尝试了对每张图片固定 K 的值,和根据一个阈值来选择物体(每张图片可以有不同的 K)。

跟普通的 resnet 的区别在于,这里他们是直接对 object 做 attention,而不是图片中每个方块区域进行 attention。从直观的理解来说,这样的 attention 更加有解释性。

注意的是,这里 cnn 没有进行 finetune,每张图片的 feature 都是事先已经提取好的了。

这部分在 Visual Genome 上训练 Faster RCNN 的代码已经公布在 github:

https://github.com/peteanderson80/bottom-up-attention

这几改进对结果的影响可以在此表中展现,可以看到每移除一项变化对结果的影响。

6. 其余模型细节

文本处理

对于问题,每个问题通过空格和标点分割成一个一个单词,包括数字组成的单词也全部当作单独的一个独立的单词。句子被截断到最多 14 个单词(因为只有 0.25% 的问题长度大于 14),每个词的 embedding 长度设为 300。

用 wikipedia/gigaword 上训练的 pretrained glove 特征进行初始化,长度小于 14 的句子填补全 0 特征,word embeedding 送入一个 forward-GRU,hidden size 为 512。他们使用 final state 作为 feature。

他们的句子中没有包含 start 和 end token,也没有 dynamic unrolling,每个句子在提取特征的时候都看作长度 14 的句子。他们发现 recurrent unit 跑相同的 iteration 更加有效(文章中并没有给出这个部分的 ablation study,笔者:这个其实还挺不常见的) 。

他们也比较了其他算法:比如说使用不同大小的 word embedding,embedding 随机初始化,逆序 GRU,双向 GRU,两层 GRU,词包模型;其中单层顺序 GRU,300 维 glove 初始化比其他尝试都要好(实际上词包模型效果十分接近,这跟 IBOWIMG 的发现是差不多的)。

RNN hidden size

他们也试了不同大小的 hidden state size,最后选用了 512,虽然更大的 hidden state size 有可能获得更好的结果,但是训练多次的结果 variance 也会更大。

图像特征的 l2 norm

文中声称图像特征最好根据 l2 norm 归一化。虽然文中也没有给出不归一化的结果进行比较,但这跟笔者在类似问题上的经验是一致的。

注意力机制

基本上这个注意力机制和其他的差不多:将 sentence embeeding $q$ 连接到到每个 location 的 image feature,然后通过一个 MLP 获得每个 location 的分值,然后再通过一个 softmax 获得 attention map,然后以后的 visual feature 就是每一个 location 的 feature 的加权平均。

这篇文章仅使用了这个最简单的注意力机制,并没有与其他更 fancy 的模型进行比较。

Multimodal fusion

这篇文章的 fusion 简单到爆炸,就是先对视觉特征和文本特征通过一个非线性层,然后进行一个 hadamard product,就是逐元素相乘。他们和 concatenation 比较效果要更好(并没有在文章中的表格中体现)。但他们没有尝试其他的 fusion 方式。

这次 vqa 的并列第二名都是对 fusion 层进行改进,包括其实很多最近其他做 vqa 的论文也都是在这个地方改来改去,所以可能如果换成那些效果会更好。

Ensemble

Ensemble 对于结果的提升也是非常大的,下图表现了 Ensemble 的个数对结果的影响。

额外的训练数据

他们同时也使用了 visual genome 中的 qa 数据。他们只保留了 visual genome 中答案在候选答案中的问题对作为训练数据。这对结果有一定的提高(但非常微小)。

如果把答案不在候选答案中的问题,看成全 0 的 label 的话,反而会导致更差的结果。

更难的 evaluation metric

他们不但使用了 VQA 标准的 accruacy 作为 evaluation metric,他们还使用了 Accuracy over pairs。这是平衡问题对(也就是同样问题,不同答案)都回答准确的比例。他们最后在甄选模型的时候很大程度地考虑了这个新的 metric。

7. 总结

修炼玄学的悲欢,我们这些努力不简单。

时间: 2024-08-30 14:56:41

2017 VQA Challenge 第一名技术报告的相关文章

Teradata天睿公司获评大数据分析领域第一名技术领导者

ZD至顶网CIO与应用频道 02月07日 北京消息:Teradata天睿公司(Teradata Corporation,纽交所:TDC)宣布,在国际数据管理分析机构The Information Difference最新年度数据仓库市场格局(Big Data Warehouse Landscape)报告中,Teradata被评选为技术领导者(Technology Leader).根据该机构对全球前25家数据仓库厂商的评估,Teradata在技术和客户满意度两项评选中排名第一,而在市场表现评选中位

【视觉目标跟踪最高峰】VOT Challenge 2017 亚军北邮团队技术分享(附代码)

视觉跟踪领域国际顶级赛事 Visual-Object-Tracking Challenge (VOT) 2017年结果出炉,结合传统滤波及深度学习的方案取得最佳成绩.本文是第二名北京邮电大学代表团队的技术分享.他们基于滤波的框架,抛弃传统特征,只使用CNN特征,减少了特征冗余,缓解了模型过拟合,使追踪器在速度和精度上都有不小的提高.代码分享链接:https://github.com/he010103/CFWCR.git 随着深度学习在计算机视觉方面大放异彩,近几年物体追踪也得到了飞速的发展.物体

海尔连续十二年获企业技术中心评价第一名

在经济高速发展的今天,无论是产品还是品牌,其更新换代的周期都在不断缩短,而一个企业能够始终立于不败之地的精髓就在于"创新"二字,产品技术的创新.管理机制的创新.人才培育模式的创新......自主创新能力逐渐成为一个企业能否得到消费者认可以及能否引领行业发展的重要评定标准.近日,国家发展和改革委员会公布了2013年国家认定企业技术中心评价结果,该结果按照各企业技术中心的综合评价分数高低排列,其中海尔集团技术中心以综合评价97.2分的总成绩位居第一名.国家认定企业技术中心主要是对国民经济主

2017年网络犯罪现状分析报告

本文讲的是2017年网络犯罪现状分析报告,尽管今年的安全事件平均数量同比下降了,但是造成损失或损害的事件数量却增多了,因为攻击事件而受损的公司比例也随之增加.   概述 过去一年,对企业安全团队来说一定是分外艰辛的一年.类似Petya和NotPetya这样的攻击表明,攻击的影响规模正在显著增加.最近,由某些政府开发的恶意软件和囤积的漏洞信息泄露,赋予了网络犯罪分子更强的攻击能力.IT行业正在通过发布安全补丁和更新程序,努力跟上对手的脚步.而像物联网等新技术的应用又为安全团队制造了层出不穷的新型漏

《2017泰雷兹数据威胁报告》:安全支出决策易使敏感数据受到攻击

关键信息系统.网络安全和数据安全领域领导者泰雷兹与分析师机构451 Research联合发布<2017泰雷兹数据威胁报告>.这是泰雷兹连续第五年发布此报告.报告对来自全球各大型企业的1100名资深IT安全高管进行了调研,涉及汽车.教育.能源.工程.联邦政府.医疗卫生.IT.零售和电信等行业. 本次调研数据基于对澳大利亚.巴西.德国.日本.英国和美国的1105名高管的网络和电话访谈.这些受访者大多都对其所在企业的IT决策具有重大影响力,或是唯一决策人. 报告称68%的受访者遭遇过安全漏洞,26%

IDC:曙光斩获2015年中国NAS网络存储上半年第一名

    据9月发布的最新IDC数据报告(2015H1)显示,2015上半年全球存储市场营收较去年同期略有下降,录得2.2%的跌幅:泛太平洋亚洲和日本地区迎来3.3%的增长.针对中国存储市场的报告显示,EMC.NetApp等传统跨国公司供应商的市场份额均有所下降,而国产存储供应商普遍表现抢眼.其中,曙光公司的NAS存储斩获2015年的半程冠军. 此前,曙光NAS存储已连续四年位列国内市场国产品牌第一位,但在包括EMC.NetApp等MNCs在内的所有存储品牌中崭露头角,还是第一次.此外,这也是国产

海尔占市场近三成的份额跃居销售量和销售额第一名

8月底,国家统计局中国行业企业信息发布中心发布了<2012年上半年中国空调行业市场竞争态势报告>(以下简称<报告>).报告对2012年1-7月国内空调市场的销售情况及品牌竞争态势进行了梳理分析.其中有数据显示,在国内经济减速,国际市场消费不振的大环境作用下,空调市场整体呈现负增长,在已经过去的7个月里,同比销量下降了9.32%,销售额更是同比下降了4.96%.而从品牌竞争情况来看,一线品牌中海尔表现最为突出,以11.49%的增长率成为了行业增长幅度最大的品类.同时,<报告&g

《2017泰雷兹数据威胁报告》:安全支出决策使敏感数据容易受到攻击

"当前,企业不可避免地面临着越发复杂的安全威胁.云计算.大数据.物联网和Docker技术兴起的现世界,需要强大的IT安全策略来保护所有形式的数据,无论是静态数据.动态数据还是使用中的数据.企业需要投资加密等从设计着手保护隐私的防御机制,从而保护有价值的数据和知识产权,并将安全视为一种业务驱动力,以促进数字技术的发展,并建立与合作伙伴和客户之间的互信." --Laurent Guyot(顾乐涵),泰雷兹北亚区副总裁兼中国区总裁 关键信息系统.网络安全和数据安全领域领导者泰雷兹与分析师机构

2017年数据库漏洞安全威胁报告(附完整版下载)

安华金和长期致力于帮助客户应对数据库安全领域的威胁.为了提高数据库用户的安全意识,快速反馈最新数据库漏洞被利用方向,安华金和数据库攻防实验室(DBSec Labs)最新发布<2017年数据库漏洞安全威胁报告>,该报告用于快速跟踪及反馈数据库安全的发展态势. (如需获取完整版报告文档,请至文末查看) 2017年数据库安全形势综述 当今,云计算.大数据.AI被认为是有望改变世界的"三剑客",将深入影响甚至支撑未来人类文明发展的方方面面,而数据是支撑这些前沿技术存在与发展的生产资