image caption:Unsupervised image caption

论文链接:https://arxiv.org/pdf/1811.10787.pdf

1. Introduction

本文提出的方法有三个目标:

  1. 训练语言模型,根据一个给定的图像特征,生成一个句子,判别器无法判别这是由模型产生的还是在语料库当中,也就是一个对抗生成的过程
  2. 为了让1生成的句子符合图片的语义,添加一个目标检测器,当生成的句子中包含检测到的物体给一个奖励。
  3. 为了产生的描述比较准确,图像和句子被投射到一个共同的潜在空间。给定一个投影图像特征,我们可以解码一个描述,这可以进一步用于重建图像特征。同样,我们可以将一个句子从语料库编码到潜在的空间特征,然后重建句子。通过对生成的句子进行双向重构,使得生成的句子能够很好地表达图像的语义,进而改进了图像字幕模型。

本文的贡献主要有以下四点:

  1. 率先使用了无监督方法来进行image caption
  2. 提出了三个训练image captioning model的目标
  3. 提出了在无标签数据上的初始化pipeline
  4. 在网上爬取了2百万个句子,最终的生成结果效果很好

2. Unsupervised Image Caption

2.1 整体网络结构

在这里插入图片描述
整体来看分三个部分

  1. Image Encoder:一个特征提取的过程
  2. Generator:对应对抗生成网络的生成器,通过输入的图像特征生成描述句子的自然语言。
  3. Discriminator:对应对抗生成网络的判别器,要区分这句话是不是来自语料库,我们目的是让判别器无法判断输入的句子是否来自语料库,并不需要判断这句话是否和图像内容有关。

经过这三步,可以得到一个语句通顺的句子,但是无法判定是否和图片内容有关,于是想了两个办法,目的是生成的句子更加符合图片内容。

2.1.1 Visual Concept Distillation

这部分通过一个目标检测器来检测出图片中的物体,这里成为,当通过generator生成句子的时候,如果包含图中物体对应的单词,那么对这个单词添加一个奖励值,对于一个输入图片 I I I,每个物体的特征向量对应一个奖励值 C = { ( c 1 , v 1 ) , ⋯   , ( c N c , v N c ) } C=\{(c_1,v_1),\cdots,(c_{N_c},v_{N_c})\} C={(c1,v1),,(cNc,vNc)} N c N_c Nc代表一共有这些个物体,那么t时刻单词的奖励值为
r t c = ∑ i = 1 N c I ( s t = c i ) ∗ v i r^c_t=\sum\limits_{i=1}^{N_c}I(s_t=c_i)*v_i rtc=i=1NcI(st=ci)vi

2.1.2 latent space

在这里插入图片描述

  1. Image Reconstruction
    作者认为,一幅图片中的语义时很丰富的,如果只利用检测出的物体,会缺失很多图片中的语义,因此,作者提出了这样的做法,
    特征向量 x − 1 x_{-1} x1——句子——生成的特征向量 x ′ x^{'} x
    也就是说通过句子生成一个特征向量,然后计算损失值 L i m = ∣ ∣ x − 1 − x ′ ∣ ∣ 2 2 L_im=||x_{-1}-x^{'}||^2_2 Lim=x1x22,通过计算这个损失值,会让句子尽可生成和 x − 1 x_{-1} x1相同的 x ′ x{'} x,也就达到了丰富语义的目的

  2. Sentence Reconstruction
    同样的,如图3 (b)所示,鉴别器可以对一个句子进行编码,并将其投射到公共潜在空间中,该潜在空间可以看作是与给定句子相关的一个图像表示。生成器可以根据得到的表示重建句子。这种句子重构过程也可以看作是一个句子去噪的自动编码器。除了在潜在空间中对齐图像和句子外,它还学习了如何从公共空间中的图像表示来解码句子。为了对输入的句子进行可靠、鲁棒的重构,我们在输入的句子中加入了跟随[26]的噪声。将句子重构的目标定义为句子的串句性损失:
    在这里插入图片描述

2.2 初始化

因为这是无监督学习,提出一个初始化流程来预训练生成器和判别器。给每个图片生成一个描述:

  1. 首先建立一个concept 字典(也就是图片中可能有的物体)
  2. 然后训练一个concept-to-sentence(con2sen)模型,这部分只使用语料库,并没有用到图片。
  3. 通过目标检测技术找出图中的concept,然后利用2得到的con2sen模型生成句子。

3.总结

本文提出的想法很好,因为深度学习的东西数据非常重要,然而目前获得数据的成本太高,因此如果可以解决数据问题,那对推进image caption的落地会有很大的推动作用。
当然本文也有不足:

  1. 很明显,这样复杂的网络结构对硬件的要求肯定相对较高
  2. 时间问题,生成句子的速度肯定相对较慢,这对现实应用会有影响
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值