写点什么

谈谈苹果的 AI 战略

  • 2017-06-20
  • 本文字数:4219 字

    阅读完需:约 14 分钟

长期以来,苹果都对其在加州库比蒂诺实验室的研究保密,随着谷歌、微软、Facebook、IBM 甚至是亚马逊近几年在人工智能领域取得了新的突破,在 2017 年年度开发者大会上,苹果清楚地向大家表明:在硅谷其他地方随处可见的机器学习也是其软件的一个基础部分,他们将为开发人员提供工具,让他们可以在自己的 iOS 应用中使用 AI。

毫无作为 or 隐藏实力?

苹果对自己的研究一直保密,虽然目前尚不清楚这样做的最终目的是什么,但是,和众多科技公司一样:成为这个星球上最有价值的公司,大概是其目的之一。可是,除了偶尔发表的一些研究论文和期刊投稿,公众只能大致知晓苹果公司在 AI 领域研究的大方向,而关于这些研究的应用或者实验情况,很多人都云里雾里。

这不禁让人发问:苹果公司是为了隐藏实力还是他们的研究根本就没取得什么实质性的进展?

根据媒体消息,2016 年 12 月 6 日,在一个行业 AI 大会上仅面向受邀者的午餐会中,苹果公司新晋机器学习负责人罗斯·萨拉克丁诺夫(Russ Salakhutdinov)和其他苹果员工进行了议题宽泛的讨论,详细介绍了苹果公司在 AI 领域的一些进展。

苹果致力于解决的问题和其他正在探究机器学习的公司一样:识别和处理图像、预测用户行为和事件、用于个人助理软件的建模语言、设法理解当算法无法做出高度可信的决策时如何处理不确定性。

无人车领域

据参会者称,会上一张幻灯片上有两张非常有特色的汽车图片,该幻灯片汇总了苹果公司的研究,说明了“LiDAR 的体积检测”和“结构化输出预测”。对于现如今的无人驾驶汽车技术而言,LiDAR 或光感测距(和雷达类似,但借助激光)以及物理事件预测都是非常重要的组成部分。不过,鉴于所介绍的内容比较敏感,两名不愿透露姓名的与会者强调,苹果公司并没有提及他们的汽车理想。

苹果制造无人驾驶汽车传闻已久,他们甚至给美国国家公路交通安全管理局(NHTSA)发邮件,希望他们能同等对待无人驾驶汽车的测试行为,而不管该公司是这个领域的新手,还是像谷歌和 Uber 这样更成熟的无人驾驶工场。

关于无人车,苹果依旧保持神秘。

神经网络

另一张幻灯片着重介绍了苹果构建神经网络的能力。他们构建的神经网络比原始神经网络小 4.5 倍,而且没有精度损失,速度还快两倍。在 AI 研究领域,众所周知,这项技术使用更强大的神经网络训练另一个网络,使其知道在各种情况下做什么决策。然后,这位“学生”网络就会具备“老师”网络知识的简化版本。本质上,对于给定的照片或音频样本,它能做出更大网络的预测。

对于苹果这家制造移动设备的硬件公司而言,神经网络的工作至关重要。通过精简神经网络,iPhone 和 iPad 可以识别照片中的人脸和位置,或者了解用户的心率变化,而且不需要依赖远程服务器。将这些处理过程限制在手机上可以让这项功能随处可用,而且,这还使得数据无需加密,也无需通过无线网络传输。

在 2017 年的 WWDC 大会上,我们知道了这款神秘的神经网络工具名叫:Core ML。稍后的内容当中我们会重点说到它。

AI 专用芯片

对于算法在图形处理单元或 GPU(常用于服务器端加速深度学习的处理速度)上的运行效率,苹果还是非常自豪的。一张幻灯片指出,苹果的图像识别算法每秒钟处理的照片是谷歌的两倍(pdf),谷歌每秒处理 1500 张,而他们每秒可以处理 3000 张,而且大体上只需要 1/3 的 GPU。这种比较是基于在 Amazon Web Services(一个云计算的标准)上运行算法做出的。

虽然其他公司正开始基于专用芯片来加速 AI 工作,如谷歌的 TPU(张量处理单元)和微软的 FPGA(现场可编程逻辑闸阵列),值得注意的是,苹果是基于标准的 GPU。不过,我们并不知道,苹果是否为了匹配其客制化客户硬件而构建了自己的客制化 GPU,或者是从像 Nvidia 这样的大型制造商购买。Nvidia 向如此多的互联网公司出售过自己的产品,以至于人们将此说成是“在机器学习的淘金潮里卖铲子”。

另外,苹果用来训练其神经网络识别图像的图片似乎是专有的,其规模是标准 ImageNet 数据库的将近两倍。

长期以来,机器学习科学家一直批评苹果不愿向研究社区做贡献。按照与会者的说法,在面向一个了解苹果相关工作的研究人员小组演示时,萨拉克丁诺夫表示:苹果将开始发布其研究,并尽更大的努力和研究社区合作。

