Core ML的利与弊,会不会又是苹果的一个响声雷?

正当公有云在争夺机器学习霸主地位的时候,苹果却改变了游戏规则。随着Core ML的发布,苹果将机器学习带到了移动设备上。换句话说,机器学习现在已经不再只是贴在应用代码上的狗皮膏药。

风险投资公司Adnreessen Horowitz的Benedict Evans说,机器学习是一项基础技术,这项技术让一切变得可能。苹果的Core ML尽管没有三头六臂,但仍然代表着未来主流的机器学习技术。

运行在移动设备上的机器学习

机器学习需要依赖大量的训练数据,在你定义好预测模型之后,你需要提供足够的数据来训练模型。因此,机器学习几乎只能在云端完成。

苹果发布的Core ML将机器学习带到了移动设备上(如果传言属实,那么还未发布的iPhone 8可能会搭载AI专门芯片用于机器学习)。苹果说:

Core ML为在设备上运行进行了专门的优化,最小化内存的使用和功耗。在设备上运行机器学习可以保护用户数据的隐私,而且在没有网络连接的时候仍然能够使用这些功能。

苹果让机器学习变得极其简单,根据开发者Matthijs Holleman所言,“你只要把mlmodel文件添加到项目里,Xcode就会自动生成一个Swift或Objective-C包装类,可以轻松地使用训练过的模型”。

另一个开发者Said Ozcan说,Core ML的响应相当快,“几乎不用花多少时间就能看到预测结果,实在让人感到很吃惊”。

Core ML并不完美

InfoWorld的Serdar Yegulalp说,Core ML仍然存在一些不足:

Core ML不支持模型再训练或联合学习。所以你需要手动去做这些事情,可能需要从用户那里收集数据,然后使用这些数据重新训练模型。

不支持联合学习让苹果感到很心塞,因为Google早就支持这一特性。Google科学家Brendan McMahan和Daniel Ramage写道:

在训练数据不离开设备的情况下,机器学习能够共享预测模型,移除了对云端数据的依赖……你的设备加载当前的模型,然后通过设备上的数据来改进模型,将这些增量的变更作为一个小型的更新。只有这些小型的更新需要通过加密通道发送到云端,这些更新联合其他用户的更新来改进共享模型。而所有的数据仍然留在你的设备上。

换句话说,一大波移动设备代替了云端的服务器,从而带来了更大的可能性。更重要的是,这些共享模型对于设备来说是立即可用的,用户不需要等待更新过的模型从云端推送回来,极大地提升了用户体验。开发者Matt Newton说,“一套用于在设备上进行个人定制化的API简直就是杀手锏”。

不过,联合学习也并非完美,MacMahan和Ramage也承认:

联合学习要求机器学习开发者使用新的工具并转变思维方式:因为通信方面的成本,模型的开发、训练和评估不能直接访问原始数据。

不过不管怎样,利总是大于弊的,因此研究人员有足够的理由去解决这些挑战。

Core ML会不会又是苹果的一个响声雷?

从iCloud到苹果地图,再到Siri,苹果总是比其他同行慢一个节拍,比如高度重视云服务和AI的Google。Core ML会不会也是如此?

Amazon Web Services发布了面向开发者的机器学习服务,如Rekognition、Polly和Lex,人们却抱怨它们的功能太有限。不过AWS的总经理Swaminathan Sivasubramanian说,这些服务的目标是“将机器学习带给每一位AWS开发者”,而不是要把复杂的机器学习变成他们肩上的重担。

苹果也正在开辟一条通向机器学习的通途。不过它并不完美,对于有些开发者来说无法达到他们远大的预期。不过它仍然能够帮助开发者在机器学习上崛起。

不过,苹果不忘了另外一件事情,尽管这对于苹果的文化来说不太可能:开源Core ML,让开发者一起来把它塑造成符合他们需求的东西。Holleman指出,“既然其他很多机器学习工具都是开源的,为什么不把Core ML也开源呢?”

或许除了苹果自己,没有人真正在意苹果是否在机器学习这条道上跑偏。Evans说,“往深了看,很多机器学习技术正在被商业化,它们的API快速地进入到移动设备上……不可能只有一个Google或一个Facebook的云包揽所有的机器学习——这项技术应该是一切的基础。”

苹果的Core ML令人印象深刻,尽管不那么完美。它正在走向“机器学习即一切”的未来。

猜你喜欢

转载自blog.csdn.net/mandagod/article/details/85373217