写点什么

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

评论

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

美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)

Java你猿哥

MySQL redis Spring Boot 并发编程 JVm虚拟机

用低代码开发平台高效打造仓储管理数字生态

力软低代码开发平台

C语言编程—变量的构成

芯动大师

什么是Auto-GPT?如何使用、部署Auto-GPT?

炜娓道来程序人生

人工智能 AI ChatGPT

三本菜鸟美团二面被源码暴锤,46天狂学Spring,终入阿里

Java你猿哥

面试 Spring Boot sprnig spring aop spring ioc

周家恩:GaussDB(for MySQL)云原生数据库技术演进和挑战

NineData

MySQL 数据库 GaussDB GaussDB(for MySQL) 华为自研数据库

OpenHarmony Docker移植实践

OpenHarmony开发者

OpenHarmony

开源赋能 普惠未来|TencentOS Tiny诚邀您参与2023开放原子全球开源峰会

开放原子开源基金会

什么是反射?它有什么用?

javacn.site

Java 面试

智聚北京!相约全球人力资源数智化峰会

用友BIP

人力资源

用友BIP新零售产品发布,与零售企业共创新未来

用友BIP

新零售 数字营销

Springboot 一行代码实现文件上传 20个平台!少写代码到极致

Java你猿哥

Java spring Spring Boot ssm

Orillusion引擎正式开源!AIGC时代下的WebGPU轻量级3D渲染引擎!

Orillusion

开源 3D 渲染引擎 webgpu AIGC

骚操作:使用无头浏览器模拟用户操作进行截图~

王中阳Go

Go 高效工作 自动化 无头浏览器 自动截图

如何快速使用Redis可视化工具NineData?

数据库小组

数据库 Redis 可视化工具 Redis图形化工具 redis图形化界面 数据库可视化工具

OpenFeign 如何做到 "隔空取物" ?

Java你猿哥

Java Spring Cloud ssm netflix openfeign

2023-05-17:一个正整数如果能被 a 或 b 整除,那么它是神奇的。 给定三个整数 n , a , b ,返回第 n 个神奇的数字。 因为答案可能很大,所以返回答案 对 10^9 + 7 取模

福大大架构师每日一题

Go 算法 rust 福大大

如何使用Go语言实现迪米特法则

Jack

IoTLink版本更新V1.25.0

山东云则信息科技

Java 物联网平台

AIGC背后的技术分析 | K均值聚类算法Python实现

TiAmo

Python AIGC K值算法

2023企业数智化财务创新峰会 · 成都站圆满举办!

用友BIP

智能会计 价值财务

Spring中@NotEmpty、@NotBlank、@NotNull 区别和使用

Java你猿哥

Java spring Spring Boot string ssm

开源赋能 普惠未来|百度寄语2023开放原子全球开源峰会

开放原子开源基金会

ChatGPT 科普(65/100)

hackstoic

ChatGPT

《好好学习》:如何管理知识?

郭明

企业级体验:未来体验管理的价值与趋势

博文视点Broadview

浅谈中小企业为何放弃自媒体营销:定位不准、期望值过高、缺乏专业团队

石头IT视角

Java 把一个 List 转换为字符串

HoneyMoose

实现园林梦想尽在GardenPlanner 激活~

真大的脸盆

Mac Mac 软件 园林设计

eKuiper 源码解读:从一条 SQL 到流处理任务的旅程

Java你猿哥

Go golang sql ssm eKuiper

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