《Self-critical Sequence Training for Image Captioning》笔记

CVPR 2017

《Self-critical Sequence Training for Image Captioning》这篇文章提出了一个新的基于强化学习的图像描述方法的目标函数,解决的传统目标函数曝光偏差的问题,流程如下所示:

《Self-critical Sequence Training for Image Captioning》笔记_第1张图片

序列生成可以看作一个强化学习的问题,生成序列的LSTM看作一个“智能体”,单词和图像特征看作“环境”,网络参数定义为“策略”,最后推测的“动作”就是预测的下一个单词。每个动作之后,智能体更新自己的内部状态。每生成一个“EOS”,智能体得到一个“奖励”,也就是生成句子的CIDEr分数,表示为r。则训练目标为最小化消极期望奖励:

其中,, 表示t时刻从模型采样的单词。在实践中,

使用REINFORCE方法计算上述目标函数的梯度:

在实践中,期望梯度可以通过使用单个蒙特卡洛抽样从中抽样近似。对于minibatch中的每个训练样例:

REINFORCE方法给出的策略可以推广到计算每个动作值相对于参考奖励或基线b的奖励:

这个基线可以是任意函数,只要不依赖于“动作”ws,因为在这种情况下,b不会改变期望梯度,同时又可以减少梯度估计的方差。对于每个训练样例,再一次用单个采样近似估计期望梯度:

根据链式法则和编码过程中注意力参数模型

其中是注意力模型中softmax函数的输入。使用带有基线b的REINFORCE算法,的梯度计算为:

SCST的核心思想是,用当前模型在测试时使用的推理算法下得到的奖励来作为REINFORCE的基线。

在这篇文章中,使用贪婪解码:

你可能感兴趣的:(论文笔记)