干货|深度强化学习在面向任务的对话管理中的应用

2017 年 9 月 14 日 全球人工智能

全球人工智能学院:拥有十几万AI开发者和学习者用户,1万多名AI技术专家,欢迎更多AI专家入驻《全球人工智能学院》!


-免费加入AI高管投资群>>

-免费加入AI技术专家群>>

来自:我爱计算机
作者:defyzhu,腾讯应用宝高级研究员,关注机器学习、强化学习,主要从事对话系统、搜索、推荐及广告。

背景:目前业界对话系统一般分为自然语言理解NLU、对话管理DM及自然语言生成NLG模块,而DM又分为对话状态跟踪DST及决策Policy模块。Policy模块一般基于当前的对话状态state,决策一个行为action,有用规则的,也可以用模型实现。本文介绍运用深度强化学习模型学习决策,基于当前的对话状态state运用模型决策行为action。

深度强化学习

关于强化学习,强烈建议阅读David Silver的强化学习的PPT,有时间最好看他在YouTube上的课程。深度强化学习,运用深度学习强大的state刻画能力和目标拟合能力,大大提高了强化学习解决问题的效率。这里仅简要列下我们的技术方案中运用到的Experience Replay及Double DQN技术。

  • Experience Replay

强化学习的样本的产生一般是顺序的,比如围棋一步一步的、对话一轮一轮的进行,这样收集到的样本也是顺序相关的。这种样本的相关性不符合独立同分布的假设,深度学习模型也很容易学习到这种相关性,为了消除这种相关性,建立一个experience replay pool,在模型训练的时候随机的从pool中sample样本来进行模型训练。

  • Double DQN

强化学习的学习目标不是来自监督的label,而是来自reward(反馈),而反馈可能不能立即到达,比如围棋要下完一盘棋才知道输赢,基于任务式的对话要到对话片段结束才知道任务是否完成。这时可以建模action的收益为当前的reward,加上后续的经过一定衰减的收益之和,也即bellman方程的形式。这里我们建模后面一步的收益时,用一个旧版本的Q网络去预测,区别于在进行优化学习的决策网络,避免偏差。

技术方案及实现

我们设计了用户模拟器User Simulator,用于和对话机器人对话,不断的产出样本供在线训练模块Training Server进行模型训练。这里重点介绍下User Simulator及Training Server。

  • User Simulator

User Simulator进行对话模拟,每个对话片段有一个对话目标,比如基于时间、地点等订电影票等,模拟器需要判断当前对话是否成功完成或者失败退出,给出反馈信号。模拟器会以一个可配置的概率回答错误对话机器人的提问,也会以一个可配置的概率提前退出会话。具体可以看后面的示例。

  • Training Server

User Simulator和对话机器人在线对话产生的样本,实时流入experience replay pool,Training Server不断的从样本池pool中采样minibatch的样本进行模型训练。冷启动时,以一定概率走规则决策模块,以不断得到正反馈的action,指导模型学习,同时运用epsilon-greedy算法,在各种state下探测不同的action,epsilon随着模型的训练,不断降低,直至最终模型收敛。

四、实验结果分析

下面以一个简单的小任务说明User Simulator和对话机器人进行对话模拟供模型训练以及训练效果。

对话任务目标为收集用户和他/她对象的属相槽位,然后给出感情相关的属相分析。模型刚开始训练时,会进行不断的探测,导致比较多的错误action,如下图:

第一个错误为对话刚开始时应该执行greeting action,而却错误的决策执行了感情分析的CP action(CP:content provider,外部服务)。第二个错误为用户没有主动提出退出时执行了退出的action。第三个错误同第一个,第四个错误同第二个。最后一个错误为对话任务没完成就执行了结束action。可见刚开始训练时,无论是模型预测错误,还是epsilon-greedy算法的随机探测,都会导致比较多错误的action,而这些错误越多样性越有利于强化学习模型的训练。

经过模型若干轮迭代后,模型预测准确率大大提高,epsilon-greedy算法的随机探测比率降低,决策错误的action大大减少。如下图所示:

看下1698这个模拟对话片段,可以看到模型成功学习到,首先进行greeting action,然后询问用户属相,用户答非所问回答属猫时,机器人没收集到用户属相所以又询问了一次,收集到用户属相后进行了感情分析的CP action。然后询问用户对象的属相,收集到用户和用户对象的属相后,执行综合属相感情分析的CP action,最后进行结束action。

这里由于中间步骤的合法action的reward是一个比较小的负值惩罚,而最后成功执行任务会得到一个比较大的正向reward奖励,能够保证模型收敛到用最少的步骤完成任务。

我们也可以看到后面两个对话片段,用户随时主动提出不想聊时,模型也能决策出合适的退出action。

下图为模型训练过程中每轮对话平均reward的变化图:

下图为模型训练过程中对话片段成功率的变化图:

这里稍微提一下,每轮对话的平均reward和对话片段的成功率不一定是单调递增的,因为epsilon-greedy算法在不断的探测。随着模型的不断学习,epsilon的不断衰减,最终模型会收敛。

五、总结及展望

基于当前对话状态state决策行为action的问题,对比监督式的模型,强化学习模型无需标注样本,借助模拟器产生大量样本进行模型训练,模拟器仅需提供对话片段的成功或者失败的反馈,可以大大节省人工标注的人力投入。

在实验过程中,我们也发现,强化学习模型的学习过程,依赖深度学习模型的拟合能力,实验过程中经历过一次DNN模型的调优,大大加速了强化学习模型的收敛速度。随着样本的不断模拟产出,强化学习模型不断迭代,正确的action会得到一个较大的正向reward反馈,错误的action也会得到一个较大的负向reward反馈,而中间过程的合法action也会不断迭代得到一个合理的正向的reward反馈。

