北京時(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í)別,例如使用大量不同種類(lèi)的狗以訓(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)品中。這意味著你的圖片分類(lèi)和自然語(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í)做文本分類(lèi),它允許創(chuàng)建文本級(jí)的自然語(yǔ)言分類(lèi)與詞匯級(jí)地分類(lèi)標(biāo)注。
當(dāng)然其它任務(wù)還有一般的分類(lèi)問(wèn)題與回歸問(wèn)題,Create ML 允許開(kāi)發(fā)者訓(xùn)練一個(gè)模型以將數(shù)據(jù)分類(lèi)為離散的類(lèi)別或連續(xù)的數(shù)值。除此之外,Create ML 還展示了機(jī)器學(xué)習(xí)很多模塊,包括用來(lái)提升分類(lèi)或回歸模型性能的度量方法和格式化數(shù)據(jù)的方法等。
如下我們將簡(jiǎn)要展示如何使用 Create ML 創(chuàng)建圖像分類(lèi)應(yīng)用。簡(jiǎn)單而言,我們希望給定分類(lèi)器一些圖像的,然后它會(huì)輸出圖像的具體類(lèi)別。當(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è)圖像分類(lèi)器:
隨后的訓(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)練并獲得滿(mǎ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、線(xiàn)性模型等。此外,Core ML 為設(shè)備性能進(jìn)行了優(yōu)化,從而減少了內(nèi)存占用和功耗。嚴(yán)格在設(shè)備上運(yùn)行能夠確保用戶(hù)數(shù)據(jù)的隱私,并且能保證你的應(yīng)用在沒(méi)有網(wǎng)絡(luò)連接時(shí)也能夠工作和響應(yīng)。
Core ML 支持用于圖像分析的 Vision;用于自然語(yǔ)言處理的 Foundation(比如 NSLinguisticTagger 類(lèi))和用于評(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)果人工智能的專(zhuān)題報(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)更大的驚喜