写点什么

扎克伯格分享自家 AI 管理系统 Jarvis 的构建过程

  • 佚名

  • 2016-12-22
  • 本文字数:2049 字

    阅读完需:约 7 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

马克·扎克伯格在2016 年12 月19 日发布了一篇博文,分享自己为家里构建AI 管理系统、实现家居自动化控制的思路和过程。该AI 管理系统被扎克伯格命名为Jarvis(《钢铁侠》中的贾维斯)。12 月20 日,扎克伯格又继续公布了一些Jarvis 的使用视频

目前进展

扎克伯格及家人可用语音向手机或计算机下达语音指令,实现灯光、温度、电器、音乐和安防设备的控制操作。该系统具备的学习功能可使其识别主人的偏好模式、学习新词汇与概念。

Jarvis 使用到的技术

  • 自然语言处理 natural language processing
  • 语音识别 speech recognition
  • 面部识别 face recognition
  • 强化学习 reinforcement learning

Jarvis 的编程实现使用了 Python、PHP 和 Objective C。

扎克伯格家中的可控制对象

下面的设备都是文中提到的或在视频中出现的。(显然,任何一个家庭中的可控制对象数量要远远超过这个列表。)

  • Crestron 灯光
  • Crestron 温度调节器(中央空调)
  • Crestron 门锁
  • 窗帘
  • Sonos 音响设备
  • 三星电视
  • Nest 摄像头
  • 来自上世纪 50 年代的老古董烤面包片机
  • DIY 喂狗粮机 food dispenser for Beast
  • DIY 干净 T 恤发射器 t-shirt cannon
  • “大绿蛋”牌(Big Green Egg)BBQ 烤炉

可控制对象的连接工作

部分“现代”可控制对象自身联网,可直接通过 API 控制,但有些 API 无法直接通过电脑操作,扎克伯格不得不对这些 API 进行了逆向工程。

非智能电器自身不联网,只能通过智能电源插座控制开关,如果想实现更高级的自动化只能 DIY。比如,让老古董烤面包机在电源关闭时自动按下,这样在电源接通时就可以自动开始烤面包片了。

视频截图:自动化老古董烤面包机

视频截图:自动吐干净衬衫的 t-shirt cannon

用自然语言(英文)下达指令

首先,把手写输入的自然语言指令转化为 Jarvis 的可执行指令。从简单到智能,Jarvis 的升级分为不同阶段:

  1. 提取关键字,如“卧室 bedroom”、“灯光 light”、“开启 on”
  2. 学习新词汇,如“家庭活动室 family room”即等同于“客厅 living room“
  3. 根据模糊指令自行判断要执行的指令

以播放音乐为代表场景,不同模糊指令(open-ended request)的模糊程度是不同的,如:

  • play someone like you 精确指令,请求系统播放歌曲“someone like you”
  • play someone like adele 部分模糊指令,请求系统推荐类似 Adele 的歌手的歌曲
  • play some adele 部分模糊指令,请求系统推荐歌手 Adele 的歌曲
  • play me some music 完全模糊指令,请求系统自行推荐歌曲
  • play something light 部分模糊指令,请求系统播放轻松类型的歌曲

正常人平时说话以模糊指令居多,扎克伯格认为此类有针对性的模糊指令处理方案仍然蕴藏巨大的商机。

至于将语音识别为文本,现成的实现方案很多,重要的仍然是场景识别。比如当扎克伯格向 Jarvis 说“我的房间”或者“放点音乐”时,Jarvis 能够识别这是对扎克伯格的房间下达指令,而不会跑错了房间把娃吵醒。

人脸识别

Facebook 的人脸识别智能在照片中已经具备相当的准确度。在实际应用中,为了在各种情况下都能够捕捉到人物的正脸,需要在多角度布置摄像头。从摄像头接收数据的服务器不间断的运行如下程序逻辑:

  1. 有人进入摄像范围吗?
  2. 如果有,则运行人脸识别程序,返回此人的身份,再进行相应的处理(如发送通知给扎克伯格)

视频截图:扎克伯格的父母在大门口

目前,该系统已经可以实现下述效果:

  • 检测娃是睡着了还是睡醒了,继而控制音响中要播放音乐还是中文课
  • 检测扎克伯格正在哪个房间,从而能够准确处理诸如“开灯“一类的模糊指令

