微软研究院开源项目TextWorld:可用于强化学习训练的文本游戏

2018 年 8 月 11 日 专知

【导读】可以说,对话系统和自然语言处理(NLP)是现代人工智能(AI)中应用最广泛的部分。 尽管NLP研究不断取得进展,但和人相比,今天的大多数对话系统仍然相当原始。 大多数流行的人工智能语音助手,例如Alexa或Google智能助理,只能处理短的对话,但缺乏认知能力,如记忆,规划甚至常识。 我们如何建立一个可重复和可量化的机制,用于在复杂的会话功能中训练AI? 最近,微软研究院蒙特利尔实验室的研究人员发布了一个名为TextWorld的开源项目,该项目试图使用基于文本的游戏训练强化学习代理。


作者|Jesus Rodriguez

编译|专知    

整理|Yingying,李大囧


基于文本的游戏

在AI代理正在涉猎复杂的多人游戏(如Dota2或Quake III)的时代,谈论基于文本的游戏似乎并不常见。虽然多人游戏中的图形环境非常适合训练代理进行基于空间和时间的规划,但基于文本的游戏可以发挥类似的作用,开发高级会话技能,如可供性提取,记忆和规划,探索等等。


从概念上讲,基于文本的游戏是复杂的交互式模拟,其中文本描述游戏状态,而玩家输入文本命令来进行游戏。在每个命令之后,游戏通常提供一些反馈以通知玩家该命令如何改变游戏环境。典型的基于文本的游戏提供了一系列要解决的难题,如收集宝藏,到达某地等。以传说中的Zork游戏为例,如下图所示。游戏使用自然语言来描述世界状态,接受玩家的行为,并报告环境中的后续变化。



基于文本的游戏的丰富性和复杂性使其成为培养强化学习代理的理想环境。如果我们将基于文本的游戏推断到强化学习代理的上下文,文本既可以扮演行动角色,也可以扮演观察空间。在这两种情况下,空间的复杂性大大提高,这为强化学习代理带来了许多挑战。


基于文本的游戏中的强化学习挑战


基于文本的游戏唯一简单的事情是通过终端的输入/输出机制。除此之外,基于文本的游戏给强化学习代理带来了许多挑战:


部分可观察性:在强化学习的背景下,基于文本的游戏可被视为部分可观察的环境。在任何给定时间,仅向玩家呈现当前游戏环境的快照,甚至许多本地细节可能在观察中不明显。


探索与平衡:在整个游戏过程中,玩家需要进一步平衡探索环境的能力与利用即时奖励。


长期信用分配:稀疏奖励是基于文本的游戏所固有的,其中代理必须在观察环境状态的变化或获得奖励信号之前生成一系列动作。知道哪些行动产生了特定的奖励对强化学习代理人来说变得非常具有挑战性。


TextWorld简介


TextWorld的想法不是直接创建可以击败特定的基于文本的游戏的强化学习代理。这是以前做过的。 TextWorld做的是通过简单的配置,帮助开发者快速生成一个可用于强化学习的文本游戏。它改善了在高度控制的游戏空间中强化学习算法的评估和可解释性。


从功能的角度来看,TextWorld是一个Python框架,用于创建基于文本的游戏环境,可用于训练强化学习代理。该框架有两个主要组件:游戏生成器和游戏引擎。游戏生成器将高级游戏规范(例如房间数,对象数,游戏长度和获胜条件)转换为Inform 7语言的可执行游戏源代码。游戏引擎是一个简单的推理机器,通过使用简单的算法,如一步向前和向后链接,确保生成的游戏的每一步都是有效的。




使用TextWorld,可以基于一组特定参数生成基于文本的游戏的组合集。 TextWorld的游戏生成器将游戏的高级规范作为输入,并输出相应的可执行游戏,其中包含特定参数,例如房间数,对象数,任务长度,获胜条件以及文本选项生成选项。


强化学习模型可以使用一个简单的API与TextWorld交互,该API可以封装在几行Python代码中:

