蘋果 ML Frameworks 簡(jiǎn)介

Outline

1.背景

2.ML Framework

3.Core ML

4.Vision Framework

5.開發(fā)流程

背景

Machine Learning 的常見應(yīng)用場(chǎng)景

Text Prediction :文本預(yù)測(cè),如輸入法預(yù)測(cè);

Entity Recognition:是指識(shí)別文本中具有特定意義的實(shí)體,主要包括人名、地名、機(jī)構(gòu)名、專有名詞等;

Sentiment? Analysis:情感分析,如對(duì)京東用戶商品評(píng)論進(jìn)行分析。

Style Transfer:圖像風(fēng)格轉(zhuǎn)化,如轉(zhuǎn)換成梵高風(fēng)格,水彩、鉛筆,油墨

Image Captioning:自動(dòng)圖像說明,通過識(shí)別圖中的實(shí)體,生成描述圖像的文本;

Music Tagging:音樂分類

Text Summarization:文本摘要,如通過算法自動(dòng)生成今日頭條文章的摘要

蘋果在ML上的應(yīng)用

其實(shí),蘋果已經(jīng)在不少產(chǎn)品中使用了ML技術(shù),如相冊(cè)分類,輸入法預(yù)測(cè),watch上的手寫識(shí)別,搜索推薦,siri語(yǔ)音識(shí)別。

如何來識(shí)別一朵玫瑰花?

ML的初衷是讓機(jī)器學(xué)習(xí)人類的思維來解決問題。那么人是如何識(shí)別出一朵玫瑰花的呢?一個(gè)沒見過玫瑰花的小朋友,自然傻傻分不清。當(dāng)有人傳授給他相關(guān)經(jīng)驗(yàn)(花瓣的形狀,顏色,氣味等特征)后,他便擁有了比較準(zhǔn)確的識(shí)別能力了。也許經(jīng)歷了幾次錯(cuò)誤識(shí)別之后,他最終真正掌握了識(shí)別玫瑰花的能力。

那么,機(jī)器也是一樣。先傳授給他經(jīng)驗(yàn),讓他記住花有哪些特征。進(jìn)而給出一些花讓他識(shí)別,根據(jù)識(shí)別的結(jié)果總結(jié)經(jīng)驗(yàn),改進(jìn)識(shí)別的思維,提升準(zhǔn)確率。最終具備較高的識(shí)別玫瑰花的能力。

當(dāng)具備了某種能力之后,就需要考慮如何應(yīng)用到實(shí)踐中,促進(jìn)社會(huì)生產(chǎn)力的進(jìn)步,提高效率,造福人類(此處存在?)。

假如讓一臺(tái)移動(dòng)終端設(shè)備(iPhone)來跑ML的Model

ML Framework

框架層級(jí)

Accelerate 和 MPS是兩個(gè)底層庫(kù),Accelerate 主要是高性能的進(jìn)行圖像、矩陣、向量、大數(shù)值運(yùn)算。使用MPS可以直接跟GPU打交道,進(jìn)行高性能圖像處理。貼下官方描述:

Accelerate:Make large-scale mathematical computations and image calculations, optimized for high performance。

The Metal Performance Shaders (MPS) framework is now available on macOS, providing a highly tuned library of image processing and machine learning primitives to developers. In Metal 2, MPS expands its machine learning capabilities to enable new classes of algorithms, such as natural language processing, to execute on the GPU.

Core MLVision之后分別單獨(dú)列出介紹,NLP是專門為自然語(yǔ)言處理相關(guān)的應(yīng)用場(chǎng)景而設(shè)計(jì)。

蘋果目前致力于讓Model可以在單個(gè)終端設(shè)備(iPhone)上運(yùn)行,有挑戰(zhàn),也有優(yōu)勢(shì):

數(shù)據(jù)不會(huì)離開終端設(shè)備,不用擔(dān)心用戶隱私被泄露

不需要網(wǎng)絡(luò)連接,無流量消耗,省錢又節(jié)能

對(duì)服務(wù)提供方來說,可以省去搭建后端服務(wù)器的花費(fèi)

7*24小時(shí)隨時(shí)可用,只要有電

Core ML

不同算法模型的運(yùn)行:輸入—>輸出

常用的一些基礎(chǔ)算法模型

對(duì)算法模型的運(yùn)行(輸入—>輸出)進(jìn)行抽象、規(guī)范化、通用化:Core ML Model

常用的 Core ML model:https://developer.apple.com/machine-learning

一般的Python算法模型轉(zhuǎn)換為 Core ML modelhttps://pypi.python.org/pypi/coremltools

example:sklearn 中的LinearRegression,經(jīng)過訓(xùn)練后的模型使用coremltools轉(zhuǎn)換為MLMODEL

Vision Framework

Vision 提供的功能

普通人臉檢測(cè)
小臉檢測(cè)
側(cè)臉檢測(cè)
臉部部分遮擋檢測(cè)
佩戴眼鏡帽子時(shí)檢測(cè)
面部輪廓點(diǎn)檢測(cè)
文本檢測(cè)

還有物體移動(dòng)追蹤,矩形區(qū)域檢測(cè)等。

圖片、視頻檢測(cè):移動(dòng)設(shè)備 VS 服務(wù)器(前面提到過,類似

個(gè)人隱私:更加私密、安全

資源消耗:免費(fèi),無數(shù)據(jù)傳輸

實(shí)時(shí)性:無延遲,立即運(yùn)行

Vision 的抽象方案

簡(jiǎn)單的使用Demo

開發(fā)流程

Core ML model 就是代碼

XCode 集成

接口調(diào)用

目前手上沒有可運(yùn)行ML Framework 的機(jī)器,本文只是理論層面的簡(jiǎn)介。運(yùn)行速度、資源消耗,模型準(zhǔn)確率對(duì)于ML的應(yīng)用來說非常重要。期待一些成熟、amazing的ML app 的誕生。

參考:Introducing Core ML? ?Vision Framework: Building on Core ML??Core ML in depth

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

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

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