写点什么

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

评论

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

MySQL 添加用户并授予只能查询权限

叫练

知识干货:基础存储服务新手体验营

hum建应用专家

数据库

一文搞懂│什么是跨域?如何解决跨域?

前端 经验分享 跨域 7月月更

游戏有什么用?| 游戏应用价值研究案例征集

易观分析

游戏

C# 使用ToolTip控件实现气泡提示

IC00

C# WPF 上位机 7月月更

leetcode 605. Can Place Flowers 种花问题 (简单)

okokabcd

数据结构与算法 贪心算法

无需CORS,用nginx解决跨域问题,轻松实现低代码开发的前后端分离

葡萄城技术团队

nginx 前后端分离 cros

盘点波卡生态潜力项目 | 跨链特性促进多赛道繁荣

One Block Community

区块链 科技

【用户文章】P4合并实践指南之实例拆解Resolve

龙智—DevSecOps解决方案

P4合并 解决冲突

怎么学习Object.defineProperty | 一篇文章带你们快速学会

bo

JavaScript 前端 7月月更

红象云腾大数据基础平台与龙蜥社区操作系统再次完成联合测试

OpenAnolis小助手

开源 操作系统 龙蜥社区 红象云腾 兼容性互认证

网络安全网格概念以及特点简单普及

行云管家

网络安全 网络安全网格

全球云市场增势迅猛,数据安全进入法治化的强监管时代

行云管家

云计算 网络安全 数据安全

直播带货系统源码

开源直播系统源码

软件测试 APP开发 直播系统源码 直播带货系统源码

焱融科技入选北京市 2022 年度“专精特新”,领航混合云文件存储

焱融科技

用对工具,CI事半功倍

龙智—DevSecOps解决方案

ci 持续集成 ⾃动化构建 ⾃动化部署

代码合规性:开发人员使用Helix QAC的5大原因

龙智—DevSecOps解决方案

静态代码分析 Helix QAC 静态代码分析器

没有可观测性,DataOps 注定失败|TheNewStack

观测云

华为影像XMAGE:求尽世间像,终见菩提心

脑极体

波卡创始人 Gavin Wood:波卡治理 v2 会有哪些变化?

One Block Community

区块链 科技

java培训4种Map遍历 key-value 的方法

@零度

JAVA开发 map

数据库每日一题---第23天:游戏玩法分析 l

知心宝贝

数据库 程序员 算法 后端 7月月更

Gartner:无需数据中台,API就能胜任连接前端和后端的工作

雨果

数据中台 API

助力开发者,全方位解读 APISIX 测试案例

API7.ai 技术团队

开源 测试 APISIX 网关

【容器篇】Docker怎么限制资源使用

技术小生

Docker 7月月更

在 Polkadot 中进行创建的三种方式 —— 平行链、平行线程、智能合约

One Block Community

区块链 科技

大数据培训 Hive 相关知识的全面总结

@零度

hive 大数据开发

让企业数字化砸锅和IT主管背锅的软件供应链安全风险指北

FinClip

了解JVM语言

沃德

Java 程序员 7月月更

AI简报-模型集成 SAM 和SWA

AIWeker

深度学习 7月月更

自定义spring boot starter三部曲之三:源码分析spring.factories加载过程

程序员欣宸

Java springboot 7月月更

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