苹果Create ML 全新core 机器学习教程 在Mac上训练机器学习模型

北京时间 6 月 5 日凌晨,苹果 2018 年全球开发者大会 (WWDC) 在圣何塞的 McEnery 会议中心开幕。而在今年的开发者大会上,苹果的核心放在了软件上。从 IOS 12 开始,库克开启了今年的 WWDC。而在机器学习方面,苹果发布了最新的 Create ML 与 Core ML 2。了解人工智能(AI)的朋友都知道,机器学习是 AI 技术的重点,而不断的训练是机器学习的必需品,不管是检测人脸的 AI 模型还是语音转文字的 AI 模型,都需要大量的训练。就像国产手机厂商吹嘘他们的 AI 拍照时一样,一般都需要数百万张照片的训练之后 AI 拍照才能有足够好的效果。而这个“训练”的过程其实是非常消耗 CPU 资源和存储空间的,如果把所需要的计算、存储资源对比我们的日常使用耗费的资源对比,就像是制作一部皮克斯工业级电影和平时玩一把英雄联盟一样。你当然可以用自己的四核心英特尔处理器和笔记本的显卡来完成这份工作,但这样的话往往需要好几天时间甚至更长才能训练好这个 AI。所以过去这个训练的过程往往都是在云端进行的,因为云端的服务器有更强大的计算能力,或者是有为训练 AI 专门准备的硬件。举个例子,Siri 的训练其实也是用到机器学习的原理,因此 Siri 的一切处理、计算都是在云端进行,断网就不能用了。

在苹果开发者文档介绍中,Create ML 的目标是为应用程序创建机器学习模型。开发者可以使用 Swift 与 macOS 试验场等熟悉的工具在 Mac 上创建和训练定制化的机器学习模型,例如用于图像识别、文本语义抽取或数值关系搜索等任务的模型


据介绍,开发者可以使用具有代表性的样本训练模型来做模式识别,例如使用大量不同种类的狗以训练模型识别「狗」。在训练完模型后,开发者在模型没见过的数据集上测试并评估它的性能。当模型有较好的性能时,就能使用 Core ML 将其集成到应用程序中。


Create ML 利用机器学习基础设施建立进苹果 Photos 和 Siri 这样的产品中。这意味着你的图片分类和自然语言处理模型可以变得更小、花费更少的训练时间。

目前 Create ML 支持的任务主要包含计算机视觉、自然语言处理和其它使用标注信息进行预测的一般模型。在计算机视觉中,开发者可以训练一个机器学习模型以完成图像识别任务。重要的是,开发者在这一过程中可以使用 Xcode 试验场的 UI 来训练模型。自然语言处理主要展示了如何使用机器学习做文本分类,它允许创建文本级的自然语言分类与词汇级地分类标注。

当然其它任务还有一般的分类问题与回归问题,Create ML 允许开发者训练一个模型以将数据分类为离散的类别或连续的数值。除此之外,Create ML 还展示了机器学习很多模块,包括用来提升分类或回归模型性能的度量方法和格式化数据的方法等。

如下我们将简要展示如何使用 Create ML 创建图像分类应用。简单而言,我们希望给定分类器一些图像的,然后它会输出图像的具体类别。当然首先我们需要准备一些训练样本,包括图像与对应标注。然后在 Xcode 试验场中创建一个 MLImageClassifierBuilder 实例,并以实时的方式查看:
import CreateMLUI 

let builder = MLImageClassifierBuilder()
builder.showInLiveView()

先显示 Xcode 中的助理编辑器,然后再运行试验场(Playground),这样实时的方式就会显示一个图像分类器:


随后的训练和评估过程都是直接拖拽训练数据集与测试数据集完成,非常方便。如下将测试数据集拖拽到图中位置后就可以开始测试性能

Core ML 2:

去年,苹果发布了 Core ML。这是一个在苹果产品上(包括 Siri、Camera 和 QuickTyPe)使用的设备上高性能机器学习框架。Core ML 能够帮助开发者快速的融合多种机器学习模型到 APP 中,包括多层的深度学习模型以及标准的 SVM、线性模型等。此外,Core ML 为设备性能进行了优化,从而减少了内存占用和功耗。严格在设备上运行能够确保用户数据的隐私,并且能保证你的应用在没有网络连接时也能够工作和响应。


ore ML 支持用于图像分析的 Vision;用于自然语言处理的 Foundation(比如 NSLinguisticTagger 类)和用于评估已经学习到的决策树的 GameplayKit。Core ML 本身构建于低层面的原语(primitives)之上,比如 Accelerate、BNNS 和 Metal Performance Shaders。

 Core ML 2,一个更好的升级版本。据苹果软件高级副总裁 Craig Federighi 介绍,相比于上一版本使用 Batch 预测速度快了 30% 左右,使用 Quantization 模型大小减少了 75% 左右。

猜你喜欢

转载自blog.csdn.net/ajian0051/article/details/80601040