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

【导读】可以说,对话系统和自然语言处理(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-

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2018-08-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

动态 | 谷歌也发布了Web前端机器学习库,就叫deeplearn.js

AI 科技评论按:在人工智能时代,不管是音箱、手机、汽车、app,自家产品没有用上深度学习都不好意思跟别人打招呼;另外,谷歌和 Facebook 都分别在 Te...

36660
来自专栏AI研习社

博客 | DeepMind 开源TRFL,又一个强化学习复现、创新好帮手

雷锋网 AI 科技评论按:继今年 8 月谷歌开源发布了专为学术研究人员设计的简单但鲁棒的强化学习框架「多巴胺」(Dopamine)之后,早已被谷歌母公司收购但保...

11840
来自专栏应兆康的专栏

14. 错误分析:查看开发集样本来评估ideas

当你使用猫咪APP的时候,注意到一些被错误,识别成猫咪的狗样本。一些狗长的像猫! 于是一个团队成员建议和第三方软件进行合作,使系统可以更好的处理狗样本。这些改...

38380
来自专栏大数据文摘

只需看一眼,伯克利最新机器人就可以copy你的动作!

通过观察另一个人的做法来学习一项新技能,即模仿的能力,是人类和动物智力的关键部分。我们能让机器人做同样的事情吗?

8400
来自专栏腾讯架构师的专栏

给 AI 换个“大动力小心脏”之通用 CNN 加速设计

基于 FPGA 的通用 CNN 加速设计,可以大大缩短 FPGA 开发周期,支持业务深度学习算法快速迭代;提供与GPU相媲美的计算性能,但拥有相较于 GPU 数...

1.8K20
来自专栏AI研习社

博客 | 「压缩」会是机器学习的下一个杀手级应用吗?

雷锋网AI 科技评论按:机器学习的研究正进行的如火如荼,各种新方法层出不穷。尽管这样,还有一个问题摆在面前,研究这些算法对于现实有什么用。特别是当讨论起机器学习...

8640
来自专栏ATYUN订阅号

【实验】试试这个AI实验:把2D图像转换成3D

AiTechYun 编辑:nanan ? 2D图像转换为3D 今年1月,Fleisher和Shirin Anlen(该AI的开发人员)写了一个关于图像转换的AI...

39590
来自专栏机器之心

学界 | 谷歌提出协同机器学习:通过分散的手机更新同一个云端模型

选自Google Blog 作者:Brendan McMahan、Daniel Ramage 机器之心编译 参与:微胖、韩天哲 标准的机器学习方法要求在一个机器...

315100
来自专栏AI科技评论

业界 | 「压缩」会是机器学习的下一个杀手级应用吗?

机器学习的研究正进行的如火如荼,各种新方法层出不穷。尽管这样,还有一个问题摆在面前,研究这些算法对于现实有什么用。特别是当讨论起机器学习在手机和其他设备上的应用...

8220
来自专栏AI科技评论

动态 | DeepMind 开源TRFL,又一个强化学习复现、创新好帮手

AI 科技评论按:继今年 8 月谷歌开源发布了专为学术研究人员设计的简单但鲁棒的强化学习框架「多巴胺」(Dopamine)之后,早已被谷歌母公司收购但保持独立运...

10430

扫码关注云+社区

领取腾讯云代金券