《Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering》——2018 CVPR论文笔记

        这是一篇2018年的CVPR的论文,使用自下而上和自上而下相结合的注意力机制实现了image captioning和VQA,作者使用这个注意力模型在image captioning上取得了非常好的效果,在2017年的VQA挑战赛中也取得了冠军。

 论文链接:CVPR 2018 Open Access Repository

关联论文:Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challeng(这篇文章详细地介绍了2017年VQA挑战赛的冠军模型,对网络的架构和超参数的选择进行了大量的探索。)

        在image captioning和VQA中通常需要执行一些细粒度的操作,甚至是多步推理来生成高质量的输出,所以广泛地使用了注意力机制。

    以往的模型大都属于自上而下的类型,也就是提取问题作为输入这种方法的attention作用的图像对应于左图,没有考虑到图片的内容。对人类来说,注意力会更加集中于图片的目标或其他显著区域。因此本文作者引入了自下而上的注意力机制,如右图所示,使注意力作用于object proposal。

    本文灵感来源:在人类的视觉系统中,注意力可以由当前任务(如:寻找某物)使我们的注意力聚焦到与任务紧密相关的部分;也可以被一些显著的、突出的、新奇的事物吸引。所以这篇论文就提出了一种自下而上和自上而下相结合的注意力机制。

        这篇论文大部分篇幅在介绍image captioning,对于VQA模型的建立介绍较少,以下内容大部分来源于《Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challeng》。

        整体上来说,模型就是联合输入问题和图像的特征,然后从一组候选答案中选一个最好的(多分类任务)。具体地,模型可以分成以下这些子部分,问题嵌入、图像特征、图像注意力、多模态融合等等。

模型

Question  embedding

        这一部分的操作包括对问题进行常规的预处理,比如把句子拆成单词,转成小写等,还有截取成固定长度,这里是把一个问题截成14个词。

        然后使用一个预训练好的GloVe模型对问题进行编码,GloVe模型就是一个基于全局词频统计的词表征工具,它的作用是将一个单词表达成一个由实数组成的向量,这里使用的是在Wikipedia/Gigaword corpus语料库上训练好的模型。通过Glove后,一个问题就被编码成了一个14*300的词嵌入序列。

        最后把这个词嵌入序列通过循环门控单元GRU(512维的内部状态),取其最终状态作为的问题嵌入q。

Image feature

         对于图像特征的提取,这里使用Faster R-CNN提取图像中的K个目标,实现一个自下而上的注意力,由于图像的复杂度不同,每张图像的K也根据目标检测中的固定阈值自适应调整,但最大不超过100。提取出来的对象表示为一个K*2048的图像特征v。

Image attention

         图像注意力部分,跟其他的注意力模型差不多,是基于问题进行引导注意力,不过将其命名为了自上而下的注意力。具体实现是:对于从1到K的每个位置的图像,它的特征向量vi与问题嵌入级联,然后它们共同通过一个非线性层和一个线性层来获得一个注意力权重,然后使用softmax对这个权重进行归一化,最后将归一化的注意力赋予图像特征获得一个2048维的注意力图特征。

Multimodal fusion

         多模态融合部分,将之前得到的问题嵌入和注意力图特征分别通过一个非线性层,都转为512维,然后使用哈达玛积(矩阵中对应位置元素相乘)将它们结合起来,得到h,这个h是最后的分类器的输入。

Output classifier

        输出分类器部分。对于在训练集中出现过8次的答案,我们将其选入候选答案集合(N=3129)。然后我们可以将VQA任务转化为一个多标签分类任务。将上一步得到的联合嵌入h通过一个非线性层和一个线性层,然后通过sigmoid激活函数计算每一个候选答案的得分。(在计算损失函数时,使用软分数。)

软分数的概念

         对数据集中的每一个问题,都有10个标注者来标注答案,对一些有歧义的问题,或者答案不唯一的问题,标注者之间难免会存在一些分歧。比如右边这张图,截取了某一个问题,标注者们标注的十个答案,其中有6个标注者标注的“homeless”,还有另外4个标注者标注的其他的。这就引出了软分数的定义,对于第i个问题的第j个候选答案,如果有三个及以上的人标注的是这个答案,那么这个答案的分数为1,否则的花就是标注人数除以3。比如对于右边这个例子,homeless的分数就是1,其他的各是1/3。与之对应的就是一种二值的硬分数,标注数最多的这个答案计分为1,其他都为0。

        有了这个软分数后,模型的目的就不只是选一个最优的答案,还需要预测每一个候选答案的正确性,对应的损失函数如上式。作者认为使用软分数有两个好处,一是允许模型优化每个问题的多个答案,二是提供了比二元目标(也就是硬分数)稍微丰富的信息。 

