Appleの機械学習フレームワークCore MLとCreate MLについて

投稿者: | 2019年4月22日

Appleの機械学習フレームワークCore ML/Create ML

NVIDIAとイマイチ仲のよろしくないAppleが独自に開発した機械学習系のFrameworkがCore MLとCreate ML。

iOSやtvOSで機械学習系のアプリを作るならこれらの利用を検討する価値がある。もちろんTensorFlowなどでNVIDIAのGPUをガンガン使って作ったモデルをインポートすることも可能で、そのためにも使えるのがCore ML。TensorFlow LiteのApple版とも言えるかも知れない。

すでにAppleがビルドしたモデルがいくつか利用できるので、とりあえずiPhone/iPadでMachine Learningという事ができる。

逆にモデルを作る側のFrameworkがCreate ML。ただし今のところmacOS限定。もしこちらもiOSで動くようになれば、いわゆるエッジMLが可能となるのである。A12の速さを考えれば、既に取り組んでいる可能性もある。

こちらはMacが必要とは言ってもPythonなど他の言語を学ぶ必要が無いし、Core MLとの連携がスムーズである。とにかく他のフレームワークを介するより楽にMLアプリが作れるのが魅力である。

例によって例のごとく日本語の情報が少ないので英語のドキュメントを上げておく。

本家の開発者向けページ

Core ML

Create ML

MobileでのML/AIに対する良記事が沢山掲載されているサイト

Heartbeat

特に面白かったのが行列の人数をAIでカウントする記事ここにCore MLの優れた点やEdge AIの将来について言及がある。

Core MLに冠する書籍

Beginning Machine Learning in iOS: CoreML Framework, Mohit Thakkar, Apress 2019.

TOCは次のようなもの。見ての通り、ごく短い本ながら手広く入り口を紹介してくれている。Chapter 4がCreate MLの章である。

Chapter 1: Introduction to Machine Learning 1
What Is Machine Learning? 1
Perceptron Learning Algorithm 9
Types of Machine Learning 11
Summary 12

Chapter 2: Introduction to Core ML Framework 15
Core ML at a Glance 15
Core ML Components 17
Training and Inference 18
Machine Learning Models 20
Beginning with Xcode 21
Photos Application Using Xcode 29
Using a Core ML Model in Your Application 37
Summary 48

Chapter 3: Custom Core ML Models Using Turi Create 51
Necessity for a Custom Model 51
Life Cycle of a Custom Model Creation 52
Assembling Data 55
Introduction to Turi Create 56
Training and Evaluating a Custom Model 60
Converting a Custom Model into Core ML 69
Using a Custom Model in Your Application 75
Summary 93

Chapter 4: Custom Core ML Models Using Create ML 95
Introduction to Create ML 95
Image Classification 97
Text Classification 109
Regression Model 126
Summary 137

Chapter 5: Improving Computational Efficiency 139
GPU vs. CPU Processing 139
Key Considerations while Implementing Machine Learning 141
Accelerate 142
vImage – Image Transformation 143
vDSP – Digital Signal Processing 144
BLAS and LAPACK 145
vMathLib  145
vBigNum  145
Metal Performance Shaders 146
Summary 150

Index 153

もう一冊がMachine Learning with Swift, Alexander Sosnovshchenko, Packt Publishing 2018.

こちらはiOSデベロッパー向けに機械学習の基本から解きほぐし、様々な実例を示している。こちらにはCreate MLへの言及はない。

本文345ページ分の目次は長すぎるので著者による抜粋を示す。

What this book covers
Chapter 1, Getting Started with Machine Learning, teaches the main concepts of machine
learning.

Chapter 2, Classification – Decision Tree Learning, builds our first machine learning
application.

Chapter 3, K-Nearest Neighbors Classifier, continues exploring classification algorithms, and
we learn about instance-based learning algorithms.

Chapter 4, K-Means Clustering, continues with instance-based algorithms, this time focusing
on an unsupervised clustering task.

Chapter 5, Association Rule Learning, explores unsupervised learning more deeply.

Chapter 6, Linear Regression and Gradient Descent, returns to supervised learning, but this
time we switch our attention from non-parametric models, such as KNN and k-means, to
parametric linear models.

Chapter 7, Linear Classifier and Logistic Regression, continues by building different, more
complex models on top of linear regression: polynomial regression, regularized regression,
and logistic regression.

Chapter 8, Neural Networks, implements our first neural network.

Chapter 9, Convolutional Neural Networks, continues NNs, but this time we focus on
convolutional NNs, which are especially popular in the computer vision domain.

Chapter 10, Natural Language Processing, explores the amazing world of human natural
language. We're also going to use neural networks to build several chatbots with different
personalities.

Chapter 11, Machine Learning Libraries, overviews existing iOS-compatible libraries for
machine learning.

Chapter 12, Optimizing Neural Networks for Mobile Devices, talks about deep neural network
deployment on mobile platforms.

Chapter 13, Best Practices, discusses a machine learning app's life cycle, common problems
in AI projects, and how to solve them.

まずはCore MLの設定をして既存のモデルを利用したMLアプリを作成するのが目標だ。

コメントを残す