跟 Jarvis 交互

Jarvis 运行在扎克伯格自家的服务器上,为了更方便的在移动端跟 Jarvis 交互,扎克伯格使用 Messenger 构建了一个机器人好友 Jarvis AI 用于远程连接服务器。

目前,该机器人可以实现如下功能:

  • 接收扎克伯格发来的文本指令并即时执行
  • 接受扎克伯格发来的语音指令并即时执行
  • 若有人访问,自动将访问者在门口的照片发送给扎克伯格
  • 给扎克伯格发送提醒信息

在实际使用中,扎克伯格发现文本的使用频率要比语音高很多,因为他感觉文本更不容易打扰到身边的人,也更容易追踪管理。

然而另一方面,当人对系统说话,而系统也用语音回复的时候,人在这种交互中投入的情感毕竟要更深入。因此,即使有了好友机器人,扎克伯格还是专门做了一个 Jarvis App 放在手机里。这个 App 打开后就长期在后台开启,持续监听周边的声音以捕捉扎克伯格给 Jarvis 发出的指令。同时,扎克伯格也给 Jarvis 植入了语音,并且不断为 Jarvis 添加有趣的台词。

构造 Jarvis 用到的代码库

Facebook 在 AI 方面更多的研究成果可以参阅他们的 Facebook Research Github 页面

整个 2016 年,扎克伯格在构建 Jarvis 上一共花费了约 100 小时。

未来

功能方面,扎克伯格仍在慢慢添加和调试。他的长期目标是让 Jarvis 能够自己学习一些新技能——而当前的 AI 技术尚难以实现这一目标,仍然需要基础层面一些更加显著的发展。

扎克伯格还表示自己未来希望将这套系统开源,为此,需要构建一个抽象层,将一个通用系统从自家的设备、网络配置等隐私信息中抽离出来。

公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2016-12-22 18:005565

评论

发布
暂无评论
发现更多内容

redis的I/O多路复用

en

redis 多路复用 epoll

JVM&秒杀案例

幸福小子

JVM原理

作业-第9周

arcyao

【架构师训练营第 1 期 13 周】 作业

Bear

极客大学架构师训练营

成为架构师 - 架构师训练营第 07 周

陈永龙Vincent

面试官:Mybatis里的设计模式有哪些?我一口气答了8种

田维常

mybatis

互操作性如何助推区块链接入互联网基础设施

CECBC

区块链 密码学

架构师训练营第 1 期 -- 第十三周作业

发酵的死神

极客大学架构师训练营

架构师训练营第2期 第9周总结

月下独酌

极客大学架构师训练营

架构师训练营第九周笔记

李日盛

架构师训练营 week10 课后作业

花果山

极客大学架构师训练营

架构师训练营 week10 学习笔记

花果山

极客大学架构师训练营

盘点2020 | 我要为分布式数据库mongodb在国内影响力提升及推广做点事

杨亚洲(专注MongoDB及高性能中间件)

数据库 mongodb 盘点2020 分布式数据库mongodb

架构师训练营 2 期 Week09 作业

架构师训练营第二期 Week 9 作业

bigxiang

极客大学架构师训练营

架构师训练营第九周作业

李日盛

架构

【架构师训练营第 1 期 13 周】 学习总结

Bear

极客大学架构师训练营

成为架构师 - 架构师训练营第 08 周

陈永龙Vincent

第十二周作业

wanlinwang

极客大学架构师训练营

架构师训练营第二期 Week 9 总结

bigxiang

极客大学架构师训练营

week9 性能优化(三)作业和学习总结

杨斌

第九周学习总结

晴空万里

极客大学架构师训练营

《JAVA并发编程核心方法与框架》.pdf

田维常

并发编程

增强产业链供应链自主可控能力

CECBC

供应链

第十三周总结

orchid9

第十三周作业

orchid9

两个周末整理的垃圾回收知识,我要吐血了

moon聊技术

JVM JVM垃圾回收原理

架构师训练营 - 第十三周 - 作业一

行者

南昌“舞动”区块链

CECBC

区块链 基础设施

C语言学习你要的都在这里

C语言与CPP编程

c++ 学习 编程 C语言

JVM垃圾回收原理

幸福小子

JVM垃圾回收原理

扎克伯格分享自家AI管理系统Jarvis的构建过程_语言 & 开发_InfoQ精选文章