WWDC 2019: 机器学习新工具 Create ML App

本文是 WWDC 2019 Session 430的读后感,其视频及配套 PDF 文稿链接如下:Introducing the Create ML App
本文首先介绍 Create ML 的背景知识,然后讲解全新 Create ML App 的进步,最后介绍 Create ML 所对应的使用场景。
查阅全部 WWDC 2019 专栏内容,点击此处前往小专栏。

Create ML 的背景

Create ML 是苹果于2018年 WWDC 推出的生成机器学习模型的工具。它可以接收用户给定的数据,生成 iOS 开发中需要的机器学习模型(Core ML 模型)。

iOS 开发中,机器学习模型的获取主要有以下几种:

  • 从苹果的官方主页下载现成的模型。2017年有4个现成的模型,2018年有6个,今年增加到了9个(8个图片、1个文字),数量有限,进步速度缓慢。

  • 用第三方的机器学习框架生成模型,再用 Core ML Tools 转成 Core ML 模型。2017年苹果宣布支持的框架有6个,包括 Caffee、Keras。2018年宣布支持的第三方框架增加到了11个,包括了最知名的 TensorFlow、IBM Watson、MXNet。至此 Core ML 已经完全支持市面上所有主流的框架。

  • 用 Create ML 直接训练数据生成模型。2018年推出的初代 Create ML有三个特性:使用 Swift 编程进行操作、用 Playground 训练和生成模型、在 Mac OS 上完成所有工作。

今年的 Create ML 在易用性上更进一步:无需编程即可完成操作、独立成单独的 Mac OS App、支持更多的数据类型和使用场景。

Create ML App 的主要功能

去年推出的 Create ML 的工作流程是这样的:定义数据源 -> 用数据源训练并生成模型 -> 验证和测试 -> 保存模型。整个过程需要在 Playground 中编写 Swift 代码,示例代码如下:

import Foundation
import CreateML

// 定义数据源
let trainDirectory = URL(fileURLWithPath: "/Users/createml/Desktop/Fruits")
let testDirectory = URL(fileURLWithPath: "/Users/createml/Desktop/TestFruits")

// 训练模型
let model = try MLImageClassifier(trainingData: .labeledDirectories(at: trainDirectory))

// 评估模型
let evaluation = model.evaluation(on: .labeledDirectories(at: testDirectory))

// 保存模型
try model.write(to: URL(fileURLWithPath: "/Users/createml/Desktop/FruitClassifier.mlmodel"))

今年的 Create ML App 成为了一个单独的 Mac OS 应用,它的工作流程不变,但操作却是异常简便,这里我们以花朵图片分类器为例:

  • 打开 Create ML App。打开 Xcode,选择左上菜单 Xcode 选项,在开发者工具中找到 Create ML,点击打开。

  • 选择模型类型并导入数据。选择模型类型为图片分类器,输入名称并保存。接着将准备好的训练数据(花朵图片)导入 Create ML App 中,这里可以直接拖拽,也可以通过左上角文件菜单导入。

image
  • 训练模型。点击左上角运行按钮,Create ML 一键训练并生成花朵图片分类器模型,期间我们能看到模型的训练进度、对于不同花朵图片的分类情况。
image
  • 评估模型。同导入训练数据一样,我们只需切换到测试一栏,然后将准备好的测试图片拖拽至测试框中,接着点击下方测试按钮即可。
image
  • 观察模型。至此我们已经生成了需要的花朵图片分类器,我们可以点击输出一栏对其属性进行观察。
image

整个操作无需任何编程,即使是几百张图片也只需几秒钟即可生成对应模型。不仅如此,新的 Create ML App 提供的信息相比于之前的 Playground,也更加丰富、精确、简洁。

Create ML 的应用场景

去年的 Create ML 支持图片、文本、表格3种场景,今年增加到了5个为图片、文本、表格、声音、活动5种。

  • 图片:图片分类器、目标识别。应用场景如上文中的花朵分类、艺术照特征提取、扑克牌牌面识别。其进步在于,模型生成方面运用了迁移学习和深度学习、内部集成了数据增强、模型也缩小了尺寸,也就是说应用场景更广、准确性更高、移动端适配性更好。

  • 文本:文本分类器、单词标注。应用场景如提取长文本关键信息、判段文本反应出的情绪等。苹果在 Core ML 框架上层还有专门的自然语言处理框架(NLP),它所能解决的文本问题更多、更加的高度定制化、也更加准确和易用。

  • 表格:表格分类器、表格回归、推荐系统。应用场景如根据某一物品特征判定其类别及用户满意度、根据用户喜好推荐商品等。

  • 声音:音频分类器。应用场景为识别音频类别。苹果现场展示了用一段音频来训练模型,模型可以自动识别出掌声和不同乐器发出的声音。注意声音方面虽然刚起步,但潜力很大,因为语音识别、语音转文字、文字转语音都还可以深度集成在各种 App 中。另外 Apple Watch 也针对声音模型训练进行了硬件层面的加速优化,相信未来它会更加强大。

  • 活动:活动分类器。应用场景主要集中在运动方面。例如可以通过 Apple Watch 收集的加速度、经纬度、方向、海拔等信息训练出模型。苹果展示了利用飞盘(Frisbee)运动中获取的信息训练出的活动分类器模型,它可以自动区分出正手、反手等动作,以帮助运动员评估比赛表现和状态。

image

苹果自己也将 Create ML 和 Core ML 深度运用在了其 iOS 系统中:系统自带的图片应用中,其搜索功能就运用了单词标注和图片分类器模型,它可以快速准确得标注搜索内容,并将分类的图片搜索出来。请注意这些内容都是在手机上独立完成,无需网络和服务器端的操作,这样用户的隐私也得到了充分保护。

总结

Create ML App 的独立使得其灵活性和功能再一步增强。零门槛的操作、丰富的使用场景、原生系统的支持使得 App 开发者可以更自由得定义和使用机器学习。虽然难与 TensorFlow、Pytorch 等专业框架相提并论,但在开发 App 上,Create ML 已经可以满足用户的绝大多数需求。Create ML 的最大优点在于,它是以用户需求为驱动、完全服务于 App 开发,相信在 iOS 13 后越来越多的开发者将会采用 Creat ML 和 Core ML 开发应用。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容