Deep Reinforcement Learning for Dialogue Generation

本文将会分享一篇深度增强学习在bot中应用的文章,增强学习在很早的时候就应用于bot中来解决一些实际问题,最近几年开始流行深度增强学习,本文作者将其引入到最新的bot问题中。paper的题目是Deep Reinforcement Learning for Dialogue Generation,作者是Jiwei Li,最早于2016年6月10日发在arxiv上。

现在学术界中bot领域流行的解决方案是seq2seq,本文针对这种方案抛出两个问题:

1、用MLE作为目标函数会导致容易生成类似于“呵呵呵”的reply,grammatical、safe但是没有营养,没有实际意义的话。

2、用MLE作为目标函数容易引起对话的死循环,如下图:

解决这样的问题需要bot框架具备以下的能力:

1、整合开发者自定义的回报函数,来达到目标。

2、生成一个reply之后,可以定量地描述这个reply对后续阶段的影响。

所以,本文提出用seq2seq+增强学习的思路来解决这个问题。

说到增强学习,就不得不提增强学习的四元素:

  • Action

这里的action是指生成的reply,action空间是无限大的,因为可以reply可以是任意长度的文本序列。

  • State

这里的state是指[pi,qi],即上一轮两个人的对话表示。

  • Policy

policy是指给定state之后各个action的概率分布。可以表示为:pRL(pi+1|pi, qi)

  • Reward

reward表示每个action获得的回报,本文自定义了三种reward。

1、Ease of Answering

这个reward指标主要是说生成的reply一定是容易被回答的。本文用下面的公式来计算容易的程度:

其实就是给定这个reply之后,生成的下一个reply是dull的概率大小。这里所谓的dull就是指一些“呵呵呵”的reply,比如“I don’t know what you are talking about”等没有什么营养的话,作者手动给出了这样的一个dull列表。

2、Information Flow

生成的reply尽量和之前的不要重复。

这里的h是bot的reply表示,i和i+1表示该bot的前后两轮。这个式子表示同一个bot两轮的对话越像reward越小。

3、Semantic Coherence

这个指标是用来衡量生成reply是否grammatical和coherent。如果只有前两个指标,很有可能会得到更高的reward,但是生成的句子并不连贯或者说不成一个自然句子。

这里采用互信息来确保生成的reply具有连贯性。

最终的reward由这三部分加权求和计算得到。

增强学习的几个要素介绍完之后,接下来就是如何仿真的问题,本文采用两个bot相互对话的方式进行。

step 1 监督学习。将数据中的每轮对话当做target,将之前的两句对话当做source进行seq2seq训练得到模型,这一步的结果作为第二步的初值。

step 2 增强学习。因为seq2seq会容易生成dull reply,如果直接用seq2seq的结果将会导致增强学习这部分产生的reply也不是非常的diversity,从而无法产生高质量的reply。所以,这里用MMI(Maximum Mutual Information,这里与之前Jiwei Li的两篇paper做法一致)来生成更加diversity的reply,然后将生成最大互信息reply的问题转换为一个增强学习问题,这里的互信息score作为reward的一部分(r3)。用第一步训练好的模型来初始化policy模型,给定输入[pi,qi],生成一个候选列表作为action集合,集合中的每个reply都计算出其MMI score,这个score作为reward反向传播回seq2seq模型中,进行训练。整个仿真过程如下图:

两个bot在对话,初始的时候给定一个input message,然后bot1根据input生成5个候选reply,依次往下进行,因为每一个input都会产生5个reply,随着turn的增加,reply会指数增长,这里在每轮对话中,通过sample来选择出5个作为本轮的reply。

接下来就是评价的部分,自动评价指标一共两个:

1、对话轮数。

很明显,增强学习生成的对话轮数更多。

2、diversity。

增强学习生成的词、词组更加丰富和多样。

下图给出了一个MMI seq2seq与RL方法的对比结果:


RL不仅仅在回答上一个提问,而且常常能够提出一个新的问题,让对话继续下去,所以对话轮数就会增多。原因是,RL在选择最优action的时候回考虑长远的reward,而不仅仅是当前的reward。