同时,我们在实验过程中也发现强化学习的探索效率也是有待提高的,本质上,强化学习就是不断探测,得到各种state下各种action的正负反馈,而且如果探测不够充分,学出的模型会决策出一些错误甚至是危险的行为action,强化学习的安全性问题也有相关学术论文探讨,比如UC Berkeley提出约束型策略优化新算法。后续我们计划先训练一个策略网络,再用强化学习进行不断探测优化,同时在线根据用户反馈进行优化,这里在线的用户反馈的客观性也是个问题,而可能的安全性问题可以通过action mask解决。

目前我们的state是经过NLU模块,得到意图、槽位等,经过DST更新得到当前对话状态state的。这里用户原始输入经过NLU模块不可避免会有损失、错误,长期来看,可以端到端的建模,直接输入用户的原始输入,决策得到行为action,再进行NLG对话生成。

参考文献:

[1] Multi-Domain Joint Semantic Frame Parsing Using Bi-Directional RNN-LSTM. INTERSPEECH 

[2] End-to-End Task-Completion Neural Dialogue Systems. CoRR abs/1703.01008 (2017)

[3] A User Simulator for Task-Completion Dialogues. CoRR abs/1612.05688 (2016)

[4] https://www.jiqizhixin.com/articles/db83d05d-a8b8-4426-bd77-49ed9ea44866

[5] https://www.youtube.com/watch?v=2pWv7GOvuf0

转载:《深度强化学习在面向任务的对话管理中的应用 | 我爱计算机》

热门文章推荐

2017年7大最受欢迎的AI编程语言:Python第一!

重磅|中国首家人工智能技术学院在京揭牌开学!

厉害 | 南京大学周志华教授当选欧洲科学院外籍院士!

5个月市值涨了1200亿,首次突破3100亿市值!

华为扔下这枚“AI芯弹”,全世界的智能手机都卡(慢)死了!

用57行代码搞定花8000万美元采购车牌识别项目

厉害|百度28位离职技术大牛和他们创建的AI公司!

一AI工程师下载200万GB色情内容,只为学习Python!

推荐|变形卷积核、可分离卷积?CNN中十大操作!

她:13岁造飞机,17岁进MIT,22岁到哈佛读博!

登录查看更多
13

相关内容

强化学习(RL)是机器学习的一个领域,与软件代理应如何在环境中采取行动以最大化累积奖励的概念有关。除了监督学习和非监督学习外,强化学习是三种基本的机器学习范式之一。 强化学习与监督学习的不同之处在于,不需要呈现带标签的输入/输出对,也不需要显式纠正次优动作。相反,重点是在探索(未知领域)和利用(当前知识)之间找到平衡。 该环境通常以马尔可夫决策过程(MDP)的形式陈述,因为针对这种情况的许多强化学习算法都使用动态编程技术。经典动态规划方法和强化学习算法之间的主要区别在于,后者不假设MDP的确切数学模型,并且针对无法采用精确方法的大型MDP。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
28+阅读 · 2020年5月25日
多智能体深度强化学习的若干关键科学问题
专知会员服务
190+阅读 · 2020年5月24日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
175+阅读 · 2020年2月8日
深度强化学习策略梯度教程,53页ppt
专知会员服务
183+阅读 · 2020年2月1日
【强化学习】深度强化学习初学者指南
专知会员服务
182+阅读 · 2019年12月14日
【斯坦福&Google】面向机器人的机器学习,63页PPT
专知会员服务
26+阅读 · 2019年11月19日
专知会员服务
210+阅读 · 2019年8月30日
已删除
将门创投
5+阅读 · 2019年4月29日
已删除
将门创投
3+阅读 · 2019年4月25日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
已删除
将门创投
5+阅读 · 2018年10月16日
干货 | 利用深度强化学习进行对话生成
黑龙江大学自然语言处理实验室
4+阅读 · 2017年8月30日
How to Fine-Tune BERT for Text Classification?
Arxiv
13+阅读 · 2019年5月14日
Image Captioning based on Deep Reinforcement Learning
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
7+阅读 · 2018年1月18日
VIP会员
相关VIP内容
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
28+阅读 · 2020年5月25日
多智能体深度强化学习的若干关键科学问题
专知会员服务
190+阅读 · 2020年5月24日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
175+阅读 · 2020年2月8日
深度强化学习策略梯度教程,53页ppt
专知会员服务
183+阅读 · 2020年2月1日
【强化学习】深度强化学习初学者指南
专知会员服务
182+阅读 · 2019年12月14日
【斯坦福&Google】面向机器人的机器学习,63页PPT
专知会员服务
26+阅读 · 2019年11月19日
专知会员服务
210+阅读 · 2019年8月30日
相关资讯
已删除
将门创投
5+阅读 · 2019年4月29日
已删除
将门创投
3+阅读 · 2019年4月25日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
已删除
将门创投
5+阅读 · 2018年10月16日
干货 | 利用深度强化学习进行对话生成
黑龙江大学自然语言处理实验室
4+阅读 · 2017年8月30日
相关论文
How to Fine-Tune BERT for Text Classification?
Arxiv
13+阅读 · 2019年5月14日
Image Captioning based on Deep Reinforcement Learning
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
8+阅读 · 2018年6月19日
Arxiv
7+阅读 · 2018年1月18日
Top
微信扫码咨询专知VIP会员