虽然是两年前的一篇论文了,但AK留给大家以供学习的代码依然广为流传(neuraltalk,neuraltalk2)感谢AK大神对我们这些newbie们铺的路。。但怎么能只会使用不懂原理呢?查了一下发现网上对这篇论文的解释却十分鲜有。虽然说文章中特别有新意的地方个人感觉确实也不是很多,但思路还是蛮清晰的,有很大的启发意义,也是值得一读。下面跟大家分享一下我对这篇文章的理解以及自己的一些想法吧~如有不对,请多指正!
注:只对文章整体流程以及部分重点内容进行摘要理解,并不是文章翻译。 Our approach leverages datasets of images and their sentence descriptions to learn about the inter-modal correspondences between language and visual data. 摘要第二句话就宏观的概括了全文。与最早期的m-RNN等模型相比,本文要leverage每张训练图片和对应的标注,并找出它们的对应关系。听起来感觉好厉害的样子哦!确实没错,我们以前看到的标注都是简短的句子直接描述了一整幅图片的大体信息,对图片中的细节信息,比如包含的物体、动作等都基本上直接忽略,是直接从图像层面进行caption。但是这和我们理解图像时候的直观感受不一样啊,我们都是要先看图像中有什么,在做什么,才最终搞懂了他们在干什么。本文即从object detection出发,进行的image caption工作,let’s go!
Introduction部分有提到现在的模型对于标注数据依赖的太厉害了,生成多样化描述的语句是十分困难啊,那我们就要解决这个问题。先是将标注数据中的单词和图片中的具体物品相对应,把粒度做的更细;然后提出multi-model RNN来进行图片标注。
Model部分首先是要将标注片段和图像中位置对应,然后基于此建立模型,进行训练,对新图片进行标注。首先,文章跟随R-CNN的方法进行region proposal和feature extraction,使用的是VGGNet。找出概率最大的19个Bounding Box,再加上原图一共20个regions,然后对于每一个标注中的单词寻找最匹配的region,完事儿。具体来说,现将每个region放进CNN并经将flattend feature maps过仿射变换得到固定的h-D vector;再将每个单词embedding后经过Bidirectional-RNN联系上下文得到h-D vector。然后一一遍历配对每个单词和region进行评分,评分函数如下图(表示看到region和word vector可以直接这么操作结合的时候惊呆了): Loss function(十分SVM有木有): 十分想请教一下,这里面Skk是啥意思?
整体概念图:
因为一个region对应一个word当然不行啊,而且word会毫无规律地分给region们,这样跑出来看不懂啊。于是又使用了MRF进行进一步的修正,使得每一个region可以对应一小句解释。
Loss function都有了,当然就可以进行训练啦,非常简单易懂的RNN,不多解释啦,值得注意的是,这里将图片输入RNN的时候是在公式中作为一个Bias项输入进去的,和其他模型有点不同。具体细节看图看公式看文章吧~
接下来说了一通此模型怎么怎么好,得分怎么怎么高,超过别的模型多少多少这些每篇论文里基本上都有的话。。看到这我纳闷儿了,按理说应该是可以一幅图片出一句话解释的,出了这么多就结束了?感觉没完啊。回头一想,人家开头都说了,这是本模型最大的闪光点,而且题目就是Deep Visual-Semantic Alignments,也对啊。
等等,文章好像并没有完。 在最后,文章终于说了一幅图片出一句标注的方式,最普通的CNN+RNN,称之为full image experiments…好吧竟然是为了证明这个模型也可以生成一句完整的标注并且效果还不错哦。但是后面了,对全图进行标注会出现很多训练集中已经出现的词组,又是开头提到的多样化描述的问题。但是呢,如果按照前面说的步骤,对region进行提取和评分,那BLEU等score都会好得多。
在结尾部分,文章还提出了自己模型的局限性: 1、输入RNN的input demention固定了,可能会损失一些信息。 2、通过bias输入图像可能太简单了。 3、模型不是end-to-end的,操作起来太复杂。
总体来说,我认为在CNN上也可进在做改进,虽然说用的VGG已经比较好了,但是这毕竟是纯CV的特征,image caption是由sematic relation的,如果是在输入时就可以结合region或者是SPP或者是一些其他的特征融合之类的改进,或许会更好。类似本文说的,对region的解释确实更好,那对解释完的region以及标注进一步处理会不会能生成更丰富多彩包含细节的整体图像描述呢?我们拭目以待。