此次苹果WWDC大会,苹果不仅在iOS的自家应用中更多使用了机器学习,还把机器学习功能作为iOS API的一部分向开发者开放,希望开发者们也用机器学习的力量开发出更好的应用程序。
除了新硬件和新系统,苹果在机器学习方面的动作终于给大家展示了成果。这次,苹果不仅在iOS的自家应用中更多使用了机器学习,还把机器学习功能作为iOS API的一部分向开发者开放,希望开发者们也用机器学习的力量开发出更好的应用程序。
在iOS的本身功能里,苹果已经尝试用机器学习带来更好的用户体验,比如在iPad上利用机器学习识别手写便签的文本、在iPhone上通过学习和预测用户的使用习惯来让iOS更省电、在照片app里自动创建的回忆相册以及面部识别,现在iOS11中的Siri也利用机器学习带来了更多贴心的功能和更流畅的对答。
苹果首先拿出了在已经自家应用中使用的Vision API和Natual Language API,分别负责图像识别处理和自然语言识别处理。
Vision API,已经运用在照片app中,提供了如下功能:
Natual Language API,已经运用在邮件和iMessage中:
还有一个GameplayKit API也会开放,它的主要功能是评估决策树。
这三个API开放以后,开发者就可以直接在自己的app中调用相关功能,无需自己重新开发机器学习模型就可以享用美妙的成果。
前几个特定用途的API都运行在Core ML之上。开发者如果想要运行自己的机器学习模型,那它也会运行在Core ML上。当然啦,自己的模型还是要先训练好才能拿来在Core ML上运行的,Core ML提供的只是多样、高效的推理运行环境。
Core ML可以支持多种网络模型,可以支持深度神经网络、复发神经网络、卷积神经网络,可以支持超过30种不同类型的层,还可以支持标准的支持向量机SVM、树集成、广义线性模型。
而且开发者可以把以上几个第三方工具创建、训练好的机器学习模型直接拿到Core ML里面来用。
Core ML会运行在本地,这样数据的隐私性安全得以保证,而且可以跟苹果系列OS的特色功能有更好的配合,另外也避免了网络环境影响app功能的问题。
执行性能方面苹果已经提前想了办法,据Craig介绍,Core ML的执行性能很高,通过Machine Learning Model Converter,在iOS设备上就会有很好的运行表现,执行速度非常快,在图像识别benchmark中比Google Pixel和三星S8快6倍。
根据官网资料,由于Core ML是基于iOS底层的Metal和Accelerate开发的,所以Core ML利用CPU和GPU资源的效率非常高,性能也可以全部发挥出来。
苹果已经在官网机器学习介绍页面 提供了四种训练好的机器学习模型,模型转换工具也在这个页面中提供了下载。感兴趣的开发者可以去下载试试了。
去年苹果收购了西雅图的机器学习初创公司Turi以后,继续在西雅图成立了自己的人工智能研究实验室,聘请了华盛顿大学教授Carlos Guestrin作为机器学习总监。Carlos Guestrin也是机器学习领域的顶尖人物之一,获得过美国国家科学基金会的职业荣誉奖和顶尖人工智能会议IJCAI的计算机与思想奖,而且也创办过机器学习公司。
曾在2013年到2017年带领过苹果人工智能开发的Daniel Gross对苹果公司的态度做了精确的表述:“苹果的内部目标是造出伟大的产品,而不是发论文”。
所以苹果没有发布自己的机器学习开发平台、没有发布开发硬件,也没有对外公布是否挖了机器学习专家到自己团队,在这种态度下就都合情合理了。苹果愿意开发人工智能应用、愿意用人工智能改善用户体验,但是目前苹果并没有做开放的前瞻性研究。从以往的苹果产品也可以看到,苹果的风格通常不是一旦有新技术就拿来做产品,而是等到成熟一些、确认能够对用户体验带来改善,才会凭借高超的工程能力把他们运用在产品中。