目前还不清楚苹果的发布承诺是只适用于机器学习研究,还是也适用于其他计算机科学研究,如安全领域。

苹果仍旧保持着神秘,大众依旧知之甚少,苹果到底在干什么?AI 真的是他们的重点研究方向吗?还是说,他们会以突然的方式,惊艳所有的怀疑者?

这种云山雾罩的情况持续到了 2017 年,苹果公司 WWDC2017 大会(年度开发者大会)召开。

开放 = 领先?

随着谷歌、微软、Facebook、IBM 甚至是亚马逊近几年在人工智能领域取得了新的突破,苹果看上去像个局外人。他们关闭了在他们的软件中对 AI 进行有意义的集成的大门——这不是苹果研究社区的一部分,他们没有提供可以让其他人将 AI 引入其系统的开发工具。

到 2017 年,情况发生了变化。

通过年度开发者大会上的一系列更新和公告,苹果清楚地向大家表明,在硅谷其他地方随处可见的机器学习也是其软件的一个基础部分,他们将为开发人员提供工具,让他们可以在自己的 iOS 应用中使用 AI。

Core ML

对于希望将 AI 构建到自己的 iOS 应用的开发人员而言,有一个以前很少在台上提及的大新闻,就是苹果新构建了一套机器学习模型和应用程序协议接口(API),名为 Core ML。开发人员可以使用这些工具将图像识别构建到照片应用中,或者引入一个使用自然语言处理技术的聊天机器人,可以理解你说的内容。

苹果首先发布了其中四个图像识别模型以及一个面向计算机视觉和自然语言处理的 API。这些工具在用户设备本地运行,也就是说,数据仍然是私有的,永远不需要在云上进行处理。这不是个新主意——即使是像谷歌这样的数据囤积者也意识到让用户在自己的设备上保存和处理数据的价值。

此外,苹果还让 AI 开发人员可以很容易地将他们自己喜欢的 AI 引入苹果设备。某些种类的深度神经网络可以直接转换为 Core ML。

苹果现在提供了 Caffe 和 Keras 支持,前者是由加州大学伯克利分校开发的一款用于构建和训练神经网络的开源软件,后者是一个可以简化那个过程的工具。值得注意的是,它不支持谷歌的开源 AI 框架 TensorFlow,那是目前为止 AI 社区中最大的 AI 框架。不过,有一个空子,创建者可以构建自己的转换器。(希望在几天内就出现这样的 TensorFlow 转换器,而不是几周之后。)

在苹果提供的预训练模型中,有一部分是开源的谷歌代码,主要面向图像识别。

需要说明的是:苹果并不是第一个发布可在移动设备运行的深度学习工具的公司。

在 WWDC 之前的谷歌 I/O 大会上,谷歌发布了“为移动而生”的 TensorFlow Lite,它将允许开发人员在用户的移动设备上实时地运行人工智能应用,有多款在移动设备上使用 TensorFlow 做翻译、风格化等工作;TensorFlow 在移动设备 CPU(高通 820)上,能够达到更高的性能和更低的功耗。

而早在 2016 年 11 月,Facebook 就已经发布了一个称为 Caffe2Go 的架构。Caffe2Go 用于实时风格转移(Style Transfer),即在用户的移动设备添加了类艺术(Art-like)过滤器。在今年的 F8 大会上, Facebook 进一步发布了 Caffe2,正式支持移动平台。而除此之外,MxNet 深度学习框架也支持多个平台,包括移动设备。

从时间上,苹果已经不是领先者,那么质量上,苹果现在发布的 CoreML 表现又如何呢?

和 Tensorflow、Caffe 等深度学习框架不同,Core ML 是完全聚集于在设备端本地进行深度学习推理的框架,而其它框架除了支持本地设备端同时也支持云端,能够推理也支持训练。苹果宣传 Inception v3 速度是 Tensorflow 的 6 倍,这是通过 MetalAPI 对于 GPU 能力充分利用的结果。

相关测试文章

相较于其他移动端深度学习框架,Core ML 看起来更方便使用。苹果很聪明的定义了一个标准的模型格式(.mlmodel),提供了流行的框架模型到该格式的转换工具,比如你可以将你的Caffe 模型转换成Core ML 的模型格式。这样就可以利用各个模型的训练阶段,而不像TensorflowLite 只能使用Tensorflow 模型。模型训练好了之后,只要拖放到XCode 中就可以使用,苹果甚至把接口的Swift 代码都生成好了,非常方便。

从目前的情况看来,Core ML 似乎在移动端上的表现更胜一筹,但是将来是否真的可以保持稳定发挥,还得靠时间来检验。

AI on iOS

苹果在主题演讲中清楚地向大家表明,发生在手机上的每个动作都会被记录,然后由操作系统的一系列机器学习算法进行分析,判断那是否预示着你希望要做一个日历预约、拨打一个朋友的电话,或者制作更好的动态照片。

