>100 Views
July 06, 18
スライド概要
2018/07/02
Deep Learning JP:
http://deeplearning.jp/hacks/
DL輪読会資料
iOSアプリでDeep Learningをモデル使ってみた 株式会社AlgoAge 安田洋介 !1
目次 ‣ Core MLの概要 ‣ 制約と解決方法 ‣ ライブラリの対応 ‣ サポートされていない層や関数 ‣ 使ってみて !2
Core MLの概要 iosに機械学習モデルを組み込むためのフレームワーク ios11からサポートされている (2018/06/10時点での最新ios versionは11.3.1) 学習済みモデル mlmodel ファイル Core ML フレームワーク !3 アプリ
Core MLの概要 CPUやGPUのリソースを効率よく 使えるように設計されている iOSのネイティブのAPIの中でも使 われている 呼び出しはとてもシンプル CPUの高速演算 参考 A peek inside coreml http://machinethink.net/blog/peek-inside-coreml/ !4 GPU演算
制約と解決方法:ライブラリの対応 Deep LearningフレームワークでオフィシャルにサポートされてるのはKerasとCaffe pytorchやtensorflowからコンバートするライブラリもあるが、まだ不安定 同じモデル構造をKerasで再構築して、重みを移してくるのが結局早道なこともある !5
制約と解決方法:サポートされていない層や関数 サポートされていない層や、活性化関数が必要になる場合もある その場合、その層の演算をswiftで実装することになる CPU演算としても書けるし、GPU演算としても書ける 今回、活性化関数を自分で記述したが、CPUとGPUで10倍近く差がでた 速さ forループ < vDSP演算 < Metal Shader処理 参考 丁寧にやり方を説明してくれてるブログ http://machinethink.net/blog/coreml-custom-layers/ vDSP関数について http://pebble8888.hatenablog.com/entry/2014/06/28/010205 Metal ShaderのAPI https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf !6
使ってみて iOSのアプリケーションの機能としてDeep Learningを実装するハードルがかなり下 がっている。Androidの場合、Tensor flow liteというフレームワークがあり、Android でも実装しやすくなってきていそう。 とはいえ、まだ記事なども少なく、活用されている事例は多くなさそうなので、チャ ンスのある領域。 同時に、やはりサーバーでやるより非力だったり、制約もあるので、計算効率の良 いモデルをどうやって作るかは重要なノウハウになっていきそう。 !7