2025 年技术指引:让真实案例和经验为开发者开路 了解详情
写点什么

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

  • 佚名

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

    阅读完需:约 7 分钟

马克·扎克伯格在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 技术尚难以实现这一目标,仍然需要基础层面一些更加显著的发展。

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

2016-12-22 18:005692

评论

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

数据库与缓存的一致性方案演进

邱学喆

缓存 一致性

渣硕试水字节跳动,本以为简历都过不了,123+HR面直接拿到意向书

Java 编程 程序员 架构 面试

区块链通证经济——资产流动性的变革

CECBC

资产流动性

区块链如何助力中小企业解决融资难题

CECBC

区块链

数据加密:你应该知道的数仓安全

华为云开发者联盟

数据加密 GaussDB(DWS) 数仓安全 透明加密 加密函数

牛链NB系统开发案例源码

系统开发咨询1357O98O718

悖论和直觉

阳龙生

小鼎量化机器人系统开发详情介绍

系统开发咨询1357O98O718

爽啊,终于又见面了,字节跳动后端社招面试分享

Java架构之路

Java 程序员 架构 面试 编程语言

Java-技术专题-Synchronized和lock区别

洛神灬殇

Java

周小川:数字货币将是下一代货币研究工作的核心

CECBC

数字货币

AWS CDK的那些事

小铨

AWS AWS CDK

MySQL-技术专题-使用规范

洛神灬殇

MySQL

mysql实现主主数据库(双机热备)

大奎

Java-技术专题-ConcurrentHashMap读操作分析

洛神灬殇

Java ConcurrentHashMap

阿里P7大牛手把手教你!美团Android开发工程师岗位职能要求,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

2021年GitHub上爆火的999页Java面试宝典终开源

比伯

Java 编程 架构 面试 程序人生

架构师知识笔记1

felix徐

架构实战营

滴滴OCE惊喜福利!

滴滴云

蚂蚁金服三面Java面试题全解析,这也太难了吧

Java架构之路

Java 程序员 架构 面试 编程语言

小鼎机器人系统开发功能及源码

系统开发咨询1357O98O718

巩固知识体系!应聘高级Android工程师历程感言,面试建议

欢喜学安卓

android 程序员 面试 移动开发

SpringBoot-技术专题-启动自动装配过程

洛神灬殇

spring springboot

WC,误删数据库了,会被开除吗?

Java架构师迁哥

【实战问题】-- 缓存穿透之布隆过滤器(1)

秦怀杂货店

缓存 布隆过滤器 java;

如何实现一个简易版的 Spring - 如何实现 Setter 注入

mghio

spring 依赖注入

Kubernetes Ingress 可视化编辑器

倪朋飞

Kubernetes 网络

监控系统-zabbix快速入门

小铨

监控 zabbix

Python OpenCV 图像旋转,取经之旅第 11 天

梦想橡皮擦

3月日更

字节跳动5面喜提offer!分享给朋友们面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

redis+docker构建主从环境

小铨

redis Docker redis+docker 主从环境

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