Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MILABOT:基于深度强化学习打造聊天机器人

MILABOT:基于深度强化学习打造聊天机器人

作者头像
用户1263954
发布于 2018-05-30 02:22:05
发布于 2018-05-30 02:22:05
8240
举报
文章被收录于专栏:IT技术精选文摘IT技术精选文摘

下面,我们介绍论文的主要思想和创新之处。

系统概览

早期的对话系统主要基于由专家人工制定的状态和规则。而现代对话系统通常使用组合学习的架构,将手工定制状态和规则组合到统计机器学习算法中。由于人类语言的复杂性,在构建在开放域对话机器人时,最大的挑战在于无法枚举所有可能的状态。

MILABOT完全采用基于统计机器学习的方法,在处理和生成自然人类对话中做了尽可能少的假设。模型中每个组件的设计使用机器学习方法优化,通过强化学习对各个组件的输出进行优化。其灵感来自于组合机器学习系统,即由多个独立的统计模型组成更好的学习系统。例如,2009年Netflix大奖赛胜出系统使用了数百个模型的组合,很好地预测了用户电影倾向。另一个例子是IBM的Watson在2011年赢得了quiz游戏Jeopardy!。这些实例说明了组合学习的优越之处。

在MILABOT中,Dialogue Manger(DM)组合了一系列的响应模型,由DM担当强化学习中的智能体,其控制结构如图1所示。DM将所有模型的响应(Response)以一定的策略组合在一起。在MILABOT的设计中,响应模型使用了多种策略,生成各种话题的响应,本文将详细介绍各种策略模型在设计上的考虑。

图1 DM的控制结构

如图1所示,DM给出响应的过程分为三个步骤。首先,DM调用各种响应模型,生成一组候选响应。如果候选集中具有优先响应,那么返回该优先响应。如果候选集中没有优先响应,那么系统使用策略模型给出规则,从候选响应集中选取一个响应。一旦置信值低于给定的阈值,那么系统会请求用户重复最后一个表达。

下面,我们分别介绍MILABOT所使用的各种响应模型,以及在生成响应的策略模型设计考虑。

响应模型

每个响应模型输入对话,并生成自然语言形式的响应。此外,响应模型还会输出一到多个标量,用于标识给出响应的置信度。MILABOT组合使用了22种响应模型,这些响应模型使用了近十年来NLP领域一些突出的研究成果。模型可分为:

  • 基于模板的模型,包括Alicebot、Elizabot和Storybot。
  • 基于知识库的问答系统,包括Evibot、BoWMovies。
  • 基于检索的神经网络,包括VHRED models、SkipThought Vector Models、Dual Encoder Models、Bag-of-words Retrieval Models。
  • 基于检索的逻辑回归,包括BoWEscapePlan等。
  • 基于搜索引擎的神经网络,包括LSTMClassifierMSMarco等。
  • 基于生成的神经网络,包括GRUQuestionGenerator等。

论文所使用的模型介绍及训练情况,可参见详细报告。

模型选取策略

在多种响应模型生成候选响应集后,DM使用策略模型确定选择策略,从候选集中确定将返回给用户的响应。DM必须应能选出提升用户整体满意度的响应,这需要在响应的实时性和用户整体满意度两者间作权衡。此外,响应选取中也应该考虑在用户的即刻满意度和整体满意度间作权衡。论文使用了Richard Sutton 和Andrew Barto提出的经典强化学习框架,将该问题看成是一种序贯决策问题(sequential decision making),形式化定义为:给定时序\(t=1,...,T\),在t时刻的对话为\(h_t\),智能体需要从一组K个响应\(a_t^1,...,a_t^K\)中做出选取,并得到奖励\(r_t\)。当系统转移到下一个状态\(h_{t+1}\)时,响应为\(a_{t+1}^1,...,a_{t+1}^K\),选取响应后得到奖励为\(r_{t+1}\)。强化学习的最终目标是最小化\(R = \sum_{t=1}^{T}\gamma ^tr^t\)。其中\(r\in (0,1]\)是折现系数(discount factor)。构建强化学习模型中考虑的因素包括:

  • 行为价值函数的参数化:行为价值函数(action-value function)由参数\(\theta\)定义,\(Q_\theta (h_t,a_t^k)\in \mathbb{R},k = 1,...,K\)。学习的期望返回值实现参数最大化\(\pi _\theta (h_t) = \underset{k}{arg max}Q_\theta (h_t,a_t^k)\)。
  • 随机策略的参数化:假定策略是随机的,那么随机分布服从动作的一个参数化分布

