和监督学习相比,强化学习的训练是比较困难的,因为训练的过程很不稳定。而且具体的对话系统中,reward的奖励一般是基于一个完整的句子,而如何把reward奖励分配到具体的词,是一个很大的挑战。而在多轮对话中,reward一般只出现在最后一轮,如何对前面的几轮对话分配reward,也同样是一个问题。同时为了稳定强化学习的训练过程,我们不能完全离开监督学习,一般还需要借助监督学习的方法,来做初始化训练,甚至在训练过程中,需要穿插监督学习过程,起到稳定网络的作用。 以上就是增强学习在对话系统中的优劣。 问:论文中的pr(Gj=i|j=0)为什么等于1/N呢?也就是在用户不知道第值时,目标是i的概率为什么等于1/N? 答: 用户不知道第j个属性,也就是说,在第j个属性上,用户不能提供有效信息。那么我们从属性j的角度,看各个实体的时候,实际上是没有什么区别的。因此最保险的方式,就是假设各个实体的概率相等,因此概率是1/N。 问:增强学习在chatbot中的reward函数是否都是根据相应的需求来手动给出,而非学习得来? 答: 有些是可以手动给出的,例如Bengio的An Actor-Critic Algorithm for Sequence Prediction这篇论文,就把BLEU作为reward,用于机器翻译模型的训练。reward也可以学习得来,例如GAN应用到对话系统的时候,生成模型的reward就是由判别模型给出的,而在对偶学习中,一个模型的reward由它对应的对偶模型给出。 2. Dual Learning for Machine Translation作者 Yingce Xia, Di He, Tao Qin, Liwei Wang, Nenghai Yu, Tie-Yan Liu, Wei-Ying Ma 单位 中科大,北大,微软亚研院 关键词 NMT,monolingual data, dual learning 文章来源 NIPS 2016 问题 利用双向NMT模型,在少量双语数据,大量单语数据的情况下,如何提高NMT的性能。 模型 主要的思想是通过two-agent communication game,用单语语料和语言模型来提升双向NMT的性能。利用A语言的单语语料进行学习的two-agent communication game过程如下: agent1读入语言A的单语句子, 通过A到B的NMT模型转换成语言B的句子,并且发送给agent2。 agent2接收到agent1发送的语言B的句子,通过语言B的语言模型LM_B,给出一个reward r_1。再通过B到A的NMT模型,将句子转换成语言A并且发送给agent1。 agent1接收到agent2发送的语言A的句子,和最初的单语句子做比较,给出另一个reward r_2。 那么r=alpha* r_1+(1-alpha) r_2,agent1和agent2就能根据reward r对A到B和B到A的NMT模型进行学习。 如果用公式表达,这个过程的目标函数就是: 由于s_mid的sample space无穷大,需要做一些近似来求期望。 文中考虑到random sampling会有较大的variance和一些不合理的翻译,采用了N-best来近似(N=2, 用beam search得到)。 整个训练分成3个step: 用双语语料,普通的MLE training来学习A到B和B到A的NMT模型,作为warm start。 每一个minibatch里面一部分单语语料,一部分双语语料,对双语语料用MLE作为目标函数,单语语料用上面的公式作为目标函数;随着training的进行,减少双语语料的比例。训练交替地从语言A或者语言B开始。 最后完全用单语语料,通过上面的公式作为目标函数进行训练。 相关工作这篇文章和Semi-Supervised Learning for Neural Machine Translation以及Neural Machine Translation with Reconstruction比较相似,都是用双向NMT模型来互相学习增强,区别在于这篇引入了语言模型。和Minimum Risk Training for Neural Machine Translation也有一定的相关性,相当于MRT中的loss function用了语言模型和反向NMT进行定义。 简评 (责任编辑:本港台直播) |