Look Back and Predict Forward in Image Captioning

Look Back and Predict Forward in Image Captioning

原文地址

时间:2019 CVPR

Intro

一般的attention方法单纯地使用上一个词的隐层状态来进行attention加权来得到下一个隐层状态,这种attention机制忽略了相邻词的视觉相关性,比如"a blue bike"其实是三个词表示一个物体

exposure bias的问题

为了解决这两个问题,我们提出 Look Back and Predict Forward method(LBPF),包括Look Back和Predict Forward两个部分

Method

首先,得到图片特征 V = { v 1 , v 2 , . . . , v k } , v i ∈ R D V=\{v_1,v_2,...,v_k\},v_i\in R^D V={v1,v2,...,vk},viRD,使用它们的平均 v ˉ \bar{v} vˉ作为全局信息,然后使用LBPF模型作为decoder,本文的模型是基于Bottom-Up and Top-Down Attention模型的,整个模型如图所示
在这里插入图片描述

Look Back Model

给定 k k k个空间特征向量 V = { v 1 , . . . , v k } ∈ R D × k V=\{v_1,...,v_k\}\in R^{D\times k} V={v1,...,vk}RD×k以及当前的隐藏状态 h t ∈ R d h_t\in R^d htRd,传统的注意力机制计算加权向量为
在这里插入图片描述
一般,加权向量最终和 h t h_t ht连接起来预测下一个词,然而attention的区域应当有视觉的连贯性,且能够为之后的time step提供信息,因此我们提出了Look Back方法,来将之前的attention考虑进来,如图所示
在这里插入图片描述
我们使用之前的attention和隐藏状态concat起来,来计算之后的
在这里插入图片描述
H t H_t Ht为concat的结果,具体的,加权向量和attention向量计算为
在这里插入图片描述
在这里插入图片描述
我们仅仅使用了 a t t t − 1 att_{t-1} attt1而没有让梯度往前传,因为这会使得模型过于复杂且难以收敛

Predict Forward Model

通常的序列生成方法中,当前的word embedding将被喂给RNN然后来生成下一个词,使得 y t + 1 y_{t+1} yt+1严重依赖于 y t y_{t} yt,在测试时可能导致错误的累积(exposure bias),因此我们提出了Predict Forward方法,来在一步中预测 y t + 1 y_{t+1} yt+1 y t + 2 y_{t+2} yt+2,如图所示
在这里插入图片描述
记attention function为 f a t t f_{att} fatt,LSTM2为 F 2 F_2 F2,则
在这里插入图片描述
在这里插入图片描述
因为 h t 2 h^2_t ht2能直接预测 y t + 1 y_{t+1} yt+1,所以我们认为它是 y t + 1 y_{t+1} yt+1的一个特殊的embedding,从而能够预测下一个词,于是, h t 2 h_t^2 ht2继续通过Att和LSTM2得到 h t 3 h^3_t ht3
在这里插入图片描述
在这里插入图片描述
损失函数计算为
在这里插入图片描述
然后利用两者的和来计算最终预测的词
在这里插入图片描述
这样 y t + 1 y_{t+1} yt+1就不会严重依赖 y t y_{t} yt,从而减小累积错误

为了和SoTA结果进行比较,我们同时采用了SCST的训练方法,具体的是,对于一步预测的结果使用强化学习训练,对于两步学习的结果,以第一步学习的结果为标签计算交叉熵损失

Experiments

在这里插入图片描述
在这里插入图片描述

Conclusion

本文提出了Look Back来利用之前的attention信息,以及Predict Forward来预测以后的词,其动机来源于object与seq的一对多关系以及attention与seq的一对一关系的矛盾性

Idea

  • 生成词的时候是一个一个生成,那可以是一个一个object短语来生成吗?
  • 对于整幅图的caption来说,图片的各个proposal和caption本质上属于unpaired的数据,可以借鉴2019CVPR的几篇论文
  • 本文告诉我们能提供信息的地方就能建立起连接
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值