Non-linear layers imuestion embeddingQuestion embeddingQuestion embedding

         模型中的非线性层,都使用门控双曲正切激活,如下面公式所示。其中g作为一个激活门。比较类似LSTM和GRU中的门控操作。

Training 

        训练部分,使用随机梯度下降算法,使用AdaDelta优化算法,模型容易过拟合,在训练时要early stopping,这些都比较常规。

在训练的时候,除了使用VQA v2中的数据集,还用了30%的Visual Genome数据集作为额外的训练数据。

        在使用梯度下降算法时,使每个batch中的 数据保持平衡。也就是说对于同样一个问题,要有两个不同的图片,且两张图片针对这个问题有不同的回答。作者猜想这样做能使学习更加稳定,并促使网络辨别匹配的实例之间的细微差异。

        除此之外,对于测试部分,除了使用标准的VQA准确率作为评价指标外,作者还引入了一个新的度量指标,把他称为平衡对的准确率,这里就要求对于同一个问题的两张图片都预测对了,这个样本才算预测正确。

 实验

         随后就是一系列的对比实验,来查找哪些超参数是模型性能提升的关键。

 总结

本文认为:

  • 使用更好的图像特征仍能取得更显著的收益,特别是使用自底向上的注意力;
  • 从另外的VQA数据集中能使性能提升,但性能提升的上限还不明确,但是收集更大的数据集不太可能带来重大突破;
  • 使用其他信息来源和使用非VQA的数据集很有前景。

本文猜测:
        在实验中,还使用了词袋模型替代GloVe模型对问题进行编码,词袋模型在对问题编码时不考虑单词的顺序,最终达到的性能跟考虑单词顺序的GloVe相比差不多,那么这说明:①单词的顺序可能传达不了太多的信息;②模型仍然无法理解和有效使用语言结构。

本文提倡:
        本文提出了一种更严格的性能指标,这项指标要求对于同一问题的两张图像都需要回答正确,作者认为这项指标能反映模型视觉理解和分辨图像之间细微差别的能力。estion embedding

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 自我批评序列训练是一种用于图像字幕生成的技术。它通过在训练期间对生成的字幕进行自我批评,以改进模型的性能。该方法使用了一种称为“自我注意力”的技术,它允许模型在生成字幕时关注先前生成的单词,从而提高生成的质量。自我批评序列训练已被证明是一种有效的技术,可以在各种图像字幕生成任务中提高模型的性能。 ### 回答2: Self-critical sequence training(SCST)是一种图像标注模型的训练方法,它通过对模型输出的错误进行自我评估来提高图像标注的精度。SCST是一种监督式学习方法,它通过与基础模型进行有针对性的反馈,来提高模型的输出结果。 在SCST中,模型首先生成一个单词序列,然后通过自我评估方法计算序列的损失函数。模型会将自己生成的序列与参考答案进行比较,并根据两者之间的差异来调整自己的参数。如果模型生成的序列与参考答案相似度高,则可以认为模型输出的结果是正确的,模型会将该序列的损失函数作为最终的目标值进行优化。 SCST的另一个优点是它可以生成更加准确的图像标注。在传统的图像标注方法中,模型在标注一张图片时会依靠之前标注的其他图片的信息,但是这种方法的精度往往会受到前一个标注结果的影响。而SCST在每个输入图像上独立进行标注,每一步只考虑当前序列的损失函数,从而减少标注过程中的误差。 总的来说,SCST是一种有效的图像标注训练方法,它能够通过自我评估来优化模型,同时生成更加准确的图像标注。 ### 回答3: “自我批评顺序训练”是一种用于图像描述的深度学习技术。该技术的主要目的是提高用计算机生成图像描述的质量和准确性。 在传统的图像描述方法中,计算机通过“编码-解码”系统生成描述。首先将图像输入编码器,然后将编码结果传入解码器,最后给出相应的描述。但是这种方法很难准确地给出正确的图像描述,特别是对于长句描述来说。 为了解决这个问题,研究人员提出了自我批评顺序训练技术,该技术的基本思想是通过与人工生成描述的对比来训练模型。具体来说,这个技术包括三个关键步骤: 1. 生成描述。计算机将图像输入到编码器,然后用解码器生成一个最初的描述并提交给人工审核。 2. 人工批评。人工将计算机生成的描述与自己生成的描述进行比较,然后给出分数。 3. 重新训练。计算机接收到人工评分后,采取相应的操作来调整自己的模型。然后再进行描述生成,直到达到最终的分数为止。 通过这种方法训练的计算机模型,可以显著提高图像描述的准确度和质量。在使用这种技术进行研究时,研究人员还发现,自我批评顺序训练能减少过拟合现象的发生。因为它强制计算机与人类对比,从而避免了学习到过多的训练数据和模型参数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值