。其中,\(f_\theta (h_t,a_t^k) \)是以\(\theta \)为参数的打分函数(scoring function)。可使用贪心策略\(\pi _\theta ^{greedy}(h_t) = \underset{k}{arg max}\pi _\theta (a_t^k|h_t)\),选取具有最大概率的动作。

图2 模型选择策略评分模型的计算图。计算基于行为价值函数和随机策略参数化。

论文将打分函数和行为价值函数参数化,构建了结构如图2所示的五层的神经网络。神经网络的第一层是输入层,该层使用的特征抽取自对话历史和生成响应,用于表示对话历史和候选响应。特征考虑了基于词嵌入、对话、POS标签、Unigram词重叠、Bigrapm词重叠和一些特定于模型特征的组合,合计1458个(可参见详细报告)。第二层包含了500个隐含单元,通过对输入层特征应用线性转换及ReLU激活函数计算。第三层包含了20个隐含层,通过对前面的层应用线性转换计算得到。第四层包含了5个输出概率的单元,通过对前面的层应用线性转换并随后做softmax转换计算得到,并对应到Amazon Mechanical Turk(AMT)给出的标签。第五层是最终输出层,给出一个单标量值。该层通过对第三层和第四层中的单元做线性转换计算得到。为了学习各层的参数,论文深入研究了五种不同的机器学习方法。

  • 使用众包标签的有监督学习。该方法(称为“有监督AMT”)是打分模型学习的首个过程,所得到的模型参数可用于其它方法的启动参数。该方法在众包标签数据上使用有监督的学习,给出对行为价值函数\(Q_\theta\)的估计。训练所需的数据集由AMT采集,并使用人工给出对响应的打分(从1到5)。研究团队从真实的Alexa用户会话中采集了199,678个标签,并分为训练数据集(137,549)、开发数据集(23,298)和测试数据集(38,831)。在训练模型中,团队使用对数似然优化打分模型参数\(\hat{\theta } = \underset{\theta}{arg max}\sum_{x,y}^{ }logP_\theta (y|x)\),估计表示AMT标签的神经网络第四层。模型参数优化使用一阶SGD方法。图3给出了对于五种不同的标签类(即对响应打分从最好到最差),使用几种不同策略时的性能对比。从图中结果可见,有监督AMT取得了比其它对比方法(随机、Alicebit、Evibot+Alicebot)更好的性能。

图3 使用不同的策略时,响应AMT标签类的频率情况。

图4 抽象话语MDP的有向概率图模型。

抽象话语MDP的有向概率图模型如图4所示。对于某一时刻t,\(z_k\)是表示对话抽象状态的离散变量,\(h_t\)表示对话历史,\(a_t\)表示系统所采取的动作(即选定的响应),\(y_t\)表示抽样AMT标签,\(r_t\)表示抽样奖励。其中,\(z_t\)的状态被定义为一个离散值的三元组,包括对话行为状态(接受、拒绝、请求、提问等)、情感状态(正向、负向、中立)和表达状态(真、假)。模型的训练可以直接使用模拟数据,训练方法使用具有经验池(experience replay)的Q-learning,策略参数化为行为价值函数。各种策略在AMT上的评估情况如表1所示。

表1 策略在AMT上打分均值和标准偏差的评估情况,置信区间为90%

实验评估

