admin管理员组文章数量:1530517
Self-critical Sequence Training for Image Captioning是IBM研究团队在CVPR 2017上发表的一篇论文,主要介绍了一种基于self-critical思想的强化学习方法来训练序列生成模型。
论文背景
该论文的背景与上周介绍的Sequence Level Training with Recurrent Neural Networks一文相似,后者为解决主流的MLE训练方法中存在的exposure bias问题,提出了基于强化学习的MIXER (Mixed Incremental Cross-Entropy Reinforce)方法。
IBM的这篇论文虽然侧重于Image Captioning这一具体问题,但仍然可以认为是针对MIXER的改进。
REINFORCE with a Baseline
在REINFORCE算法中,训练的目标函数是最小化reward期望值的负值,即
reward函数通常是不可微的,但的梯度可以表示为:
然后我们可以利用Monte-Carlo的思想,根据policy采样出,计算出的近似值:
但这种基于Monte-Carlo采样的近似方法被认为具有较高的方差(high variance)。这是因为,采样的每一步都具有较大的随机性,使最终得到的样本之间差异巨大,导致reward具有高方差,尤其是在文本生成这类搜索空间较大的问题中。
示意图如下,每条轨迹代表一个采样序列,它们从同一个位置出发,却走到相距较远的终点。
这种高方差梯度估计的缺陷正是许多强化学习模型早期训练不稳的根源。
该问题的一个解决办法是加上baseline的约束,从而对reward进行一定程度上的“校正”:
其中的正是我们所说的baseline,理论上,为保持对梯度的无偏估计,可以是任意不依赖于的函数,这一结论由简单的数学推导得到:
在实际应用时,一般以reward平均值的估计函数作为baseline。如在MIXER中,baseline是一个简单的线性回归模型,通过优化均方误差得到,表示对reward平均值的估计。
Self-critical Sequence Training (SCST)
该论文提出的Self-critical Sequence Training (SCST)方法仅仅是对上述的baseline进行了修改。
在RNN模型中,对softmax输入项的梯度可具体推导为:
SCST把定义为“当前模型在测试阶段得到的reward”,即。
这样,梯度公式就是:
其中,测试阶段的序列通过greedy decoding得到,即
SCST的示意图为
这种baseline的定义有几种优势:
- 不必像MIXER那样另外训练一个模型来获取baseline。
- 通过利用测试阶段的reward进行“自我批判”(self-critical),SCST更好地鼓励了训练/测试的表现一致性。
- 实验证明,SCST的梯度方差比MIXER更低,在各测试指标上也都表现更佳。
本文标签: CriticalsequenceTraining
版权声明:本文标题:Self-critical Sequence Training 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726269648a1063661.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论