苹果的机器学习框架Core ML 3,使 iOS 开发人员能够集成机器学习技术到 APP 上。Core ML 3 在 WWDC 2019 上公布了一些更新,Core ML 3 引入了许多新的模型类型和新的神经网络层类型,并支持使用用户本地生成的新数据在设备上对现有模型进行再训练。
Core ML 3 引入的新模型使得使用 Core ML 来解决更多问题成为可能。新模型包括 KNN(k-Nearest Neighbor)分类器、ItemSimilarityRecommender、SoundAnalysisPreprocessing、Linked 模型、VisionFeaturePrint、NLP 模型和管道等。KNN 和 ItemSimilarityRecommender 可用于构建推荐系统;SoundAnalysisPreprocessing 可用于声音分类;Linked 模型基本上是一种优化机制,例如,如果我们有两个模型都依赖于第三个模型,那么这两个模型可以链接到第三个模型而不是包含它,这意味着第三个模型只会被加载一次;VisionFeaturePrint是一种从图像中提取特征的神经网络;NLP 模型可用于文本分析和分类,管道是结合其他模型建立的元模型。此外,新模型类型引入了 Core ML模型类型库,其中包括广义线性模型、可用于监督分类或回归问题的向量机和树集成。
最有趣的是,Core ML 3 模型可以根据设备上收集的新数据进行更新,即再训练。这也适用于 Core ML 附带的即用型模型,这意味着我们可以使用 APP 用户生成的新数据进行演变。设备上(on-device )的再训练仅支持神经网络和 KNN 模型类型,并且要确保再训练不涉及任何外部服务,因此我们的数据不需要离开我们的设备。相反地,之前版本的 Core ML 依赖于服务器端的训练。虽然设备上的训练开辟了许多新的可能性,但由于再训练不是一项简单的任务,它在 UI 上也带来了一定的复杂性。此外,需要以某种方式保存新的设备上生成的模型,来确保它们可以跨设备或在删除又重新安装 APP 后使用。
在较低的层级,Core ML 3 支持 100 多种神经网络层类型。每种层类型都专注于一种任务,例如舍入值、输入限制等。大约 70 个可用的新层意味着我们可以将更复杂的神经网络转换为 Core ML 而无需使用自定义层。查看苹果官方文档可获取所有新层类型的完整枚举。
Core ML 3.0 包含在iOS 13中,需要在MacOS 10.15上进行开发。目前注册开发人员可以使用 iOS 13 和 MacOS 10.15 的测试版。
原文链接:
Core ML 3 Extends Available Model Types, Adds On-Device Model Retrain
评论