扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

看到此文,是否觉得体内洪荒之力爆发,饥渴难耐想吐槽
本文为转载文章,若有侵权或违规行为,请联系我,会及时处理相关内容。

支付宝微  信

Facebook 创始人马克·扎克伯格是一个喜欢挑战自己的人。2015 年,他立志每周都读一本新书。而今年,他给自己的挑战更加有技术含量:搭建一个人工智能系统,就像《钢铁侠》里的 “Jarvis” 那样,理解语音/文字指令,去控制家里所有的电器……

你猜怎么样?他还真完成了。今天扎克伯格专门发了一篇博文,详细介绍 Jarvis 是怎样搭建起来的。

这台 Jarvis “人工智能电脑”能做的事情,其实已经远超过市面上任何一个同类或类似产品:它支持文字和语音指令,能控制空调温度高低、调整灯光明暗,也能从网上搜歌自动播放,还能烤面包、给他家迷之画风的“野兽”自动喂食。

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

就是这坨跟墩布一样的东西……

而且大家都知道,扎克伯格在时尚方面非常省事儿,一年到头就是一件灰色的 T 恤——不知道的是他连“从衣柜里拿出 T 恤”的功夫都省了!因为他组装了一门大炮,用 Jarvis 控制,每天早上接收命令朝他打出一件新的灰色 T 恤……

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

最重要的是,Jarvis 可以在房子的任何一间屋子里接受指令,还能明白像“打开空调”这样一句指令,发出指令的人是谁,在哪间屋子,进而打开正确的空调!

这太酷了!怎么做到的?

如下图:

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

看起来很复杂对不对?其实,如果我们将 Jarvis 看成一台电脑,就很好理解了:

1)中间的蓝色方块是 Jarvis 服务器,可以理解为处理器+硬盘;

2)右边的是操作界面,包括 Messenger 聊天机器人、iOS 语音控制应用等等,键盘、鼠标和显示器;

3)下面的三块是运行在服务器里的几种技术,包括自然语言处理、语音识别、视觉和脸部识别以及强化学习 (reinforcement learning) 等,地位相当于电脑里运行的操作系统;

4)左边的一大堆东西则是 Jarvis 可控制的电器种类,等于电脑上跑的程序。

扎克伯格在博客里介绍,在构建 Jarvis 的“操作系统”过程中,自己用到了 Python、Objective C 和 PHP 等语言。

具备了文字和语音识别、人脸识别的能力,Jarvis 现在能够控制扎克伯格家的灯光系统 (Creston)、恒温器(也即空调系统)、大门、连接流媒体音乐服务 Spotify 的 Sonos 音箱、Nest 网络摄像头(看他女儿麦克斯用的)等等。扎克伯格在博客里介绍,当自己为了 Jarvis 亲手开始写代码的时候,才发现用一个系统去控制这么多系统有多难:每个系统的语言都不一样,协议五花八门;有些电器已经联网了,有些则除了物理开关之外,根本没有控制的 interface……

比方说,扎克伯格需要用文字指令控制烤面包机,首先需要一个能联网的烤面包机……但这样的烤面包机根本找不到。最后,他不知道从哪儿翻出来一个上世纪 50 年代的面包机,然后自己给它装了一个能联网的开关。

包括这个面包机和前面提到的 T 恤大炮……开发 Jarvis 对扎克伯格的硬件开发知识也带来了不小的挑战。

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

自然语言处理

Jarvis 的语言理解能力是分两阶段实现的。

首先,扎克伯格要让 Jarvis 能理解文字,比如“卧室”、“灯光”、“开”和“关”等常用的关键词,以及能在听到过去没听到过的词,比如 Spotify 上的歌名或音乐人的时候,能够根据语境去对应的服务/设备上搜索并完成任务。

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

第二阶段则是开发一个语音转文字的系统。

那么,Jarvis 的自然语言处理能力现在到了什么水平呢?扎克伯格介绍,它的上下文语境结合能力已经达到了自己可以接受的标准。比如,当他对 Jarvis 发出“打开我办公室的空调”指令时,系统能够正确地打开他的空调,而不是妻子普利西拉的空调;再比如,扎克伯格告诉 Jarvis “给我来点音乐,”结果 Sonos 开始播放的音乐太劲爆,他又告诉 Jarvis “这个感觉不对,给我点轻松的。”Jarvis 能理解语境函数是“放音乐”,变量是“音乐”,值是“轻”,进而正确完成任务。

扎克伯格说,和特定的指令和问法相比,他跟妻子现在越来越多地使用开放式的指令,“我知道的商业产品里面,没有能做到这一点的。这里的机会很大。”他写道。

视觉和脸部识别

扎克伯格为 Jarvis 开发的机器视觉功能,主要有这么几个任务:

首先,也是最重要的任务,是识别访客。扎克伯格在自家门口装了几个不同的摄像头,从各个角度拍摄门口画面。当访客来到时,系统首先识别到门口有人便激活识别程序,捕捉访客的人脸细节,进而通过 Facebook 人脸数据库识别访客是谁。然后,Jarvis 会根据扎克伯格的日程和访客列表确认这个人是否在列表上,确认后便会打开门,并告知扎克伯格客人已经来了。

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