团队使用A/B测试,检验DM在选取策略模型上的有效性。测试在Amazon竞赛环境中开展,当Alexa用户与系统对话时,会自动指定一个随机策略,随后记录对话内容和打分情况。A/B测试可以检验不同策略在同一系统环境下的对比情况,其中考虑了不同时间段用户的不同情况。团队的测试分三个阶段开展。

第一阶段测试了五种不同的策略生成方法,并与启发式的基线方法Evibot+Alicebot做了对比。第二个阶段测试主要针对离策略和Q-learning强化学习方法。第三阶段测试使用优化参数的模型和训练集,进一步测试了离策略和Q-learning。测试结果如表2所示。

表2 95%置信区间下的A/B测试结果。“*”标识了95%的统计显著性。

从测试结果可见,离策略和Q-learning表现出比其它策略更优的结果。从平均情况来看,Q-leaning给出的打分最好。总而言之,实验表明了组合方法的有效性。MILABOT通过将多个NLP模型给出的响应组合在一起,并使用策略模型选取打分最优的响应,并可不断改进策略学习。

结论

论文提出了一种新的大规模基于组合学习的对话系统MILABOT,并在Amazon Alexa大奖赛中进行了验证。MILABOT使用了大量的机器学习方法,包括深度学习和强化学习。其中,团队提出了一种新颖的强化学习方法。通过使用A/B测试与已有强化学习方法的对比,在真实Alexa用户数据上取得了更优的对话效果。

论文对进一步工作提出了两个方向。一个方向是实现个性化,使聊天机器人能提供更好的用户体验。实现的技术途径可能涉及对每个用户学习嵌入向量。另一个方向是基于文本的评估,以消除语音识别错误对聊天机器人的影响因素。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学界 | Yoshua Bengio等人提出MILABOT:强化学习聊天机器人
选自arXiv 作者:Iulian V. Serban等 机器之心编译 参与:路雪、李泽南 The Alexa Prize 是亚马逊在对话人工智能领域中发起的一项竞赛,本届比赛的奖金为 250 万美元,将于 11 月决出优胜者。本文介绍的是蒙特利尔大学 Yoshua Bengio 团队(MILA Team)参与本次比赛的 Chatbot 设计。 对话系统和聊天智能体(包括聊天机器人、个人助理和声控界面)在现代社会中越来越普遍。比如,移动设备内置的个人助理、电话中的自动技术支持、卖东西的在线机器人(从时尚服饰
机器之心
2018/05/08
5740
学界 | Yoshua Bengio等人提出MILABOT:强化学习聊天机器人
强化学习基础篇3:DQN、Actor-Critic详细讲解
在之前的内容中,我们讲解了Q-learning和Sarsa算法。在这两个算法中,需要用一个Q表格来记录不同状态动作对应的价值,即一个大小为 $状态个数,动作个数$ 的二维数组。在一些简单的强化学习环境中,比如迷宫游戏中(图1a),迷宫大小为4*4,因此该游戏存在16个state;而悬崖问题(图1b)的地图大小为 4*12,因此在该问题中状态数量为48,这些都属于数量较少的状态,所以可以用Q表格来记录对应的状态动作价值。但当我们需要应用强化学习来解决实际问题时,比如解决国际象棋问题或围棋问题,那么环境中就会包含 $10^{47}$ 个state或 $10^{170}$ 个state,如此庞大的状态数量已经很难用Q表格来进行存储,更不要说在3D仿真环境中,机器人手脚弯曲的状态是完全不可数的。由此可以看到Q表格在大状态问题和不可数状态问题时的局限性。同时,在一个强化学习环境中,不是所有的状态都会被经常访问,其中有些状态的访问次数很少或几乎为零,这就会导致价值估计并不可靠。
汀丶人工智能
2023/06/03
2.6K0
强化学习基础篇3:DQN、Actor-Critic详细讲解
深度强化学习——从DQN到DDPG
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说深度强化学习——从DQN到DDPG,希望能够帮助大家进步!!!
Java架构师必看
2022/07/06
1.5K0
深度强化学习——从DQN到DDPG
【深度学习】强化学习(三)强化学习的目标函数
  强化学习的基本任务是通过智能体与环境的交互学习一个策略,使得智能体能够在不同的状态下做出最优的动作,以最大化累积奖励。这种学习过程涉及到智能体根据当前状态选择动作,环境根据智能体的动作转移状态,并提供即时奖励的循环过程。
Qomolangma
2024/07/30
5200
【深度学习】强化学习(三)强化学习的目标函数
强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)
    在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna。本文我们讨论另一种非常流行的集合基于模型与不基于模型的强化学习方法:基于模拟的搜索(Simulation Based Search)。