env = textworld.start("zork1.z5")
game_state = env.reset() # Reset/initialize the game.
reward, done = 0, False
while not done:
# Ask the agent for a command.
command = agent.act(game_state, reward, done)
# Send the command to the game and get the new state.
game_state, reward, done = env.step(command)


使用该模型,开发人员可以为强化学习代理创建丰富的自然语言训练环境,以帮助开发记忆,上下文分析或长期规划等技能。 TextWorld在Github上已经开源(https://github.com/microsoft/textworld),可与许多流行的深度学习框架互操作,如TensorFlow,PyTorch和微软新的强化学习武器:Bonsai。


TextWord 项目地址:

https://www.microsoft.com/en-us/research/project/textworld/


相关论文:TextWorld: A Learning Environment for Text-based Games

https://arxiv.org/abs/1806.11532


原文链接:

https://towardsdatascience.com/whats-new-in-deep-learning-research-microsoft-s-textworld-is-the-openai-gym-of-language-learning-e726d64eb8a3


-END-

专 · 知


人工智能领域主题知识资料查看与加入专知人工智能服务群

专知AI知识技术服务会员群加入人工智能领域26个主题知识资料全集获取欢迎微信扫一扫加入专知人工智能知识星球群,获取专业知识教程视频资料和与专家交流咨询


请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请加专知小助手微信(扫一扫如下二维码添加),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~


 AI 项目技术 & 商务合作:bd@zhuanzhi.ai, 或扫描上面二维码联系!


关注专知公众号,获取人工智能的专业知识!

点击“阅读原文”,使用专知

登录查看更多
5

相关内容

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

知识荟萃

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

更多

查看相关VIP内容、论文、资讯等
【ICML2020】用于强化学习的对比无监督表示嵌入
专知会员服务
27+阅读 · 2020年7月6日
《强化学习》简介小册,24页pdf
专知会员服务
261+阅读 · 2020年4月19日
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
【强化学习】深度强化学习初学者指南
专知会员服务
178+阅读 · 2019年12月14日
强化学习与文本生成
微信AI
41+阅读 · 2019年4月4日
PlaNet 简介:用于强化学习的深度规划网络
谷歌开发者
13+阅读 · 2019年3月16日
最流行的6大开源自然语言处理库对比
大数据技术
8+阅读 · 2018年8月14日
论强化学习的根本缺陷
AI科技评论
11+阅读 · 2018年7月24日
干货|浅谈强化学习的方法及学习路线
机器学习算法与Python学习
16+阅读 · 2018年3月28日
【干货】强化学习在生成对抗网络文本生成中扮演的角色(下)
【强化学习】如何开启强化学习的大门?
产业智能官
13+阅读 · 2017年9月10日
在深度学习TensorFlow 框架上使用 LSTM 进行情感分析
北京思腾合力科技有限公司
4+阅读 · 2017年8月9日
Arxiv
3+阅读 · 2019年9月5日
Hierarchical Deep Multiagent Reinforcement Learning
Arxiv
8+阅读 · 2018年9月25日
Multi-task Deep Reinforcement Learning with PopArt
Arxiv
4+阅读 · 2018年9月12日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
12+阅读 · 2018年1月20日
Arxiv
5+阅读 · 2018年1月18日
VIP会员
相关资讯
强化学习与文本生成
微信AI
41+阅读 · 2019年4月4日
PlaNet 简介:用于强化学习的深度规划网络
谷歌开发者
13+阅读 · 2019年3月16日
最流行的6大开源自然语言处理库对比
大数据技术
8+阅读 · 2018年8月14日
论强化学习的根本缺陷
AI科技评论
11+阅读 · 2018年7月24日
干货|浅谈强化学习的方法及学习路线
机器学习算法与Python学习
16+阅读 · 2018年3月28日
【干货】强化学习在生成对抗网络文本生成中扮演的角色(下)
【强化学习】如何开启强化学习的大门?
产业智能官
13+阅读 · 2017年9月10日
在深度学习TensorFlow 框架上使用 LSTM 进行情感分析
北京思腾合力科技有限公司
4+阅读 · 2017年8月9日
Top
微信扫码咨询专知VIP会员