End-to-end LSTM-based dialog control optimized with supervised and reinforcement learning
来源:互联网 发布:mac app atore验证 编辑:程序博客网 时间:2024/05/01 03:27
摘要
模型的主要部分是一个循环神经网络(一个LSTM),它把粗糙的对话历史直接映射到系统的行动分布,LSTM自动从对话历史推理,也就释放了开发者人工的编辑对话状态,然后开发者可以提供表示商业规则的软件和提供编程API。LSTM可以通过监督学习优化,提供样例对话给LSTM模仿,或者通过增强学习优化,也就是系统提供直接地用户交互。实验表明监督学习和增强学习是互补的,监督学习自己从小量的训练对话中得到一个合理的初始策略,而强化学习优化这个策略。
模型
第3步的实体输入,在这个例子里,是将一个人名映射到具体的数据库的一行或几行。
在第4步,从4个地方形成一个特征向量,第1个地方是第2步的实体抽取,第2个地方是第3步的实体输入,其余2个地方下面会讲。
第5步,用一个以softmax为输出层的RNN,这个LSTM的输入如图所示,输出是一个 Action模板 的概率分布,也就是 在Action里把实体值替换成实体名字,就像Do you want to call <name>?
第6步,输出一个action mask,例如,如果一个目标电话没有确定,那么这个电话号码就要被mask
第7步,把输出 线性re-normalizing到一个概率分布
第9步,如何从概率分布中选择Action,在强化学习开启的时候,这个Action从概率分布中抽样选取,在强化学习关闭的时候,最高概率的Action被选
对于 Action模板 的确定,通过两种方式,第一种方式,把它传到LSTM的下一个step,第二种方式,把它传到 实体输出 替代为任意的模板实体
第11步,根据Action的类型,如果是一个API Call就……(都是如图所示)
API Call 我理解是对接后面系统的实际调用,比如真正播出电话。
相关工作
对话系统的两个主要问题:状态跟踪 和 Action选择
状态跟踪
Action选择
用监督学习来做,举例来说,当收到一个用户输入的时候,搜索所有的 用户输入-对话状态
用强化学习来做,机器人接收到了一个指示整个对话质量的反馈信号,但是没有指示哪个Action应该被选。通过强化学习的Action选择被用 马可夫决策过程 做,然后是partially observable Markov decision process。如果反馈信号是这样的,比如指示是否帮用户成功完成一个任务,那样强化学习可以直接从 和用户的交互 中学习,而不需要标注。 但是调试一个 强化学习系统 是很难的,……
我们的方法是结合监督学习和强化学习来做,神经网络通过梯度下降来训练,如果通过强化学习和监督学习来优化 只是简单的需要一个不同的梯度计算。一开始,提供一批训练用的对话 用于RNN的训练,
然后,RNN可以通过反馈信号来优化,通过一种policy梯度。
对于监督学习,如果发现一个bug,就提供更多的训练用的对话,以致系统可以保持容易调试。
对于强化学习,会确保相应的策略总是会重构那些提供的数据。
对话任务示例
我们写了一个打电话用的对话系统,
我们从 定义实体 开始,用户可以说 <姓名>
, <电话类型>
, <是否>
系统也可以说这些实体,再加上<canonicalname>
和 <canonicalphonetype>
用户可以说“给希拉里打电话”,然后系统会对应到“给希拉里克林顿打电话”
对于实体提取,我们训练了一个模型,用的是微软的Language Understanding Intelligent Service
然后,对于实体追踪,我们使用一个简单的办法,……
然后,我们定义了两个API Action,一个是API是打电话,另一个是 确认电话类型
(这块没看懂,最后说他们用了200多行的python写的一个东西和300多行的Python写的一个东西)
通过监督学习来优化
预测准确率
使用强化学习优化
–学习率
–在时间t的Action
–在时间t的对话历史
–F对x的Jacobian
–对话的return
–基准,是对现在策略的一个平均估计,过去100个对话的
–LSTM,也就是,给定对话历史 和 权重w,输出a的概率分布
结论
一个RNN把对话历史映射到Action的概率分布,这个LSTM会自动的推断 对话状态 的表示,避免了人工编码 对话状态。
- End-to-end LSTM-based dialog control optimized with supervised and reinforcement learning
- End-to-end Optimized Image Compression
- 【翻译】End-to-End Reinforcement Learning of Dialogue Agents for Information Access
- End-to-End Reinforcement Learning of Dialogue Agents for Information Access
- End-to-End Reinforcement Learning of Dialogue Agents for Information Access
- End-to-End Reinforcement Learning of Dialogue Agents for Information Access 端对端加强学习对话代理信息访问
- 自动驾驶:End-to-end Learning
- Continuous control with deep reinforcement learning
- Continuous control with Deep Reinforcement Learning
- 增强学习(Reinforcement Learning and Control)
- 增强学习(Reinforcement Learning and Control)
- 增强学习(Reinforcement Learning and Control)
- 增强学习(Reinforcement Learning and Control)
- 增强学习(Reinforcement Learning and Control)
- End-to-End Learning of Geometry and Context for Deep Stereo Regression
- 论文阅读:《Associative Embedding:End-to-End Learning for Joint Detection and Grouping》
- 姿态检测整理--06-Associative Embedding: End-to-End Learning for Joint Detection and Grouping
- An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to S
- Struts2的参数传递
- 【管理】敏捷已死?错!3招助你炼出一个更好的技术团队!
- linux环境变量的设置和查看方法
- 浅谈Java设计模式(十三)策略模式(strategy)
- MyEclipse使用总结——MyEclipse10安装SVN插件
- End-to-end LSTM-based dialog control optimized with supervised and reinforcement learning
- 操作系统精髓与设计原理(原书第6版)——学习笔记(10)
- ViewPager或Fragment中使用Fragment(二)
- JSR 规范列表
- Action访问ServletAPI
- JAVA中的反射机制
- 断言NSAssert()-调试程序中的Bug
- poj 2480 Longge's problem
- Java 中的 String 为什么是不可变的