Unsupervised Image Captioning

Unsupervised Image Captioning

原文地址

时间:2019 CVPR

Tencent AI Lab

Intro

普遍的Image caption方法使用的是成对的数据,本文率先采用了无监督模式训练image caption模型,使用的数据不包括任何image-sentence pair

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

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

Approach

无监督方法需要图片集合 I \mathcal{I} I,句子集合 S \mathcal{S} S以及一个视觉概念检测器

The Model

模型整体如图所示
在这里插入图片描述
整个模型包括一个image encoder,sentence generator和一个sentence discriminator组成

Encoder,首先,CNN将图片进行encode
在这里插入图片描述
Generator,LSTM作为g
enerator,将图片表示decode为caption

在这里插入图片描述
Discriminator,discriminator也由LSTM构成,它用来区分真实的和生成的句子
在这里插入图片描述
其中 q t q_t qt表示根据前 t t t个词,discriminator判断它为真实句子的概率

Training

Adversarial Caption Generation

我们通过reward来引导generator的学习,第 t t t个词的reward为
在这里插入图片描述
通过最大化reward,generator便可以学到如何生成句子,相应的对抗损失定义为:
在这里插入图片描述
其中 q t ^ \hat{q_t} qt^是真实句子的概率输出值,真实句子长度为 l l l

Visual Concept Distillation

reward仅仅让模型按照语法规则生成句子,但可能与图片无关,为了让二者相关,captioning model必须学会识别图片中的visual concepts,然后将它和生成的句子融合在一起,对于一张图片 I I I,visual concept detector输出一系列的concepts以及置信度:
C = ( c 1 , v 1 ) , . . . , ( c N c , v N c ) \mathcal{C}={(c_1,v_1),...,(c_{N_c},v_{N_c})} C=(c1,v1),...,(cNc,vNc),其中 c c c是检测到的concept, N c N_c Nc是总共的concept数量,赋予第t个生成词的concept reward为:
在这里插入图片描述

Bi-directional Image -Sentence Reconstruction

有了adversarial training和concept reward,captioning的质量就被visual concept detector决定了,因为它是图片和caption连接的唯一桥梁,为了使模型生成语义上更加丰富的句子,我们将图片和句子映射到了同一个隐藏空间中,使得它们可以用来相互重构,最后生成的caption会与图片在语义上一致
在这里插入图片描述
Image Reconstruction
generator根据图片生成一个句子,这个句子包括了图片的大意,因此,我们可以从句子中重建图片,这促使句子和图片的语义信息更一致,然而重建一张包括多个物体的图片是非常困难的,因此我们仅仅重建图片特征,而非整张图片,如上图中(a)所示,discriminator可以视作sentence encoder,discriminator的最后有一个全连接层,它将隐藏状态 h n d h^d_n hnd投影到句子和图片公共的隐藏空间中:
在这里插入图片描述
其中, x ′ x' x可以视作从生成的句子中重建的图像特征,因此,定义重建误差为
在这里插入图片描述
因此image reconstruction reward可以定义为
在这里插入图片描述
sentence reconstruction
如上图(b)所示,discriminator可以将一个句子编码并映射到隐藏空间中,然后generator重建句子,这个过程除了在隐藏空间中对其句子和图片外,还能学习到如何从图片的特征中解码得到句子,目标函数如下
在这里插入图片描述

Integration

我们的模型综合考虑上述的三个目标,对于generator,因为word sampling是不可微的,我们使用策略梯度方法,通过joint reward来估计梯度,除了策略梯度外,句子重建误差也提供了梯度,这两个梯度一起更新generator,对于discriminator,则使用对抗误差和图像重建误差的梯度更新

初始化

即便规定了目标,我们的模型也很难从头训练,因此我们提出了一个初始化的pipeline来预训练generator和discriminator

考虑generator,我们想为每幅图片生成一个伪caption来初始化image captioning model。
第一步,我们先建立一个concept字典,其中包括OpenImage dataset中的所有目标类;
第二步,我们使用sentence corpus训练一个concept-to-sentence(con2sen)的模型,给定一个sentence,我使用一个一层的LSTM来编码concept words到sentence中以得到一个特征向量,然后使用另一个一层的LSTM decoder来decode这个特征得到一整句话;
第三步,我们使用已有的concept detector来检测每幅图片包括的concept,利用检测到的concept和concept-to-sentence模型,我们可以为每幅图片生成一个伪caption;
第四步,我们使用这些pseudo image caption pair训练一个generator.

考虑discriminator,参数通过训练一个对抗句子生成模型来初始化

实验结果

在这里插入图片描述

结论

本文首创地提出了无监督的image caption训练模式,通过鼓励模型生成与corpse中相似的句子,并引入从图像中检测到的物体的信息,加上在隐藏空间中图像和句子的特征对齐实现。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值