隨着iOS11的發布,蘋果公司也正式加入了機器學習的戰場。在新的iOS11中內置了CoreML,雖然還是Beta版本,但是功能已經非常強大了。
在這個CoreML庫里面,已經集成了一些訓練好的模型,可以在App中直接使用這些模型進行預測。
下面是蘋果對於Core ML的介紹。
CoreML讓你將很多機器學習模型集成到你的app中。除了支持層數超過30層的深度學習之外,還支持決策樹的融合,SVM(支持向量機),線性模型。由於其底層建立在Metal 和Accelerate等技術上,所以可以最大限度的發揮CPU和GPU的優勢。你可以在移動設備上運行機器學習模型,數據可以不離開設備直接被分析。
-
Vision:這部分是關於圖像分析和圖像識別的。其中包括人臉追蹤,人臉識別,航標(landmarks),文本識別,區域識別,二維碼識別,物體追蹤,圖像識別等。
其中使用的模型包括:Places205-GoogLeNet,ResNet50,Inception v3,VGG16。
這些模型最小的25M,對於app還是可以接受的,最大的有550M,不知道如何集成到app中。 -
NLPAPI:這部分是自然語言處理的API,包括語言識別,分詞,詞性還原,詞性判定,實體辨識。
-
GamePlayKit:這部分的話,應該是制作游戲時候,提供一些隨機數生成,尋找路徑(pathfinding),人工智能的庫。感覺上可能還帶有強化學習的一些功能(提到了agent behavior,這個可能是強化學習 Q-Learning的一些術語吧0)。其中也有一些Decision Trees的API,但是不知道和傳統的決策樹是否一致。
從圖中可以看到,Core ML 的底層是Accelerate 和 BNNS,BNNS(Basic neural network subroutines),框架中已經集成了神經網絡了,並且對於大規模計算和圖形計算進行了一定的優化了。Metal Performance Shaders看介紹應該是能夠使得app充分使用GPU的組件。