Adversarial Semantic Alignment for Improved Image Captions
时间:2019 CVPR,但在Arxiv上公开的时间为2018年6月
Intro
CIDEr、BLEU、SPICE等度量缺少了对图片和caption的语义对齐的度量,为了解决多样性和自然性的问题,image captioning模型最近在基于GANs的模型上进行探索,核心思想是训练一个discriminator来检测图和caption之间的不对齐性,从而生成一个信号,而captioner可以利用这个信号来更好地对齐。由于文本生成的离散性,GAN培训仍然具有挑战性,并且通常使用强化学习技术或使用Gumbel softmax松弛来解决。
尽管当前image caption已经前进一大步,但是还有很多问题
- 建立图片和caption之间语义关系的桥梁并生成diverse、creative和human-like的caption仍然是挑战
- dataset bias,对于co-occurring目标的过拟合
- 由于文本的离散性导致基于GAN的模型难以训练的问题
- CIDEr,BLEU4等度量仍然是不够充分合理,有时甚至会产生错误引导
本文致力于解决以上的问题,本文的三个主要目标为:
- 结构和算法提升
- 自动打分度量
- 诊断数据集
Adversarial Caption Generation
本节提出captioner和discriminator模型,我们使用SCST来对discrete GAN进行优化,并将之与Gumbel trick进行比较
Compositional Captioner and Discriminator
这里介绍一个image captioning model with attention,称为context aware captioning,然后一个discriminator为图片和caption的对齐性进行打分,打分的标准基于co-attention模型
Context Aware Captioner
G
θ
G_\theta
Gθ,如图所示
我们使用一个LSTM with visual attention 和一个visual sentinel,我们喂一个混合图片和visual sentinel的特征
c
^
t
−
1
\hat{c}_{t-1}
c^t−1给LSTM来使得LSTM得到上一步的attention context信息,我们称之为Context Aware Attention,通过融合过去的信息,模型的性能从99.7CIDEr提升到了103.3
Co-attention Pooling Discriminator D
η
\eta
η,discriminator的任务是为图片和caption的相似性进行打分,以前的做法是使用late joint embedding方法,如图所示
我们使用的方法是在更早的阶段使用jointly embed image and caption,通过使用一个co-attention模型,并在attentive pooled representation上计算相似度,称为Co-attention discriminator,如图所示
Adversarial Training
Training D η D\eta Dη,discriminator不仅仅训练来区分真实的和假的,而且用来检测unpaired的图片和sentence,这使得模型不仅仅关注句子生成,且关注语义关系
Training G θ G_\theta Gθ,对于generator为了解决discrete和non-differentialble的问题,这里使用SCST的训练方法,并与Gumbel relaxation作对比
Evaluation
semantic score, 基于Canonical Correlation Analysis(CCA) retrieval model,它在COCO和SBU上进行训练,保证得到大量数据的情况下,没有dataset bias,semantic score是CCA空间中的一个cosine相似度,基于15k维的resnet101 embedding,sentence embedding使用的是Hierachical Kernel Sentence Embedding,基于word2vec
OOC
out-of-context scenes
Experiment
结论
本文的主要研究结果
- SCST对于sequence GAN的训练好过Gumbel relaxation,不论是在稳定性还是在表现上
- 建模的过程对于省工程out-of-context的结果很重要
- 提出了semantic score
问题
所谓的discrete问题究竟是什么问题
本文的OOC的提出表明了模型在一定程度上还是仅仅背诵训练集,对于一些特例情况,几乎无法识别,仅仅是按照通常的表述将其表达出来