与 《Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning》cvpr2017 是同一个作者,本文也可看做是这个工作的扩展。
Motivation:
- 在深度学习时代,典型的image caption模型采样LSTM,问题是过分依赖language model, 使得caption经常与图像内容关联不够;而在深度学习之前,典型做法是更依赖图像内容,而对language model关注不过,例如采用一系列视觉检测器检测图像内容,然后基于模板或者其他方式生成caption。作者认为应该减少对语言模型的依赖,更多地结合图像内容。
-
基本想法:采用物体检测器检测图像中的物体(visual words),然后在每个word的生成时刻,自主决定选取text word(数据集中的词汇) 还是 visual word(检测到的词汇)。
Method
- 采用bottom up attention (即region feature),学习两组word probability, 一个是text words, 一个是visual words的。
- text words概率与bottom up attention模型基本一致;visual words概率采用当前hidden state与region features的相关性学习region 权重(即attention),每个region对应一个word。
- 同时,借鉴了Adaptive attention的做法,学习了一个sentiment gate(哨兵),决定当前时刻应该采用text 还是 visual word(权重),用其对visual words的概率进行缩放。最终选取某个单词是取所有words概率的max.
- 如果选取了visual word, 那么还需要对词语进行变换使其适合当前文本上下文,比如单复数、形态等。作者考虑两种变换:单复数(如dog跟dogs)、类别的fine-grained标签(如dog可以细分为puppy等)。两种变换分别学习两个分类器实现,单复数用二分类器,fine-grained用多分类做。
损失函数:
分为两部分,如果当前词语的target是textual word,则用前半部分,若是visual word则是后半部分损失函数,要求一是region (或者说visual word)选取正确,二是词语的单复数与细类别形态分类正确。
相关工作
本文与CVPR2016 paper 《Incorporating Copying Mechanism in Image Captioning
for Learning Novel Objects》特别相似,这个文章目的是处理image caption中的集外词问题,即测试时候图像中的一个物体在数据集的图像与文本中都没有出现过。
cvpr2016这个文章是用多分类方法直接识别出图像中的物体,然后设计了个Copying Mechanism,即决定当前时刻采用LSTM还是识别的词语作为输出。
cvpr2018与cvpr2016比较,分类换成了检测,spatial attention换成了region attention。总体还是非常相似的,但解决的问题不太一样,一个是处理集外词(OOV word),一个是使得用词更加准确具体,与图像关联加深。
总结
总的来看,这个文章有点像是 Copying Mechanism,Bottom-up attention和 Adaptive attention的结合,其用词不同与过去的泛泛而谈的词语,更加准确具体,比如(dog v.s. puppy),实现了其所宣称的与图像内容关联更紧密的目标。