What's new in Create ML
Machine Learning & AI 进阶 20m

Create ML 的新功能

What's new in Create ML

2022年6月6日

在 Apple 官方观看视频

一句话判断

Create ML 今年在评估和自定义两个方向做了重要增强——新的模型评估 UI 让你能从数据层面发现模型缺陷,框架 API 的扩展则让你可以更精细地定制模型。

这场 Session 讲了什么

Create ML 团队的工程师 Vrushali 介绍了 2022 年 Create ML 的两项重大更新:Create ML 应用的模型评估增强、以及 Create ML Swift 框架的扩展自定义能力。

Create ML 应用新增了丰富的评估界面:可以按类别查看精度、点击错误样本查看详细预测结果、从顶层摘要快速定位最重要的错误模式。Session 用一个食材图像分类器项目演示了如何通过评估界面发现标注错误和数据代表性不足的问题。

框架方面,Create ML API 现在支持更深层的模型定制,包括微调参数、数据增强选项、以及迁移学习的配置。

值得深挖的点

评估界面从数字到数据的闭环。 传统的评估只告诉你”精度 89%“。新的 Create ML 评估界面让你点击任何指标直接跳到对应的数据样本。比如查看”被错误分类为番茄”的图片时,可能发现它们其实是标注错误的土豆。这种从指标到数据的直接导航大幅提升了评估效率。

顶层摘要自动标注关键问题。 评估界面会自动识别并展示最重要的评估细节:正确分类数量、错误分类数量、最常见的混淆对。这些是探索模型弱点的最佳起点。

错误样本的多维度分析。 点击展开单张图片可以看到完整的预测结果(模型对每个类别的置信度),帮助你理解模型犯错的原因。是多个蔬菜混在一张图中?是形状变异太大?还是颜色混淆?

框架 API 的自定义能力。 Create ML 框架现在允许更精细的模型配置,包括训练参数调整、数据增强策略、以及基于迁移学习的微调。这些功能之前只在 Create ML 应用中可用,现在可以通过代码自动化。

代码片段

import CreateML

// 使用 Create ML 框架创建自定义图像分类器
let trainingData = try MLImageClassifier.DataSource(
    labeledDirectoriesAt: trainingDataURL
)

// 配置模型参数(今年新增的自定义选项)
let modelParameters = MLImageClassifier.ModelParameters(
    validation: .split(strategy: .automatic),  // 验证集划分策略
    maxIterations: 50,
    augmentation: []  // 数据增强选项
)

// 训练模型
let classifier = try MLImageClassifier(
    trainingData: trainingData,
    parameters: modelParameters,
    sessionParameters: MLTrainingSessionParameters(
        iterationInterval: 10,  // 每 10 轮保存检查点
        checkpointDirectory: checkpointURL
    )
)

// 评估模型
let testData = try MLImageClassifier.DataSource(
    labeledDirectoriesAt: testDataURL
)
let evaluation = classifier.evaluation(on: testData)
print("测试精度: \(evaluation.classificationError)")

// 导出 Core ML 模型
let metadata = MLModelMetadata(
    author: "Your Name",
    shortDescription: "食材图像分类器",
    version: "1.0"
)
try classifier.write(to: modelURL, metadata: metadata)

最佳实践

  • 使用 Create ML 应用的评估界面从顶层摘要开始探索,逐步深入到具体样本
  • 发现标注错误后,直接在 Finder 中标记有问题的文件,方便后续修正
  • 关注混淆矩阵中最常见的混淆对,它指向模型最大的弱点
  • 评估时注意检查是否存在”多目标”图片,考虑是否应该改用目标检测器
  • 利用 Create ML 框架的 API 将模型训练和评估自动化
  • 定期收集新数据并重新训练,模型质量很大程度上取决于数据的数量、质量和多样性

还有什么值得关注

  • 对象检测(Object Detection)模板适合一张图中包含多个目标的场景
  • Create ML 应用和框架可以配合使用——应用做探索性分析,框架做自动化流水线
  • 评估中发现的数据质量问题应该反馈到数据收集环节,形成持续改进的循环
WWDC 2022