视觉识别功能的另一个重要任务,是为 Jarvis 处理其他任务提供上下文语境。比如当扎克伯格说“调高音响的音量”,Jarvis 需要通过摄像头观察哪个房间里有人——甚至更精确一些,扎克伯格在哪个房间里而不是正在睡觉的麦克斯在哪个房间,然后完成任务。

  交互界面

扎克伯格自己用 iPhone,在家里的每个房间都放了一台手机,上面都安装了自己开发的 Jarvis 语音控制程序。这个程序随时保持聆听(就像 Google Now 和新版 Siri 一样)这样,他可以在每个房间里都用语音随时控制 Jarvis。

扎克伯格把钢铁侠的智能助手造出来了,说句话就能控制整个豪宅!

当说话不方便的时候, Facebook Messenger 是最适合的文字对话控制界面。这主要是因为 Facebook 在今年推出了 Bot Framework,极大地方便了开发者在 Messenger 上开发聊天机器人。

Jarvis 聊天机器人会把每一条指令发送到后端的 Jarvis 服务器。如果指令是语音,服务器则会用语音识别功能翻译成文字然后处理。聊天机器人还承担了整个 Jarvis 通知系统的工作,比如当家里没人有访客来到时,系统会拍下门口画面通过 Messenger 发送给扎克伯格。


  扎克伯格的开发感悟

完成了 Jarvis 1.0 的搭建工作之后,扎克伯格获得了很多人生感悟。他说,

作为 Facebook 的 CEO,我几乎没什么时间在内部环境提交代码,但我一直没有停止编程,主要都在 Jarvis 上。我知道自己今年会学到很多关于人工智能的知识,但我没有意料的是,Jarvis 让我找回了在 Facebook 当工程师的感觉……

对于语音的看法:

不光是语音,几乎绝大部分的机器学习系统,现在的处境都是更多用于解决特定的问题(并不具备解决普遍问题的能力。)

这和从业者对人工智能的认知一样,和普罗大众的认知恰好相反。其实,人类距离强人工智能,或者 General AI 还很远。大部分人工智能系统都是解决特定任务的。

关于 Messenger 聊天机器人,他认为:

在 Messenger 上开发机器人比开发一个单独应用容易太多了。它自动就帮你解决了很多问题,比如 iOS 和 Android 跨平台,文字和图片内容理解,可靠的通知,以及权限管理等等。

更喜欢文字还是语音?这个答案很有趣:

和一个系统说话,比和系统打字更容易提高感情的投入。

简单来说,你会期待对方是“人”。

我发现我发文字比自己想象的更频繁。原因很多,比如当你周围有人的时候发语音指令还是一件挺尴尬的事情。我也更愿意接受文字的回答,这样我可以选择什么时候看。其实整个 Messenger 平台上也是一样,文字信息数量的增速比语音信息快得多。这让我产生了一种认知:未来的人工智能系统不能只有语音控制,也要有一个单独的文字对话界面。

关于整个系统:

想要让这样一个系统工作起来,我们需要更多的联网设备。不仅如此,行业也需要通用的 API 和标准,让每一台设备都能和彼此沟通。

关于 Facebook 的工程环境:

我发现,我们自己给的 iOS 和语音识别工程师提供的工具链真是太强大了。

我用到了 Messenger Bot Framework,Facebook 自己开源的 Nuclide 开发包和 Buck build 系统让开发更快更容易,FastText 文本分类系统等等。如果你对人工智能开发感兴趣,FAIR(Facebook 人工智能研究院)的 GitHub 页面值得一看。

Facebook 的核心价值观有一条就是快速行动 (move fast)。对于任何科技公司而言,使用内部开发工具快速开发都十分重要。在这点上,我很感谢我们的内部架构和工具团队。


  接下来,Jarvis 会怎样进化?

小扎说,尽管他的 2016 挑战结束了,Jarvis 还有很多提升的空间。

扎克伯格的下一个首要任务是开发 Jarvis 语音 Android 应用,让他的家人能在更多房间里发出语音指令和控制更多的电器。他还说,要让 Jarvis 学着做饭,“估计比 T 恤大炮难的多。”

长期来看,扎克伯格想提升 Jarvis 的学习能力,达到能够自学的水平。

当然,扎克伯格也在考虑通过什么方式能让 Jarvis 为更多人所用。简单的开源肯定不行,因为现在的系统和代码和扎克伯格家的系统绑定的太深了。“如果我能开发一个抽象的控制层,也许我会把它开源的。当然,它会变成一个新产品也说不定。”扎克伯格在博客里写道。

马克·扎克伯格、《快公司》

马克·扎克伯格、《快公司》


文章来源:https://news.cnblogs.com/n/559360/

发表评论

电子邮件地址不会被公开。 必填项已用*标注