本周对利用深度学习方法解决 Image Caption 问题做了一些研究,读了几篇论文,总结如下。
总体来说,目前深度学习领域 Image Caption 的方法仍主要是 Encoder-Decoder。基于此,attention 机制的引入较为显著地提升了性能。更进一步地, Adaptive Attention 在2016年11月放到 arXiv 时(已被2017CVPR接收了),实现了 state-of-the-art 的效果。目前在 COCO 上的排名也十分可观。
本文基于这个思路介绍下最近关于 Image Caption 的几篇深度学习论文。
1. Encoder-Decoder
Encoder-Decoder 最早是在机器翻译领域引入的。因为原始 RNN 结构中,要求输入序列和输出序列严格等长,而机器翻译任务中源语句与目的语句往往不等长,因此引入了 Encoder-Decoder 结构解决了这一问题,基本结构如下:
Encoder 部分将完整输入“编码”成为
,然后输入 Decoder “解码”生成目标向量
,由此避免了不等长的问题。具体见[3]。
2. m-RNN
2014年10月,百度研究院的Junhua Mao和Wei Xu等人在arXiv上发布论文《Explain Images with Multimodal Recurrent Neural Networks》,提出了multimodal Recurrent Neural Network(即m-RNN),创造性地将 CNN 和 RNN 结合起来,用于解决图像标注和图像语句检索等问题。
本文开创性地将深度学习方法用于解决 Image Caption 问题,并取得了不错的效果,以至于到目前为止,很多该领域论文仍将 m-RNN 作为一个 baseline。论文中作者也不吝啬地说:To the best of our knowledge, this is the first work that incorporates the Recurrent Neural Network in a deep multimodal architecture.
m-RNN 模型结构如下:
2.1 结构说明input word 通过两个word embedding层,生成稠密向量表示
,
同时被传递给 RNN 和 Multimodal。
RNN 所做变换为
, 其中
是 t 时刻循环层激活数据。
右侧绿框中,输入图像经过 CNN 生成特征向量
,
与 一并输入multimodal。multimodal 所做变换是
输入 softmax 层生成概率矩阵。至此,由input word 产生了一个 next word 。
可以看出,m-RNN 也是 Encoder-Decoder 结构。
2.2 代价函数
基于困惑度(perplexity),可以看出
实际上是一个正则化项。
2.3 语句生成步骤
模型以一个特殊的开始符号或者任意个参考单词做开始,计算下一个单词的概率分布