从 Siri 的声音就可以看出苹果切换到了机器学习。他们不再使用预先录制好的标准答案,现在,Siri 的声音完全是由 AI 生成的。这样更灵活(苹果在大会上示范了四种不同的音调),随着技术的发展,它听上去会越来越像真人(苹果的竞争对手离这个目标已经不远了)。

苹果还一口气介绍了其他许多基于 ML 的微调整,比如,iPad 区分 Apple Pencil 的笔尖和用户的手掌,或者通过了解哪个应用需要消耗电量而动态地延长电池寿命。

研究

苹果只发表了一篇论文,但是确实是一篇不错的论文。苹果 AI 研究负责人 Ruslan Salakhutdinov 一直在做巡回演讲。举例来说,他在 Nvidia 的 GPU 技术大会上了发表了演讲,之后他还会在纽约发表演讲。此外,去年年底,在 Salakhutdinov 上任后不久,苹果在一个重大的 AI 会议上和他们的竞争对手举行了一场闭门会议。

可是,开放了自己的研究进展就代表苹果有能力成为 AI 的领跑者吗?从大多数指标看似乎并非如此。

虽然在开发者大会上,我们看到了苹果公司在 AI 领域的发展,但是与已经公开竞争很久的谷歌、微软、Nvidia 等科技公司相比,苹果目前开放的这些成果似乎并不能够成为自己最强的核心竞争力。

苹果公司在 AI 领域的想法到底是什么呢?

有人认为,开放研究是招聘到 AI 顶尖人才的最好方式,因此,我们将来可能会看到更多的论文和演讲。但是,就目前竞争激烈的 AI 市场来讲,论文和演讲的威慑力似乎远不如实在的研究成果来的强大,苹果公司如果真的想成为全球 AI 的领跑者,未来的路看起来并不好走。

参考资料:

1. https://qz.com/856546/inside-the-secret-meeting-where-apple-aapl-revealed-the-state-of-its-ai-research/

2. https://qz.com/999235/apple-is-finally-serious-about-artificial-intelligence/

3. https://qz.com/873043/apples-first-research-paper-tries-to-solve-a-problem-facing-every-company-working-on-ai/

2017-06-20 19:002585
用户头像

发布了 1008 篇内容, 共 392.7 次阅读, 收获喜欢 344 次。

关注

评论

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

曾国藩家书嘉言钞(六)

熊小北同学

曾国藩 曾国藩家书 嘉言钞

100字:对数时间复杂度

韩小非

算法 时间复杂度

字节码编程,Javassist篇一《基于javassist的第一个案例helloworld》

小傅哥

Java 字节码编程 字节码插桩 小傅哥

Laravel 7 新特性 - 流畅的字符串操作

Middleware

php laravel string

《代码整洁之道》原则整理

insight

编程

如何写作一本书(1):写前须知

英子编辑

技术 写作 读书

告诉你一个学习编程的诀窍(建议收藏)

ithuangqing

学习 编程 自学编程

SpringBoot+Mybatis Plus多租户动态数据源

zane

数据库 Spring Cloud mybatis

招聘小思考

水色

OKR实践中的痛点(2):对不qi,对不qi

大叔杨

OKR Scrum 敏捷 敏捷开发

讲一个程序员如何副业月赚三万的真实故事

非著名程序员

程序员 副业 副业赚钱 提升认知

程序员到底应该学习什么语言好?

页面仔小杨

DDD 实践手册(1.Get Started)

Joshua

领域驱动设计 DDD 系统架构 架构模式

远程办公钉钉使用体验

冯夷

钉钉

变革之路的思考

龙眼果

Filebeat + Kafka + Elasticsearch + Kibana 实现日志收集与管理

AlwaysBeta

大数据 kafka elasticsearch elastic 数据分析

ANTLR入门(一)

zane

编程语言 ANTLR

彻底明白如何设计一个良好的 API

Yezhiwei

Ruoyi Vue前后端分离版本添加UReport设计器

赵欣

Vue Ruoyi uReport

spring-cloud-stream 集成 rocketmq

再见孙悟空

RocketMQ Spring Cloud

程序员不可不知的:2020年测试六大趋势

禅道项目管理

人工智能 开源 DevOps 敏捷开发 测试

字节码编程,Javassist篇二《定义属性以及创建方法时多种入参和出参类型的使用》

小傅哥

Java 字节码编程 字节码插桩 小傅哥

从高盛的技术“开源”看金融业软件发展未来

FinClip

open-source 金融科技 数字化生态

翻译: Effective Go (3)

申屠鹏会

翻译 gol

一个平凡者的阅读故事

卷尚

从少儿编程讲讲开发行业的大趋势

kimmking

在线教育 少儿编程

高性能交易系统设计原理

廖雪峰

架构

读 Guide to Java String Pool

shengjk1

Java string pool

本地开发环境搭建利器--vagrant

aoho

DevOps 运维 vagrant

ANTLR 入门(二)

zane

编程语言 ANTLR

JDK源码分析之 ArrayList

Wh1

源码分析

谈谈苹果的AI战略_语言 & 开发_Dave Gershgorn_InfoQ精选文章