刘建平Pinard
2019/03/15
1.5K0
【强化学习纲要】8 模仿学习「建议收藏」
周博磊《强化学习纲要》 学习笔记 课程资料参见: https://github.com/zhoubolei/introRL. 教材:Sutton and Barton 《 Reinforcement Learning: An Introduction》
全栈程序员站长
2022/10/02
9380
【强化学习纲要】8 模仿学习「建议收藏」
强化学习(十九) AlphaGo Zero强化学习原理
    在强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)中,我们讨论了MCTS的原理和在棋类中的基本应用。这里我们在前一节MCTS的基础上,讨论下DeepMind的AlphaGo Zero强化学习原理。
刘建平Pinard
2019/04/01
1.7K0
强化学习(十九) AlphaGo Zero强化学习原理
入门 | 从Q学习到DDPG,一文简述多种强化学习算法
选自towardsdatascience 作者:Steeve Huang 机器之心编译 参与:Edison Ke、路雪 本文简要介绍了强化学习及其重要概念和术语,并着重介绍了 Q-Learning 算
机器之心
2018/05/10
7620
强化学习概述
强化学习(Reinforcement Learning, RL)是一种机器学习范式,其中学习的主体(Agent)通过与环境的交互来最大化累积回报。强化学习与监督学习和无监督学习有所不同,主要体现在学习的方式和目标上:强化学习通过探索与试错的方式,学习如何采取行动以获得最大的回报,而非从已标注的数据中学习。
LucianaiB
2025/01/27
3310
机器学习——强化学习与深度强化学习
近年来,强化学习(Reinforcement Learning, RL)在多个领域取得了巨大的进展。从早期简单的迷宫导航问题到今天 AlphaGo 击败围棋世界冠军,强化学习的潜力得到了充分展现。而随着深度学习的引入,深度强化学习(Deep Reinforcement Learning, DRL)更是将这一技术推向了前所未有的高度。本篇文章将深入探讨强化学习与深度强化学习的基本原理、常见算法以及应用场景,旨在为读者提供一个详尽的学习路线图。
hope kc
2024/10/09
2.6K0
强化学习(十七) 基于模型的强化学习与Dyna算法框架
    在前面我们讨论了基于价值的强化学习(Value Based RL)和基于策略的强化学习模型(Policy Based RL),本篇我们讨论最后一种强化学习流派,基于模型的强化学习(Model Based RL),以及基于模型的强化学习算法框架Dyna。
刘建平Pinard
2019/03/04
2.5K0
强化学习(十七) 基于模型的强化学习与Dyna算法框架
强化学习(一)模型基础
    从今天开始整理强化学习领域的知识,主要参考的资料是Sutton的强化学习书和UCL强化学习的课程。这个系列大概准备写10到20篇,希望写完后自己的强化学习碎片化知识可以得到融会贯通,也希望可以帮到更多的人,毕竟目前系统的讲解强化学习的中文资料不太多。
