Facebook 推开源软体平台 ParlAI,能否让机器人更有灵魂?

5 月 16 日,Facebook 官网公布,推出全新开源软体平台 ParlAI,致力于打造一站式对话研究商店,加快提高聊天机器人的智慧聊天水平。

人工智慧的一个长期目标就是希望能製造出可以和人类自然交流的聊天机器人。现在生产出来的机器人虽然有时候可以完成具体的单个任务,但是在理解多个句子或者把多个子任务联合起来形成一个主任务上有很大的困难。像比较複杂的对话,例如,预订酒店或和它聊体育新闻。这就需要它能理解多句意,并且能够推理来进行下一轮谈话。因为人类对话很複杂,在很多有关联的任务中使用的是相同的输入输出格式,却需要不同的知识技能,机器人一定会被这些任务打败。为了达到这个目标,开发一个软体用来整合这些任务,以及可供代理学习是很有必要的。

找到了这个需求后,Facebook 的 AI 研究团队开发了一个新的开源平台,用来一次性跨越多任务,训练和测试对话模型。ParlAI 是一站式对话研究商店,研究员可以在这里提交新任务,对单个对象训练演算法,共享储存空间。它和 Mechanical Turk 结合来数据收集、训练和评估,也可以让 ParlAI 中的机器人和人对话。这个计画的目标是将现有对话资料集和学习系统整合,包括人机之间的真实对话。

ParlAI 补充了现有的 Facebook AI 研究团队的文本研究,像 FastText,它是快速和有效的文本分类工具;还有 CommAI,它是用来透过日益複杂的任务来开发通用人工智慧的框架。

ParlAI 中的任务

超过 20 个公共资料集包含在此版本中,如下图左边所示:

Facebook 推开源软体平台 ParlAI,能否让机器人更有灵魂?

任务分为 5 类

Facebook 推开源软体平台 ParlAI,能否让机器人更有灵魂?

在 ParlAI 选择一个任务和在命令行中指定它一样简单。如果资料集尚未使用,ParlAI 会自动下载它。因为所有的资料集在 ParlAI 都会以相同的方式处理,对话代理可以在它们的训练和测试之间切换。你也可以透过提供一个以逗号分隔的列表,进行一次性多任务指定;例如命令行 -t babi,squad 用了两个资料集,所有的 QA 资料立刻集合 -t #qa;或者 ParlAI 中每个任务立刻集合 -t #all,目的是为了让构建和评估一个丰富的对话模型变得简单。

多重世界;代理;老师

在 ParlAI 主要的概念(类)是多重世界,代理,和老师。世界是说话者所生活的环境,可以从简单的双向对话变化到更複杂的场景,如反应性游戏环境。代理是可以在世界上表演和说话的东西。代理可以是一个学习者,如机器学习的系统,或一个硬编码的机器人,用来与学习者互动,如游戏中的非玩家角色。最后,老师是一种和学习者交流的代理,例如,实现了以前列出的任务。

所有代理使用一个单一的格式─观察 / 操作对象(一个 Python)─交换文本,标籤,并与其他代理互相奖励。

Facebook 推开源软体平台 ParlAI,能否让机器人更有灵魂?

代理发送此消息来说话,并透过接收到相同形式的消息,来发现在环境中的其他说话者。这使我们能够解决各种对话问题,从强化学习到完全监督学习,同时保证所有的资料集符合相同的标準。当研究人员建立新的模型,他们可以很容易地应用在许多任务上。

在定义了一个世界和它的代理之后,主迴路调用其中的函数 world.parley ( ). 运行用来训练、测试或显示,世界。在左边的面板显示的一个例子,主迴路的框架,右边是 parley ( ) 实际代码。

Facebook 推开源软体平台 ParlAI,能否让机器人更有灵魂?

第一版发布的工具栏里包含工具代理,像简单的 IR 基频,同时还有两个完整神经网路案例:一个端到端的储存网路,在 Lua Torch 中执行,还有一个是长短时记忆模型 DrQA,是在 Py Torch 中执行,在 SQuAD 资料集和其他资料集之间有一个强大的效果。我们期待在未来的版本中添加一些新的任务和代理。

Mechanical Turk

製造聊天机器人,人机对话是训练过程中很重要的一部分。这就是为什幺 ParlAI 支持和 Mechanical Turk 整合来资料收集、训练和评估。这也使得研究小组的 Turk 实验可以对比,这在以前是困难的。在 ParlAI 中,Human Turkers 也可视为代理。他们可以轻鬆地与机器人交谈,以帮助训练和评估他们。随后,人─人、人─机或多人和机器人聊天都可以在标準框架内进行交互。在切换所需的角色过程中,代理不用更改代码。这是因为 Turkers 可以透过同一接口的印刷版接收和发送。

Facebook 推开源软体平台 ParlAI,能否让机器人更有灵魂?

在一个地方可以收集所有重要的对话任务,这还是第一次。ParlAI 为研究人员提供的这个场所不仅使这些任务单独地更容易迭代,也可以轻鬆地使用所有的资料来训练机器人,并透过那些技能来评估机器人。研究员透过检查存放处的代码,共享他们的 AI 学习代理,直接複製对方的实验结果,来进行彼此工作之上的研究,共同推进这个领域前进。最后,Mechanical Turk 的整合,意味着人类可以很容易地投入到与机器人交谈的循环之中,以帮助训练和评估他们。人类之间的对话对製造可以和人类交谈的机器人也很有必要。

对于 AI 来说,解决对话问题仍然是一个长期的挑战,对于这一目标的任何进展都有可能对我们今天所製造的产品带来短期利益,任何技术的进步都可能对其他行业领域带来好处。ParlAI 是一个平台,希望将做 AI 代理执行对话框的研究人员,聚在一起共同推动对话研究达到世界最先进水平。