その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

[書評]日本語初の「モバイルアプリ開発者向け」機械学習・ディープラーニング解説書

iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門」をご恵贈いただきました。機械学習関連の技術書は数あれど、モバイルアプリ開発者向けを謳ったものは日本語では初だと思います。

iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門
布留川 英一
ボーンデジタル (2019-01-26)
売り上げランキング: 171,507

モバイル向けというとCore ML/ML Kit等の学習済みモデルを活用するフレームワークやツール群を想起しますが、本書ではCreate ML、Turi Create、TensorFlow、Cloud AutoMLといったモデル作成側についても解説されています。

また目次を見るとわかりますが、機械学習ディープラーニングの定番である画像分類タスク以外に、類似画像検索、画風変換、活動分類、テキスト分類といったタスクのサンプルも登場します。

f:id:shu223:20190124143240j:plain:w400
カラー480ページの重厚な書籍です

目次

第1章 機械学習フレームワーク

  • 1-1 機械学習の概要
  • 1-2 Core ML
  • 1-3 Create ML
  • 1-4 Turi Create
  • 1-5 ML Kit
  • 1-6 Cloud AutoML
  • 1-7 TensorFlow

第2章 Core ML - 基本

  • 2-1 画像分類(画像)
  • 2-2 画像分類(カメラ映像)
  • 2-3 類似画像検索
  • 2-4 物体検出
  • 2-5 画風変換
  • 2-6 活動分類
  • 2-7 テキスト分類

第3章 Core ML - Vision・Natural Language

第4章 Create ML

  • 4-1 画像分類
  • 4-2 テキスト分類
  • 4-3 分類
  • 4-4 回帰

第5章 Turi Create - タスクベース

  • 5-1 Pythonの開発環境
  • 5-2 Jupyter Notebook
  • 5-3 画像分類
  • 5-4 類似画像検索
  • 5-5 物体検出
  • 5-6 画風変換
  • 5-7 活動分類
  • 5-8 テキスト分類
  • 5-9 レコメンド

第6章 Turi Create - アルゴリズムベース

第7章 ML Kit

  • 7-1 ML Kitの準備
  • 7-2 画像分類(画像)
  • 7-3 画像分類(カメラ映像)
  • 7-4 顔検出
  • 7-5 バーコード検出
  • 7-6 ランドマーク認識
  • 7-7 テキスト認識
  • 7-8 カスタムモデル

第8章 Cloud AutoML

  • 8-1 画像分類(Vision
  • 8-2 テキスト分類(Natural Language)
  • 8-3 翻訳(Translation)
  • 8-4 AutoML API

第9章 TensorFlow

  • 9-1 画像分類
  • 9-2 テキスト分類
  • 9-3 過学習と未学習
  • 9-4 FrozenGraphDefへの変換
  • 9-5 mlmodelファイルへの変換
  • 9-6 tfliteファイルへの変換

個人的な読み方

iOSAndroidもやる、本書に出てくるフレームワークは全部知っておきたい、という方は通読する読み方もありかと思うのですが、私はiOS専業でやっているので、基本的にはiOSに関連しそうなところをつまんで読んでいこうと思います。Core MLやVisionやCreate MLは一通り触っているのですが、Turi Createでモデルをつくるところからはほとんどやったことがない(画風変換だけはつくってみたことがある)ので、

  • Turi Createで画像分類以外のタスクのモデルを一通りつくってみる
    • 類似画像検索, 物体検出, 画風変換, 活動分類, テキスト分類, レコメンド
  • → Core MLで動かしてみる

という感じで読んでいこうかなと。

あと、TensorFlowの章の以下の項は、実務上で必要になったことがあるので、必ず読んでおこうと思います。

  • FrozenGraphDefへの変換
  • tfliteファイルへの変換

前者はmlmodelファイルへの変換に必要で、後者は実際のお仕事でLiteじゃないモデルが提供され、変換ができるのか、どれぐらい大変なのかわからないのでそのまま従来のTFバイナリと一緒にアプリに組み込んで使った、ということがあったので、把握しておきたいなと。

p25 表1-1-1 フレームワークがどういうモデルを扱うか、どのプラットフォームから使えるかetc.の一覧も興味深かったです。ML KitはTensorFlow Liteモデルを使うというのは知らなかったですし、Cloud AutoMLはAPI経由で推論を行うということで、結局どちらもiOSからも使えることになります。

まとめ

日本語初の「モバイルアプリ開発者向け」機械学習ディープラーニング解説書、「iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門」をご紹介しました!

機械学習がホットな分野なのは間違いありませんが、for モバイルとなるとまだまだ始まったばかりという感じです。興味のある方はぜひ本書をチェックしてみてください。

iPhone/Androidアプリ開発者のための機械学習・深層学習 実践入門
布留川 英一
ボーンデジタル (2019-01-26)
売り上げランキング: 171,507

参考:iOS×機械学習の記事