刘建平Pinard
2018/08/14
9330
强化学习(一)模型基础
CS231n:12 强化学习
如下图所示,就是强化学习的工作过程。首先,存在一个环境,和一个代理,环境先给代理一个状态 ,然后代理根据这个状态输出一个动作 给环境。环境接受这个动作后进行评估,反馈给代理一个奖励值 ,以及下一步状态 ,如此往复直到环境给出一个终结状态。这样一个模型的目标是尽可能地获得更多的奖励值。
Here_SDUT
2022/08/08
7210
CS231n:12 强化学习
深度强化学习(DRL)专栏(一)
【磐创AI导读】:本篇文章是深度强化学习专栏的第一篇,讲了引言和强化学习基础知识,希望对大家有所帮助。查看上篇关于本专栏的介绍:深度强化学习(DRL)专栏开篇。想要获取更多的机器学习、深度学习资源,欢迎大家点击上方蓝字关注我们的公众号:磐创AI。
磐创AI
2019/09/03
1.5K0
深度强化学习(DRL)专栏(一)
强化学习(十四) Actor-Critic
    在强化学习(十三) 策略梯度(Policy Gradient)中,我们讲到了基于策略(Policy Based)的强化学习方法的基本思路,并讨论了蒙特卡罗策略梯度reinforce算法。但是由于该算法需要完整的状态序列,同时单独对策略函数进行迭代更新,不太容易收敛。
刘建平Pinard
2019/02/22
1.1K0
强化学习(六)时序差分在线控制算法SARSA
    在强化学习(五)用时序差分法(TD)求解中,我们讨论了用时序差分来求解强化学习预测问题的方法,但是对控制算法的求解过程没有深入,本文我们就对时序差分的在线控制算法SARSA做详细的讨论。
刘建平Pinard
2018/10/10
1.3K0
强化学习(六)时序差分在线控制算法SARSA
深度强化学习专栏(三)
【磐创AI导读】:本篇文章是深度强化学习专栏的第三篇,讲了第四节无模型的强化学习方法,希望对大家有所帮助。查看上篇关于本专栏的介绍:深度强化学习(DRL)专栏开篇。
磐创AI
2019/09/17
7880
深度强化学习专栏(三)
基于神经网络动力学模型的强化学习
本文提出了一种基于神经网络动力学模型的强化学习控制方法,用于解决机器人导航中的轨迹规划问题。该方法将强化学习中的策略搜索与深度学习中的动力学模型进行结合,通过一个神经网络模型来近似表示状态空间中的轨迹分布,从而能够利用强化学习算法进行高效的轨迹规划。在仿真和真实世界的实验中,该方法表现出了优秀的性能,可以有效地降低轨迹规划的计算复杂度,并能够对复杂环境中的轨迹进行规划。
企鹅号小编
2017/12/29
2.1K0
基于神经网络动力学模型的强化学习
强化学习从基础到进阶--案例与实践[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解
离散动作与连续动作是相对的概念,一个是可数的,一个是不可数的。 如图 7.1 所示,离散动作和连续动作有几个例子。在 CartPole 环境中,可以有向左推小车、向右推小车两个动作。在 Frozen Lake 环境中,小乌龟可以有上、下、左、右4个动作。在雅达利的 Pong 游戏中,游戏有 6 个按键的动作可以输出。但在实际情况中,我们经常会遇到连续动作空间的情况,也就是输出的动作是不可数的。比如:推小车推力的大小、选择下一时刻方向盘转动的具体角度、给四轴飞行器的4个螺旋桨给的电压的大小。
汀丶人工智能
2023/10/11
1.8K0
强化学习从基础到进阶--案例与实践[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解
【AI前沿】深度学习基础:深度强化学习
强化学习是一种机器学习方法,通过与环境的交互来学习最优策略。其基本思想是智能体(Agent)在环境(Environment)中通过一系列动作(Actions)与环境互动,并从中获得奖励(Rewards),以最大化累积奖励。强化学习主要包括以下几个核心概念:
屿小夏
2025/05/23
4850
【AI前沿】深度学习基础:深度强化学习
推荐阅读
相关推荐
学界 | Yoshua Bengio等人提出MILABOT:强化学习聊天机器人
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档