这里他们使用baseline在每个时刻是不同的;是每个RNN隐变量的一个线性函数。这个线性函数也会在训练中更新。他们的系统最后能比一般的的cross extropy loss,和scheduled sampling等方法获得更好的结果。 他们在github开源了基于torch的代码,https://github.com/facebookresearch/MIXER 第二篇论文是今年CVPR的投稿。这篇文章在[1]的基础上改变了baseline的选取。他们并没有使用任何函数来对baseline进行建模,而是使用了greedy decoding的结果的回报作为baseline。他们声称这个baseline减小了梯度的variance。 这个baseline理解起来也很简单:如果采样得到句子没有greedy decoding的结果好,那么降低这句话的概率,如果比greedy decoding还要好,则提高它的概率。 这个方法的好处在于避免了训练一个模型,并且这个baseline也极易获得。有一个很有意思的现象是,一旦使用了这样的训练方法,beam search和greedy decoding的结果就几乎一致了。 目前这篇文章的结果是COCO排行榜上第一名。他们使用CIDEr作为优化的reward,并且发现优化CIDEr能够使所有其他metric如BLEU,ROUGE,METEOR都能提高。 他们的附录中有一些captioning的结果。他们发现他们的模型在一些非寻常的图片上表现很好,比如说有一张手心里捧着一个长劲鹿的图。 第三篇论文[4]也是这次CVPR的投稿。这篇文章则是在$R(a,s)$这一项动了手脚。 前两篇都有一个共同特点,对所有时刻的单词,atv,他们的$R(a,s)$都是一样的。然而这篇文章则给每个时刻的提供了不同的回报。 其实这个动机很好理解。比如说,定冠词a,无论生成的句子质量如何,都很容易在句首出现。假设说在一次采样中,a在句首,且最后的获得回报减去baseline后为负,这时候a的概率也会因此被调低,但是实际上大多数情况a对最后结果的好坏并没有影响。所以这篇文章采用了在每个时刻用$Q(w_{1:t})$来代替了原来一样的$R$。 这个$Q$的定义为, $Qtheta(w{1:t}) = mathbb{E}{w{t+1:T}}[R(w{1:t}, w{t+1:T})]$ 也就是说,当前时刻的回报,为固定了前t个单词的期望回报。考虑a的例子,由于a作为句首生成的结果有好有坏,最后的Q值可能接近于baseline,所以a的概率也就不会被很大地更新。实际使用中,这个Q值可以通过rollout来估计:固定前t个词后,随机采样K个序列,j2直播,取他们的平均回报作为Q值。文中K为3。这篇文章中的baseline则跟[1]中类似。 从实验结果上,第三篇并没有第二篇好,但是很大一部分原因是因为使用的模型和特征都比较老旧。 总结 将RL用在序列生成上似乎是现在新的潮流。但是现在使用的大多数的RL方法还比较简单,比如本文中的REINFORCE算法可追溯到上个世纪。RL本身也是一个很火热的领域,所以可以预计会有更多的论文将二者有机地结合。 参考文献 [1] Ranzato, Marc’Aurelio, Sumit Chopra, Michael Auli, and Wojciech Zaremba. “Sequence level training with recurrent neural networks.” arXiv preprint arXiv:1511.06732 (2015). [2] Rennie, Steven J., Etienne Marcheret, Youssef Mroueh, Jarret Ross, and Vaibhava Goel. “Self-critical Sequence Training for Image Captioning.” arXiv preprint arXiv:1612.00563 (2016). [3] Yu, Lantao, Weinan Zhang, Jun Wang, and Yong Yu. “Seqgan: sequence generative adversarial nets with policy gradient.” arXiv preprint arXiv:1609.05473 (2016). [4] Liu, Siqi, Zhenhai Zhu, Ning Ye, Sergio Guadarrama, and Kevin Murphy. “Optimization of image deion metrics using policy gradient methods.” arXiv preprint arXiv:1612.00370 (2016). [5] Bahdanau, Dzmitry, Philemon Brakel, Kelvin Xu, Anirudh Goyal, Ryan Lowe, Joelle Pineau, Aaron Courville, and Yoshua Bengio. “An actor-critic algorithm for sequence prediction.” arXiv preprint arXiv:1607.07086 (2016). [6] Li, Jiwei, Will Monroe, Alan Ritter, Michel Galley, Jianfeng Gao, and Dan Jurafsky. “Deep reinforcement learning for dialogue generation.” arXiv preprint arXiv:1606.01541 (2016). 作者 罗若天,TTIC博士生 研究方向 CV+NLP 博客: 专栏:https://zhuanlan.zhihu.com/c_73407294 github: https://github.com/ruotianluo 关于PaperWeekly (责任编辑:本港台直播) |