本文是一篇探索性的文章,将seq2seq与RL整合在一起解决bot的问题是一个不错的思路,很有启发性,尤其是用RL可以将问题考虑地更加长远,获得更大的reward。用两个bot相互对话来产生大量的训练数据也非常有用,在实际工程应用背景下数据的缺乏是一个很严重的问题,如果有一定质量的bot可以不断地模拟真实用户来产生数据,将deep learning真正用在bot中解决实际问题就指日可待了。

RL解决bot问题的文章在之前出现过一些,但都是人工给出一些feature来进行增强学习,随着deepmind用seq2seq+RL的思路成功地解决video games的问题,这种seq2seq的思想与RL的结合就成为了一种趋势,朝着data driven的方向更进一步。

来源:paperweekly

原文链接

时间: 2024-10-29 14:05:27

Deep Reinforcement Learning for Dialogue Generation的相关文章

Deep Reinforcement Learning for Dialogue Generation-关于生成对话的深度强化学习

关于生成对话的深度强化学习   摘要:生成对话的最新神经模型为对话代理提供了很好的前景,但这往往是短视的.每次只预测一句话语从而忽视了它们对之后输出的影响.模拟对话的未来方向的关键在于生成连续.有趣的对话,导致对话的传统NLP模型去借鉴强化学习的需求.在本文中,我们展示如何去整合这些目标,在聊天机器人对话中使用深度强化学习去建模未来的反馈.该模型模拟两个虚拟代理之间的对话,使用策略梯度算法去惩罚序列,该序列展示三个有用的对话性质:信息性(非重复交替),连贯性,和易于回答(与前瞻性功能有关).我们

18 Issues in Current Deep Reinforcement Learning from ZhiHu

  深度强化学习的18个关键问题   from: https://zhuanlan.zhihu.com/p/32153603     85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两天我阅读了两篇篇猛文A Brief Survey of Deep Reinforcement Learning 和 Deep Reinforcement Learning: An Overview ,作者排山倒海的引用了200多篇文献,阐述强化学习未来的方向.原文归纳出深度强化学习中

Generating Text with Deep Reinforcement Learning

上一篇介绍了DQN在文字游戏中的应用,本文将分享一篇DQN在文本生成中的应用,将一个领域的知识迁移到其他领域应用的时候,都需要做概念上的等效替换,比如context可以替换为state,被预测的word可以替换为action.本文分享的题目是Generating Text with Deep Reinforcement Learning,作者是来自National Research Council of Canada的Hongyu Guo研究员,文章最早于2015年10月30日submit在ar

Deep Reinforcement Learning with a Natural Language Action Space

本文继续分享一篇深度增强学习在NLP中应用的paper,题目是Deep Reinforcement Learning with a Natural Language Action Space,作者是来自微软的Ji He博士,文章最早于2015年11月发在arxiv上,2016年6月8号update. 通过前两篇文章的介绍,基本对DQN在NLP中应用有了一个清晰的认识,与DQN之前应用不同的地方在于两个方面: 1.actions的量级很大. 2.transition tuple的具体形式随着模型来

(zhuan) Deep Reinforcement Learning Papers

  Deep Reinforcement Learning Papers   A list of recent papers regarding deep reinforcement learning. The papers are organized based on manually-defined bookmarks. They are sorted by time to see the recent papers first. Any suggestions and pull reque

论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21:43:53    这篇文章的 Motivation 来自于 MDNet:    本文所提出的 framework 为:                             

论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning

  Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper    摘要:本文的贡献点主要是在 DQN 网络结构上,将卷积神经网络提出的特征,分为两路走,即:the state value function 和 the state-dependent action advantage function.  这个设计的主要特色在于 generalize learning across act

(转) Deep Reinforcement Learning: Playing a Racing Game

Byte Tank Posts Archive Deep Reinforcement Learning: Playing a Racing Game OCT 6TH, 2016 Agent playing Out Run, session 201609171218_175epsNo time limit, no traffic, 2X time lapse Above is the built deep Q-network (DQN) agent playing Out Run, trained

论文阅读之: Hierarchical Object Detection with Deep Reinforcement Learning

  Hierarchical Object Detection with Deep Reinforcement Learning NIPS 2016 WorkShop    Paper : https://arxiv.org/pdf/1611.03718v1.pdf Project Page : https://github.com/imatge-upc/detection-2016-nipsws   摘要: 我们提出一种基于深度强化学习的等级物体检测方法 (Hierarchical Objec