硬是要學

Core ML 機器學習框架是什麼?

今年 WWDC 2017 蘋果推出第一個可以在所有的蘋果裝置 (包和 iOS、watchOS、macOS 及 tvOS) 上運行的機器學習框架 (Machine Learning Framework)Core ML」,藉由 Core ML 的幫助可以讓這些輕量級裝置具備人工智慧運算能力。接下來我們就來研究一下 Core ML 究竟是什麼吧!

什麼是 Core ML?

Core ML 是蘋果在 WWDC 2017 發表的機器學習框架 (Machine Learning Framework),開發人員可以藉由 Core ML 的輔助,快速將已完成訓練的機器學習模型 (model) 整合進 app 中,讓 app 也能具備人工智慧的學習及預測能力。

Core ML 可以視為是整個神經網路學習系統的子集功能。在完整的神經網路學習系統建立流程中,需要藉由大量的資料來訓練、評估、調整及驗證模型,最後才將可用的模型交給機器學習引擎運作,而這些階段需要巨量的資料及 (長時間的) 運算能力,因此 Core ML 的工作就是利用已經完成訓練的模型,並且利用裝置的 CPU 及 GPU,以盡可能最小的記憶體占用以及功耗最大化運算效能及效率,。

Core ML 支援多種機器學習模型,包含:

預測模型分類支援模型種類支援工具
神經網路Feedforward, convolutional, recurrentCaffe
Keras 1.2.2
組合樹Random forests, boosted trees, decision treesscikit-learn 0.18
XGBoost 0.6
支援向量機 (SVM)Scalar regression, multiclass classificationscikit-learn 0.18
LIBSVM 3.22
正規化線性模型Linear regression, logistic regressionscikit-learn 0.18
特徵工程Sparse vectorization, dense vectorization, categorical processingscikit-learn 0.18
管道模型Sequentially chained modelsscikit-learn 0.18

由於 Core ML 本身不具備建模能力,因此蘋果也提供了模型轉換工具,能將使用如 Caffe、Keras、scikit-learn、XGBoost 及 LIBSVM等建立的模型轉換為 Core ML 可是別的模型檔案格式。

此外,由於裝置效能及可用性的限制,Core ML 可建立的深度學習網路最高只達 30 層,但是以行動裝置的應用面和處理速度來說,30 層的深度學習網路已經相當足夠。

Core ML 架構

由下方 Core ML 架構圖可以看出蘋果已經針對目前第一階段的規劃,在 Core ML 中提供三個應用領域的框架支援,包含用於高效能圖片、影片分析的 Vison,用於協助自然語言處理的 Fundation 以及讓遊戲開發商可以在遊戲中導入人工智慧的 GameplayKit 等三大應用框架。

而 Core ML 的底層也建構於 Accelerate -一個針對大型矩陣、數位訊號、影像及大數運算的框架,以及 BNNS (Basic Nural Network Subroutine)-用於實作及執行類神經網路相關功能的程式集。

目前蘋果也提供四個已轉換為 Core ML 的模型提供下載,如果您是開發人員想要先嘗試實作 Core ML 技術,可以下載這些模型實作:

  1. Places205-GoogLeNet
  2. ResNet50
  3. Inception v3
  4. VGG16

 

參考內容:Apple Machine Learning

更多Apple相關報導

Exit mobile version