Mark Zuckerberg 实践他的 2016 承诺:《

Mark Zuckerberg 实践他的 2016 承诺:《

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

你猜怎幺样?他还真完成了。今天祖克柏专门发了一篇 文章 ,详细介绍 Jarvis 是怎样搭建起来的。

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

Mark Zuckerberg 实践他的 2016 承诺:《

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

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

Mark Zuckerberg 实践他的 2016 承诺:《

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

这太酷了!怎幺做到的?

如下图:

Mark Zuckerberg 实践他的 2016 承诺:《

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

中间的蓝色方块是 Jarvis 服务器,可以理解为处理器+硬盘。右边的是操作界面,包括 Messenger 聊天机器人、iOS 语音控制应用等等,键盘、鼠标和显示器。下面的三块是运行在服务器里的几种技术,包括自然语言处理、语音识别、视觉和脸部识别以及强化学习(reinforcement learning)等,地位相当于电脑里运行的操作系统。左边的一大堆东西则是 Jarvis 可控制的电器种类,等于电脑上跑的程序。

祖克柏在文章里介绍,在构建 Jarvis 的「操作系统」过程中,自己用到了 Python、Objective C 和 PHP 等语言。

具备了文字和语音识别、人脸识别的能力,Jarvis 现在能够控制祖克柏家的灯光系统(Creston)、恆温器(也即空调系统)、大门、连接流媒体音乐服务 Spotify 的 Sonos 音箱、 Nest 网路摄影机(看他女儿麦克斯用的)等等。

祖克柏在文章里介绍,当自己为了 Jarvis 亲手开始写代码的时候,才发现用一个系统去控制这幺多系统有多难:每个系统的语言都不一样,协议五花八门;有些电器已经联网了,有些则除了物理开关之外,根本没有控制的 interface……

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

包括这个麵包机和前面提到的 T-shirt 大砲……开发 Jarvis 对祖克柏的硬体开发知识也带来了不小的挑战。

Mark Zuckerberg 实践他的 2016 承诺:《

自然语言处理

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

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

Mark Zuckerberg 实践他的 2016 承诺:《

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

那幺,Jarvis 的自然语言处理能力现在到了什幺水平呢?祖克柏介绍,它的上下文语境结合能力已经达到了自己可以接受的标準。比如,当他对 Jarvis 发出「打开我办公室的空调」指令时,系统能够正确地打开他的空调,而不是妻子普利西拉的空调。

再比如,祖克柏告诉 Jarvis「给我来点音乐,」结果 Sonos 开始播放的音乐太劲爆,他又告诉 Jarvis「这个感觉不对,给我点轻鬆的。」Jarvis 能理解语境函数是「放音乐」,变量是「音乐」,值是「轻」,进而正确完成任务。

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

视觉和脸部识别

祖克柏为 Jarvis 开发的机器视觉功能,主要有这幺几个任务:

首先,也是最重要的任务,是识别访客。祖克柏在自家门口装了几个不同的摄像头,从各个角度拍摄门口画面。当访客来到时,系统首先识别到门口有人便启动识别程序,捕捉访客的人脸细节,进而通过 Facebook 人脸数据库识别访客是谁。

然后,Jarvis 会根据祖克柏的日程和访客列表确认这个人是否在列表上,确认后便会打开门,并告知祖克柏客人已经来了。

Mark Zuckerberg 实践他的 2016 承诺:《

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

交互界面

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

Mark Zuckerberg 实践他的 2016 承诺:《

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

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

祖克柏的开发感悟

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

对于语音的看法:

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

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

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

简单来说,你会期待对方是「人」。

关于整个系统:

关于 Facebook 的工程环境:

接下来,Jarvis 会怎样进化?

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

祖克柏的下一个首要任务是开发 Jarvis 语音 Android 应用,让他的家人能在更多房间里发出语音指令和控制更多的电器。他还说,要让 Jarvis 学着做饭,「估计比 T-shirt 大砲难的多。」

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

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

Mark Zuckerberg 实践他的 2016 承诺:《
上一篇:
下一篇: