北京時(shí)間 6 月 5 日凌晨,,蘋(píng)果 2018 年全球開(kāi)發(fā)者大會(huì) (WWDC) 在圣何塞的 McEnery 會(huì)議中心開(kāi)幕,。在去年的開(kāi)發(fā)者大會(huì)上,圍繞軟,、硬件,,蘋(píng)果介紹了融合機(jī)器學(xué)習(xí)與人工智能的產(chǎn)品,例如 CoreML 框架,、智能音箱 HomePod 等,。
而在今年的開(kāi)發(fā)者大會(huì)上,蘋(píng)果的核心放在了軟件上,。從 IOS 12 開(kāi)始,,庫(kù)克開(kāi)啟了今年的 WWDC。而在機(jī)器學(xué)習(xí)方面,,蘋(píng)果發(fā)布了最新的 Create ML 與 Core ML 2,。
Create ML
Create ML 文檔地址:https://developer.apple.com/documentation/create_ml
在蘋(píng)果開(kāi)發(fā)者文檔介紹中,Create ML 的目標(biāo)是為應(yīng)用程序創(chuàng)建機(jī)器學(xué)習(xí)模型,。開(kāi)發(fā)者可以使用 Swift 與 macOS 試驗(yàn)場(chǎng)等熟悉的工具在 Mac 上創(chuàng)建和訓(xùn)練定制化的機(jī)器學(xué)習(xí)模型,,例如用于圖像識(shí)別、文本語(yǔ)義抽取或數(shù)值關(guān)系搜索等任務(wù)的模型。
據(jù)介紹,,開(kāi)發(fā)者可以使用具有代表性的樣本訓(xùn)練模型來(lái)做模式識(shí)別,,例如使用大量不同種類的狗以訓(xùn)練模型識(shí)別「狗」。在訓(xùn)練完模型后,,開(kāi)發(fā)者在模型沒(méi)見(jiàn)過(guò)的數(shù)據(jù)集上測(cè)試并評(píng)估它的性能,。當(dāng)模型有較好的性能時(shí),就能使用 Core ML 將其集成到應(yīng)用程序中,。
Create ML 利用機(jī)器學(xué)習(xí)基礎(chǔ)設(shè)施建立進(jìn)蘋(píng)果 Photos 和 Siri 這樣的產(chǎn)品中,。這意味著你的圖片分類和自然語(yǔ)言處理模型可以變得更小、花費(fèi)更少的訓(xùn)練時(shí)間,。
目前 Create ML 支持的任務(wù)主要包含計(jì)算機(jī)視覺(jué),、自然語(yǔ)言處理和其它使用標(biāo)注信息進(jìn)行預(yù)測(cè)的一般模型。在計(jì)算機(jī)視覺(jué)中,,開(kāi)發(fā)者可以訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型以完成圖像識(shí)別任務(wù),。重要的是,開(kāi)發(fā)者在這一過(guò)程中可以使用 Xcode 試驗(yàn)場(chǎng)的 UI 來(lái)訓(xùn)練模型,。自然語(yǔ)言處理主要展示了如何使用機(jī)器學(xué)習(xí)做文本分類,,它允許創(chuàng)建文本級(jí)的自然語(yǔ)言分類與詞匯級(jí)地分類標(biāo)注。
當(dāng)然其它任務(wù)還有一般的分類問(wèn)題與回歸問(wèn)題,,Create ML 允許開(kāi)發(fā)者訓(xùn)練一個(gè)模型以將數(shù)據(jù)分類為離散的類別或連續(xù)的數(shù)值,。除此之外,Create ML 還展示了機(jī)器學(xué)習(xí)很多模塊,,包括用來(lái)提升分類或回歸模型性能的度量方法和格式化數(shù)據(jù)的方法等,。
如下我們將簡(jiǎn)要展示如何使用 Create ML 創(chuàng)建圖像分類應(yīng)用。簡(jiǎn)單而言,,我們希望給定分類器一些圖像的,,然后它會(huì)輸出圖像的具體類別。當(dāng)然首先我們需要準(zhǔn)備一些訓(xùn)練樣本,,包括圖像與對(duì)應(yīng)標(biāo)注,。然后在 Xcode 試驗(yàn)場(chǎng)中創(chuàng)建一個(gè) MLImageClassifierBuilder 實(shí)例,并以實(shí)時(shí)的方式查看:
// Import CreateMLUI to train the image classifier in the UI.
// For other Create ML tasks, import CreateML instead.
import CreateMLUI
let builder = MLImageClassifierBuilder()
builder.showInLiveView()
先顯示 Xcode 中的助理編輯器,,然后再運(yùn)行試驗(yàn)場(chǎng)(Playground),,這樣實(shí)時(shí)的方式就會(huì)顯示一個(gè)圖像分類器:
隨后的訓(xùn)練和評(píng)估過(guò)程都是直接拖拽訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)集完成,,非常方便,。如下將測(cè)試數(shù)據(jù)集拖拽到圖中位置后就可以開(kāi)始測(cè)試性能:
當(dāng)開(kāi)發(fā)者完成訓(xùn)練并獲得滿意的性能時(shí),一般就能保存為 Core ML 模型并添加到應(yīng)用程序中:
Core ML 2
去年,,蘋(píng)果發(fā)布了 Core ML,。這是一個(gè)在蘋(píng)果產(chǎn)品上(包括 Siri、Camera 和 QuickTyPe)使用的設(shè)備上高性能機(jī)器學(xué)習(xí)框架。Core ML 能夠幫助開(kāi)發(fā)者快速的融合多種機(jī)器學(xué)習(xí)模型到 APP 中,,包括多層的深度學(xué)習(xí)模型以及標(biāo)準(zhǔn)的 SVM,、線性模型等。此外,,Core ML 為設(shè)備性能進(jìn)行了優(yōu)化,,從而減少了內(nèi)存占用和功耗。嚴(yán)格在設(shè)備上運(yùn)行能夠確保用戶數(shù)據(jù)的隱私,,并且能保證你的應(yīng)用在沒(méi)有網(wǎng)絡(luò)連接時(shí)也能夠工作和響應(yīng),。
Core ML 支持用于圖像分析的 Vision;用于自然語(yǔ)言處理的 Foundation(比如 NSLinguisticTagger 類)和用于評(píng)估已經(jīng)學(xué)習(xí)到的決策樹(shù)的 GameplayKit,。Core ML 本身構(gòu)建于低層面的原語(yǔ)(primitives)之上,,比如 Accelerate、BNNS 和 Metal Performance Shaders,。
今天,,蘋(píng)果發(fā)布了 Core ML 2,一個(gè)更好的升級(jí)版本,。據(jù)蘋(píng)果軟件高級(jí)副總裁 Craig Federighi 介紹,,相比于上一版本使用 Batch 預(yù)測(cè)速度快了 30% 左右,使用 Quantization 模型大小減少了 75% 左右,。
小結(jié)
歷史 2 個(gè)多小時(shí) Keynote,,蘋(píng)果介紹了自己的多個(gè)軟件。除了發(fā)布 Create ML 與 Core ML 2 之外當(dāng)然還介紹了其他在人工智能領(lǐng)域的應(yīng)用,,例如隱私保護(hù),、Siri、圖片等,。
其實(shí),,從 2016 年 Backchannel 對(duì)蘋(píng)果人工智能的專題報(bào)道開(kāi)始,人們對(duì)這家公司的 AI 研究與產(chǎn)品都極為關(guān)注,,而后這家公司在 AI 方面的動(dòng)作不斷,。最近,蘋(píng)果從谷歌挖來(lái)了 John Giannandrea 來(lái)負(fù)責(zé)機(jī)器學(xué)習(xí)與 AI 策略,。此外,,一直也有消息透露蘋(píng)果在開(kāi)發(fā)自己的芯片來(lái)加速計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別等 AI 應(yīng)用,。
期待未來(lái)蘋(píng)果在產(chǎn)品融合人工智能上給我們帶來(lái)更大的驚喜