雷锋网按:作为一家科技巨头的CEO,扎克伯格却依然保持写代码的习惯。可怕的自制力,超强的执行力,当比你有钱的人还比你更聪明更勤奋的时候,雷锋网编辑不禁开始怀疑人生。
以下文章来自扎克伯格的笔记“Building Jarvis”,由雷锋网(公众号:雷锋网)编译,未经许可不得转载。
2016年我给自己制定了一个挑战:打造一个像钢铁侠里 Jarvis 那样的家庭AI助手。
我的目的是了解人工智能发展的现状。虽然人工智能已经比人们能察觉到的要先进得多,但是依然还有很长的路要走。通过完成这些挑战,我不仅熟悉了Facebook的工程师们使用的内部技术,而且还对智能家居有了全面的了解。
在这一年里,我打造了一个可以通过手机和电脑进行对话的AI系统。它能够控制我家里的灯光、温度、电器、音乐和安防系统,而且这个AI还能了解我的品味和习惯,可以学习新的词汇和概念,甚至可以逗我的女儿Max开心。Jarvis是由Python、PHP和Objective C编写的,运用了包括自然语言处理、语音识别、面部识别以及强化学习在内的人工智能技术。
在本文中,我将会解释我创建的Jarvis到底是什么,以及我从中学到了什么。
开始:把家变成“互联网”
从某些方面来说,这个挑战比我预想的要容易。实际上,我给自己制定的跑步计划(2016年跑365公里)累计花费的时间比这还更多。不过,将我家里所有的系统全部连接起来,并让系统之间互相通信,却比我预想的要难得多。
在可以构建AI之前,我必须首先编写代码将使用不同语言和协议的系统连接起来。我们的电灯、恒温器和门使用的是Crestron系统,音乐流媒体Spotify搭配的是Sonos音箱,还有一台三星电视机,以及为Max准备的Nest Cam摄像头,当然,我的工作室连接的是Facebook的系统。为了能够通过我的电脑发布诸如开灯、播放歌曲之类的指令,我不得不对其中一些系统的API进行逆向开发。
此外,大多数的电器甚至都不能连接到互联网。虽然通过支持连接到互联网、可远程控制的电源开关能够控制其中的一些电器,但是这还远远不够。比如,如果你希望烤面包机能在接通电源的时候自动开始烤面包,但你很难找到能够让你在断电的情况下将面包按下去的烤面包机。最终,我最终找到了一个1950年代的古董烤面包机,然后把它插在了智能插座上。同样的,要想连接Beast(扎克伯格的宠物狗)的自动投食器,则需要涉及到硬件改造工作。
对于Jarvis这样的助手来说,要想能够帮助更多的人控制家里的一切,我们需要将更多的设备连接起来。而业界也需要开发通用的API和标准,让设备与设备之间能相互通信。
自然语言