【论文笔记】Deep Visual-Semantic Alignments for Generating Image Descriptions

目录

论文信息

一、前言

二、论文工作

三、模型一:多模态对齐模型

四、模型二:多模态描述生成模型

五、总结


论文信息

本blog用于记录读论文《Deep Visual-Semantic Alignments for Generating Image Descriptions》的一些理解,如有错误,欢迎指出。

论文地址:https://arxiv.org/abs/1412.2306

论文时间:2015年

论文代码:无


一、前言

        本人是在阅读多模态相关任务时阅读到这篇文章的,最初主要想了解其图像与文本这两个模态之间的对齐操作。在阅读完这篇文章后,对其整体的脉络也有了初步的把握。本人才疏学浅,本文不纠结于公式细节(也没有源码),重点在于讲清楚作者做了什么工作。


二、论文工作

作者这篇文章具体做了两个工作:

        1.提出一个多模态对齐模型alignment model

        2.提出了一个多模态描述生成模型Multimodal Recurrent Neural Network

        虽然最初读这篇是奔着他的对齐模型来的,但读完也会好奇论文的整体脉络。论文是先做好第一个多模态对齐模型(第一个工作)后,获得了很多图像的“精细”标注,再将这些“精细“标注用于训练最终的描述生成模型(第二个工作)。

        这里的”精细“标注指的不是标注质量高,而是对生成模型来说,我得到的标注由原先的一张图片与一段描述的pair对,变成了一张图片中,多个bounding box与多段文字描述的pair对。

        两个模型结合后,最终可以输出单张图片中对多个bounding box的描述(细粒度预测),而输入仅需要图片与描述的pair对(粗粒度标注),因此属于弱监督学习中的”不确切监督“(三种弱监督类型:不完全监督、不确切监督、不精确监督)


三、模型一:多模态对齐模型

        图像模态:通过预训练的RCNN网络检测出N个框(论文中N=20,包括19个检测框与整图),对20个框中的图像通过常规的CNN提取出N个特征。

        文本模态:假设图像的描述是长度为L的一段文本,将其进行embeding后,通过双向RNN提取出L个特征。

        对齐方式:一个图像文本的pair中每个文本特征(L个)均与其中检测框的特征(N个)计算相似度(点乘),相似度最高的图像特征作为该文本特征的匹配特征。

        具体地,在论文公式中,在一张图像k与一段文本l的匹配分数S_{kl}的计算中,对于文本l中的每一个文本特征s_{t},计算其与图像k中所有区域特征v_{i}的相似度,并取最大值。取最大值后将所有文本特征的分数进行累加,得到图像k与文本l的匹配分数S_{kl}

        对齐方式论文图片举的例子也比较清楚了,图像模态部分,三个图像区域(包括整图)提取出三个图像特征;文本模态部分,5个word通过BRNN提取特征后与图像特征计算相似度矩阵(颜色越浅代表相似度越高),取出其中相似度最高作为分数,最终求和获得匹配分数S_{kl}

        相似度分数(损失):

        在讲损失计算前,先说明比较不容易理解的两个符号含义,当初在读到这里的时候与实验室小伙伴研究了好一会:

        S_{kk}:当k=l时,代表一个batch中选取的图像与文本是匹配的pair ,其匹配分数为S_{kk}

        S_{kl}:当k\neq l时,代表一个batch中选取的图像与文本是不匹配的pair,其匹配分数为S_{kl}

        损失的计算采用了边缘损失(margin loss)的方法,如在第一项rank images中,优化目标是要拉高S_{kk},降低S_{kl},使得匹配的图像文本对分数尽可能高,不匹配的图像文本对的分数尽量低。当S_{kk}-S_{kl}>1时停止优化,可以防止网络的过拟合。

        损失函数第二项rank sentence相比rank images,相当于把文本特征与图像特征地位交换了一下,为每个图像特征匹配一个文本特征,相当于在上图的相似度矩阵中按行取max求和计算匹配分数。

        这里也是整篇文章的精髓所在,由于图像文本pair的匹配分数S_{kk}S_{kl}是由图像中的每个区域与word的相似度分数构成的,因此在损失函数优化图像文本pair整体时,实际上也优化了每个区域与word 的匹配(你要让S_{kk}大,那你的每个区域与word匹配要尽可能准确才行),通过这种方式,网络能自发地从粗粒度标注中挖掘细粒度的信息。

        马尔可夫随机场(MRF):我们希望最终一个图片对应的应该是一段文本,而不是单个孤立的word。因此在推理时,我们会希望相邻的多个word能对应图片中同个区域,而不是使用贪心解码仅取每个word相似度分数最高的区域与其匹配。作者在相似度矩阵中,通过最大化能量函数的方式选取路径,并通过超参\beta控制对连续的单词匹配同一个bounding box的鼓励程度。

        由公式可以看出,公式的第一项相当于贪心解码,若能量函数仅包含第一项,最终每个word的匹配将会是其相似度分数最高的区域;公式的第二项引入了额外的控制,当第j个word对应的图像区域\alpha _{j}与j+1个word对应的图片区域\alpha _{j+1}相同时,即a_{j}=a_{j+1},每出现一个相同,E(a)值将增大一个\beta


四、模型二:多模态描述生成模型

        图像特征:简单的CNN特征提取(后全连接或直接高度压到维度上形成一条向量),图像若是整图则生成全图描述,若是检测框则生成小图的描述。

        描述文本生成:采用RNN形式生成文本特征。最开始初始化全0的START向量作为输入x,并以图像特征作为h_{0 }(虽然文章公式与这里有点出入,但实际上就是这么个意思),输入RNN(或LSTM)中,获得零时刻输出y_{0}h_{1 }。将y_{0}经embeding后作为x_{1},与h_{1 }再一次送入得到y_{1}h_{2}。循环直至解码至终止符或预设的最大长度。

        训练时,将不以上一时刻输出y_{0}y_{1}...作为输入x_{1}x_{2}...,而是直接使用标注描述作为输入。


五、总结

1.弱监督的方式具有意义,通过模型生成更”精细"的标注,节省人工标注成本,提高了模型性能。

2.通过将图像与文本pair的匹配分数分解为区域与word的相似度,实现了弱监督。

3.对齐方式为简单的点乘计算相似度。

4.生成的“精细”标注不一定具有很高质量,且整个方法本质上算是扩充了数据集(原先一个图片描述pair,生成后N个图像描述pair)。此后的预训练模型(clip)直接从网络中采集海量的图像描述pair(不好说哪个的质量高,但我数量多.jpg)替代了这一步生成。

5.对齐没有进行额外监督,纯让网络自己判断,可能你认为cat应该对齐到图片中的猫,但网络可能把cat对齐到网络中的无意义图像块(取决于数据分布)。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值