论文解读:Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge
Posted yealxxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文解读:Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge相关的知识,希望对你有一定的参考价值。
这是关于VQA问题的第十二篇系列文章。这篇论文具有很强的指导意义,本篇文章将介绍论文:主要思想;模型方法;试验细节。有兴趣可以查看原文:Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge
1,论文思想
这篇论文主要是提出一些细节上的优化提升vqa的结果。主要的细节包括如下:
- sigmoid output:在结果预测时,允许有多个答案。对每个候选答案采用sigmoid方法预测。
- use soft scores as ground truth targets:预测时采用回归预测,预测概率。而不是传统的分类。
- gated tanh activations:激活函数采用tanh
- image features from bottom-up attention:图像特征提取办法采用目标检测方法。
- pretrained representations of candidate answers:在预测答案是权重进行初始化。
- large mini-batches and smart shuffling:训练过程中batch大小和混排。
2,模型架构
这篇论文的模型也是借鉴其他论文的模型架构,主要的优化是在一些细节上。
a.Question embedding:采用GRU进行编码问题
词向量采用GloVe词向量(300维);词向量中没有的初始化为0;文本长度用14截断;GRU内部状态为512。
b.Image features:图像特征,有两种方式
- 直接用cnn:使用预训练的ImageNet,比如说,200-layer ResNet,得到772048
- bottom-up attention:使用Faster R-CNN framework提取图像中的topk目标。k可以调节,最大取100。
c.Image attention:图像的attention,当然了还可以考虑多次attention、stack等
d.Multimodal fusion:特征融合
对图像和问题的特征先进行变换,在进行对应元素相乘。
e.Output classifier:预测答案
- 对每个候选答案预测
- 目标函数:每个答案的标注也是(0,1)的soft score。
- 这样的好处:每个问题可以有多个答案;soft scores比二进制的目标具有更加丰富的信息。
f.Pretraining the classifier:修改预测答案的部分,(修改公式5的部分)
- w_o:连接了答案和特征之间的关系。这个可以使用Pretraining,可以加入candidate answers先验信息。
- 文本的先验知识:candidate answer词向量的向量矩阵
- 图像的先验知识:用Google Images检索与candidate answer相关的10 photographs,针对每个答案选10个图像。采用ResNet-101 CNN提取图像特征,对结果进行mean-pooled,这样每个答案得到2048-sized vector。得到一个向量矩阵。
- 得分计算:
g.Nonlinear layers:论文中所有的非线性变换:
3,论文的主要贡献:
- 论文很好的给出了vqa问题的指导路线。
- 论文提出很多的优化细节。
- 论文实验部分很丰富,有很多可以借鉴的地方,详细可以看原论文。
以上是关于论文解读:Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge的主要内容,如果未能解决你的问题,请参考以下文章
Person ReIDBag of Tricks and A Strong Baseline for Deep Person Re-identification 论文解读
Person ReIDBag of Tricks and A Strong Baseline for Deep Person Re-identification 论文解读
Tips and Tricks for Debugging in chrome
[转]30 ESSENTIAL PYTHON TIPS AND TRICKS FOR PROGRAMMERS