AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

扎克伯格分享自家 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:005969

评论

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

说了半天跨平台,今儿咱就来跨跨!(完结篇)——Kubernetes上手实践

为自己带盐

Docker WSL2 k8s入门 签约计划第三季 8月月更

Substrate 源码更新导读八月第1周: 新版事务化存储层启用默认模式, Polkadot v0.9.27发布

彭亚伦

Substrate polkadot 波卡

传统数据中台又贵又复杂?何不试一试永久免费的下一代数据中台

雨果

数据中台 DaaS数据即服务

怎样选择一个好的SaaS知识库工具?

Geek_da0866

Linux进阶显示用户UID和GID

flow

8月月更

毕昇编译器优化:Lazy Code Motion

华为云开发者联盟

云计算 后端 表达式 毕昇编译器

论文分享:「FED BN」使用LOCAL BATCH NORMALIZATION方法解决Non-iid问题

隐语SecretFlow

密码学和算法 机器学习/深度学习

uniapp电影购票选座系统源码

清风

源码 计算机毕业设计

【Python】:如何利用Python实现文件操作

翼同学

Python 编程语言 文件操作 8月日更 入门学习

MySQL数据指令

武师叔

8月月更

crm系统哪家好?好用的crm管理系统推荐

优秀

CRM系统

艺术与科技的狂欢,云端XR支撑阿那亚2022砂之盒沉浸艺术季

阿里云弹性计算

vr 视觉计算 云XR平台 沉浸式体验 GPU实例

分贝通SAAS企业大数据体系建设经验分享

阿里云大数据AI技术

大数据

华为云全流程护航《流浪方舟》破竹首发,打造口碑爆款

华为云开发者联盟

云计算 后端 华为云 流浪方舟

不是吧,连公司里的卷王写代码都复制粘贴,这合理?

Liam

前端 代码 手写代码 代码阅读 写好代码

作为开发人员,您应该熟悉的 7 个 JavaScript 概念

flow

8月月更

Linux进阶新增用户组

flow

8月月更

OpenHarmony——内核对象队列之算法详解(下)

OpenHarmony开发者

OpenHarmony

阿里云张新涛:支持沉浸式体验应用快速落地,阿里云云XR平台发布

阿里云弹性计算

视觉计算 云XR平台 沉浸式体验 GPU实例

进行知识管理的好处有哪些?

Geek_da0866

Wallys/QCA 9880/802.11ac Mini PCIe Wi-Fi Module, Dual Band, 2,4GHz / 5GHz advanced edition

wallys-wifi6

叮~点击定制你的数字车手证,参与挑战吉尼斯世界纪录™ 称号

亚马逊云科技 (Amazon Web Services)

Amaozn DeepRacer

Linux进阶删除用户组

flow

8月月更

对数学直观、感性的认知是理解数学、喜爱数学的必经之路,这本书做到了!

图灵教育

高中数学

【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点

华为云开发者联盟

云计算 华为云 开发者大赛

体验远超Hue,这才是技术人员最喜欢的SQL工具

雨果

sql hue DaaS数据即服务

【Python】:如何处理异常报错?

翼同学

Python 编程语言 异常处理 8月月更 入门学习

Linux进阶删除用户

flow

8月月更

Go-Excelize API源码阅读(五)—— Close()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

用Python自动生成 图文并茂的数据分析 报告

程序员晚枫

Python pip Office 自动化办公

Linux进阶切换用户

flow

8月月更

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