两个Bot自创新语言!Facebook机器人纽约自由行导航定位碾压人类

本文主要是介绍两个Bot自创新语言!Facebook机器人纽约自由行导航定位碾压人类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【新智元导读】在FAIR和蒙特利尔大学合作的最新研究中,研究人员首次将实验中将感知、行动和使用自然语言交互达成目标这三个任务结合在一起:让两个Bot使用自然语言对话,让“导游bot”将“游客bot”带到指定地点,而且导航成功率超越了人类。

Facebook让两个Bot自己游纽约,“导游Bot”在模拟的纽约市中导航定位,使用自然语言跟“游客Bot”交流,成功率超过了88%!

这已经显著超越某些“路痴”人类,而且,两个Bot还是使用自然语言在交流。

在今天最新上传到arxiv的一篇研究论文中,Facebook人工智能实验室(FAIR)与蒙特利尔大学合作,研究人工智能系统如何定位,并比人类更好地传达观测数据。

研究人员把他们的实验成为“Talk the Walk”。在实验中,他们将游客Bot随机放到纽约市的一个街角,再让一个导游Bot将前者引导到2D地图上的某个位置。导游Bot知道地图,也知道目标地点,但是不知道游客Bot在哪里;游客Bot拥有360°视角,但不知道地图,也不清楚目标地点。

游客和导游必须相互沟通,交流彼此所知道的信息,才能实现目标。

想象一下两个Bot的对话:

导游:你好,你在附近吗?
游客:你好,在我面前是“布鲁克斯兄弟”。
导游:这是家商店还是餐馆?
游客:这是一家服装店。
导游:你往地图西北角的十字路口走。
游客:我身后似乎有一家银行。
导游:好的,左转然后沿着那条路直行。
...

研究人员表示,Talk the Walk是首个将所有三个要素结合在一起的任务:感知(游客Bot观察世)、行为(游客Bot在环境中导航),以及语言交互达成目标(导游Bot为游客Bot提供引导帮助其实现目标)。


image

首次将感知、行动和使用自然语言交流达成目标结合在一起

实验中使用的街景地图数据,是MTurk众包手动收集的几个纽约市街区的360°视图。这些街景环境被整合到ParlAI中,这是Facebook的一个用于训练AI的框架,支持很多任务,包含的数据集包括SQuAD, bAbI tasks, MS MARCO, MCTest, WikiQA, WebQuestions等等。

实验中使用的自然语言数据,也是MTurk的真人对话,用几周时间收集,包含10k成功的导航对话。平均来说,人类需要超过62次行动(对话和走路)才能顺利到达目标地点。大部分行动发生在游客这边,平均每次对话44次行动。人类导游大约说了9次话(稍微比游客的8次话多一点点)。

虽然研究人员的目标是让Bot通过自然语言来处理收集到的信息,但他们发现,当Bot使用“合成语言”时,完成任务的效果更好,因为后者更依赖于使用更简单的符号来传达信息和位置。这种不那么自然的数据通信方式不仅优于人类的聊天,还能让Bot比人在自然语言聊天中更简单快读地找到自己的道路。


image

机器比人类更擅长导航定位!

Talk The Walk的实验环境设置全部来自现实世界,因此尤其困难。让两个人用文字描述自己周围的不熟悉环境已经不容易,何况两个Bot?

为了解决这个问题,研究人员提出了一个名为MASC(Masked Attention for Spatial Convolution)的机制,让Bot能快速从语言模型中解析对方回应的关键字的内容。Facebook表示,利用该流程可以使正在测试的结果的准确性翻倍。


image

结果显示,他们最好的沟通模型(emergent communication model)准确率几乎达到了70%,要显著优于从人类话语中得到最好的定位模型(大约20%),这表明人类很不善于定位,因为人类并不总能很好地传达自己的观察和行动。

不仅如此,他们最好的定位模型(continuous communication, with MASC, and T = 3)在整个导航任务测试中达到了88.33%的准确率,超过了人类76.74%的表现。

激动人心的新研究方向:用自然语言对话解决现实世界问题

研究人员表示,这是一项基础性研究,这次实验只是初步结果,还提出了更多的问题等待解决。

“如果你真的想要解决所有人工智能问题,那么你可能要有解决不同子问题的不同模块或组件,”Facebook AI研究科学家Douwe Kiela在接受TechCrunch记者采访时表示:“从这个意义上说,这个问题是一个真正的挑战。”

他希望有更多的人参与进来与他们共同在这个激动人心的新研究方向上与他们合作。


image

论文地址:https://arxiv.org/pdf/1807.03367.pdf

原文发布时间为:2018-07-12
本文作者:
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。
原文链接:两个Bot自创新语言!Facebook机器人纽约自由行导航定位碾压人类

这篇关于两个Bot自创新语言!Facebook机器人纽约自由行导航定位碾压人类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/664066

相关文章

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、