WWDC 2019: 機器學(xué)習(xí)新工具 Create ML App

本文是 WWDC 2019 Session 430的讀后感,其視頻及配套 PDF 文稿鏈接如下:Introducing the Create ML App
本文首先介紹 Create ML 的背景知識,然后講解全新 Create ML App 的進步,最后介紹 Create ML 所對應(yīng)的使用場景。
查閱全部 WWDC 2019 專欄內(nèi)容,點擊此處前往小專欄。

Create ML 的背景

Create ML 是蘋果于2018年 WWDC 推出的生成機器學(xué)習(xí)模型的工具。它可以接收用戶給定的數(shù)據(jù),生成 iOS 開發(fā)中需要的機器學(xué)習(xí)模型(Core ML 模型)。

iOS 開發(fā)中,機器學(xué)習(xí)模型的獲取主要有以下幾種:

  • 從蘋果的官方主頁下載現(xiàn)成的模型。2017年有4個現(xiàn)成的模型,2018年有6個,今年增加到了9個(8個圖片、1個文字),數(shù)量有限,進步速度緩慢。

  • 用第三方的機器學(xué)習(xí)框架生成模型,再用 Core ML Tools 轉(zhuǎn)成 Core ML 模型。2017年蘋果宣布支持的框架有6個,包括 Caffee、Keras。2018年宣布支持的第三方框架增加到了11個,包括了最知名的 TensorFlow、IBM Watson、MXNet。至此 Core ML 已經(jīng)完全支持市面上所有主流的框架。

  • 用 Create ML 直接訓(xùn)練數(shù)據(jù)生成模型。2018年推出的初代 Create ML有三個特性:使用 Swift 編程進行操作、用 Playground 訓(xùn)練和生成模型、在 Mac OS 上完成所有工作。

今年的 Create ML 在易用性上更進一步:無需編程即可完成操作、獨立成單獨的 Mac OS App、支持更多的數(shù)據(jù)類型和使用場景。

Create ML App 的主要功能

去年推出的 Create ML 的工作流程是這樣的:定義數(shù)據(jù)源 -> 用數(shù)據(jù)源訓(xùn)練并生成模型 -> 驗證和測試 -> 保存模型。整個過程需要在 Playground 中編寫 Swift 代碼,示例代碼如下:

import Foundation
import CreateML

// 定義數(shù)據(jù)源
let trainDirectory = URL(fileURLWithPath: "/Users/createml/Desktop/Fruits")
let testDirectory = URL(fileURLWithPath: "/Users/createml/Desktop/TestFruits")

// 訓(xùn)練模型
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 應(yīng)用,它的工作流程不變,但操作卻是異常簡便,這里我們以花朵圖片分類器為例:

  • 打開 Create ML App。打開 Xcode,選擇左上菜單 Xcode 選項,在開發(fā)者工具中找到 Create ML,點擊打開。

  • 選擇模型類型并導(dǎo)入數(shù)據(jù)。選擇模型類型為圖片分類器,輸入名稱并保存。接著將準(zhǔn)備好的訓(xùn)練數(shù)據(jù)(花朵圖片)導(dǎo)入 Create ML App 中,這里可以直接拖拽,也可以通過左上角文件菜單導(dǎo)入。

image
  • 訓(xùn)練模型。點擊左上角運行按鈕,Create ML 一鍵訓(xùn)練并生成花朵圖片分類器模型,期間我們能看到模型的訓(xùn)練進度、對于不同花朵圖片的分類情況。
image
  • 評估模型。同導(dǎo)入訓(xùn)練數(shù)據(jù)一樣,我們只需切換到測試一欄,然后將準(zhǔn)備好的測試圖片拖拽至測試框中,接著點擊下方測試按鈕即可。
image
  • 觀察模型。至此我們已經(jīng)生成了需要的花朵圖片分類器,我們可以點擊輸出一欄對其屬性進行觀察。
image

整個操作無需任何編程,即使是幾百張圖片也只需幾秒鐘即可生成對應(yīng)模型。不僅如此,新的 Create ML App 提供的信息相比于之前的 Playground,也更加豐富、精確、簡潔。

Create ML 的應(yīng)用場景

去年的 Create ML 支持圖片、文本、表格3種場景,今年增加到了5個為圖片、文本、表格、聲音、活動5種。

  • 圖片:圖片分類器、目標(biāo)識別。應(yīng)用場景如上文中的花朵分類、藝術(shù)照特征提取、撲克牌牌面識別。其進步在于,模型生成方面運用了遷移學(xué)習(xí)和深度學(xué)習(xí)、內(nèi)部集成了數(shù)據(jù)增強、模型也縮小了尺寸,也就是說應(yīng)用場景更廣、準(zhǔn)確性更高、移動端適配性更好。

  • 文本:文本分類器、單詞標(biāo)注。應(yīng)用場景如提取長文本關(guān)鍵信息、判段文本反應(yīng)出的情緒等。蘋果在 Core ML 框架上層還有專門的自然語言處理框架(NLP),它所能解決的文本問題更多、更加的高度定制化、也更加準(zhǔn)確和易用。

  • 表格:表格分類器、表格回歸、推薦系統(tǒng)。應(yīng)用場景如根據(jù)某一物品特征判定其類別及用戶滿意度、根據(jù)用戶喜好推薦商品等。

  • 聲音:音頻分類器。應(yīng)用場景為識別音頻類別。蘋果現(xiàn)場展示了用一段音頻來訓(xùn)練模型,模型可以自動識別出掌聲和不同樂器發(fā)出的聲音。注意聲音方面雖然剛起步,但潛力很大,因為語音識別、語音轉(zhuǎn)文字、文字轉(zhuǎn)語音都還可以深度集成在各種 App 中。另外 Apple Watch 也針對聲音模型訓(xùn)練進行了硬件層面的加速優(yōu)化,相信未來它會更加強大。

  • 活動:活動分類器。應(yīng)用場景主要集中在運動方面。例如可以通過 Apple Watch 收集的加速度、經(jīng)緯度、方向、海拔等信息訓(xùn)練出模型。蘋果展示了利用飛盤(Frisbee)運動中獲取的信息訓(xùn)練出的活動分類器模型,它可以自動區(qū)分出正手、反手等動作,以幫助運動員評估比賽表現(xiàn)和狀態(tài)。

image

蘋果自己也將 Create ML 和 Core ML 深度運用在了其 iOS 系統(tǒng)中:系統(tǒng)自帶的圖片應(yīng)用中,其搜索功能就運用了單詞標(biāo)注和圖片分類器模型,它可以快速準(zhǔn)確得標(biāo)注搜索內(nèi)容,并將分類的圖片搜索出來。請注意這些內(nèi)容都是在手機上獨立完成,無需網(wǎng)絡(luò)和服務(wù)器端的操作,這樣用戶的隱私也得到了充分保護。

總結(jié)

Create ML App 的獨立使得其靈活性和功能再一步增強。零門檻的操作、豐富的使用場景、原生系統(tǒng)的支持使得 App 開發(fā)者可以更自由得定義和使用機器學(xué)習(xí)。雖然難與 TensorFlow、Pytorch 等專業(yè)框架相提并論,但在開發(fā) App 上,Create ML 已經(jīng)可以滿足用戶的絕大多數(shù)需求。Create ML 的最大優(yōu)點在于,它是以用戶需求為驅(qū)動、完全服務(wù)于 App 開發(fā),相信在 iOS 13 后越來越多的開發(fā)者將會采用 Creat ML 和 Core ML 開發(fā)應(yīng)用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容