狠狠撸

狠狠撸Share a Scribd company logo
深层学习ネットワークのモバイル実装
情報学専攻 メディア情報学プログラム
柳井研究室
1630081 丹野良介
深層学習の利用方法
1
背景
学習
学習タスク
推論タスク
推論
エンジン
教師データ
学習済
モデル
炒飯: 0.2
ラーメン: 0.7
味噌汁: 0.1
?多くの計算リソースが必須
?GPU利用
?比較的能力が低くてもOK
?CPUでOK
モバイル上で深層学習を扱う上での技術的知見や応用例を
検討する
2
目的
学習
学習タスク
推論タスク
推論
エンジン
教師データ
学習済
モデル
炒飯: 0.2
ラーメン: 0.7
味噌汁: 0.1
?多くの計算リソースが必須
?GPU利用
?比較的能力が低くてもOK
?CPUでOK
フレームワーク自体が iOS 上で動くように設計されてい
る.または,学習済みモデルを利用するラッパーが用意さ
れている.
例:Caffe for iOS, TensorFlow for iOS, OpenCV
最適化が不十分なためパフォーマンス低い
Caffe2C(最適化)
OpenCV DNN(非最適化)
16倍ほど遅い
3
深層学習iOSアプリ実装法1
Caffe2C OpenCV DNN
AlexNet
iPhone7Plus 106.9 1663.8
AlexNetの推論結果[ms]
右図)AlexNet
モバイル上で動作可能にする各種コンバータが存在する.
または,Appleが提供する Neural Network API を利用す
る.
例:MPS, BNNS, CoreML
2017年9月20日に一般公開(CoreML)
4
深層学習iOSアプリ実装法2
GPU CPU
MPS BNNS
Vision NLP
CoreML
Your App
iOS11
学習済
モデル
Core ML Your AppCore ML model
「coremltools」によりCoreMLで
利用可能な.mlmodelに変換
deploy
学習済みモデルファイルをiOS上で使えるように変換し,
推論部分を独自で実装する.
例:オリジナル順伝搬ライブラリを利用
5
深層学習iOSアプリ実装法3
学習
済モ
デル
Core ML Your AppCore ML model
deploy
自分で実装する必要
?深層学習モデルコンバータ
[Tanno et al, MUSICAL, 2016]
?CNNの効率的なモバイル実装
[Keiji et al, ACMMM, 2016]
オリジナル
順伝搬ライブラリ
1. iOS上でそのまま学習済みモデルを利用
6
実装法まとめ
学習済
モデル
Your App
deploy
1. iOS上でそのまま学習済みモデルを利用
2. 学習済みモデルを変換して提供されてる推論APIを利用
1. 2017年9月20日に一般公開(CoreML)
7
実装法まとめ
学習済
モデル
Core ML Your AppCore ML model
deploy
1. iOS上でそのまま学習済みモデルを利用
2. 学習済みモデルを変換して提供されてる推論APIを利用
1. 2017年9月20日に一般公開(CoreML)
3. 実装法2を独自で用意(オリジナル順伝搬ライブラリ)
8
実装法まとめ
学習済
モデル
Core ML Your AppCore ML model
deploy
自分で実装する必要
9
実行速度ベンチマーク(iPhone8Plus)
[ms]
オリジナル
順伝搬ライブラリ
CoreML
CoreML vs. オリジナル順伝搬ライブラリ
GPU vs. CPU only
同じネットワークでも
約1.5倍高速に
画像認識
101種類食事認識「DeepFoodCam」(卒研)
[International Workshop on Multimedia Assisted Dietary Management
(MADIMA) (2016)]
11種類深層学習モデルベンチマーク
物体検出
食事検出アプリ(YOLOv2)
画像変換
マルチスタイル変換「DeepStyleCam」(修士1年)
[International MultiMedia Modeling Conference (MMM)(2016)]
マテリアル変換(CycleGAN)
文字隠蔽ネットワーク(九州大学内田研とのコラボ)
領域分割(pix2pix)
線画着色(pix2pix)
複合系
食事検出+カロリー推定「DeepCalorieCam」(修士2年前期)
[International Workshop on Multimedia Assisted Dietary Management
(MADIMA) (2017)]
10
アプリ実装例
情景画像中の文字を隠蔽するネットワーク
Input: 文字有 -> Output: 文字無
U-Netを利用
画像サイズが同じものを深い層から段階的に統合
局所的特徴を保持したまま,全体的位置情報の復元が可能
11
文字隠蔽ネットワーク
Concatenate
Down-Sampling
Up-Sampling
Input Output
[Nakamura et al, ICDAR, 2017]
12
文字隠蔽ネットワーク(デモ動画)
13
マルチスタイル変換
Neural Style Transfer[Gatys et al, 2015]
画像の形状を保持したまま画風を変換
順伝搬及び誤差逆伝搬を複数回繰り返す
GPUで画像の生成に数十秒程度
Fast Style Transfer[ECCV 2016][1]
特定の画風変換を順伝搬で行うCNNを学習
非常に高速に画像を変換可能
1つのモデルで単一の画風変換のみ学習
消費メモリの増大,学習に時間要
? [1]の拡張
? 単一モデルで
複数のスタイルを
任意重みで合成
14
マルチスタイル変換(デモ動画)
Tanno, R. and Yanai, K.: DeepStyleCam: A Real-time Style Transfer App on iOS,
Proc. of International MultiMedia Modeling Conference (MMM) (2017)
物体検出とカロリー推定を組み合わせたアプリ
物体検出:YOLOv2[Redmon et al, CVPR, 2017]
カロリー推定:Multi-task CNN[Ege et al, MVA, 2017]
15
食事検出+カロリー推定
食事検出
カロリー推定
1. YOLOv2で食事検出
2. 検出された各食事領域のバウンディングボックス情報か
ら画像をクロップ
3. クロップした各食事画像をカロリー値を推定するCNNの
入力とする
16
食事検出+カロリー推定(処理フロー)
YOLOv2
Food Detection
Calorie Estimation
Multi-task
CNN
518 kcal
スパゲッティ
17
食事検出+カロリー推定(デモ動画)
Tanno, R., Ege, T. and Yanai, K.: DeepCalorieCam: An iOS App for Dish
Detection and Calorie Estimation, Proc. of International Workshop on
Multimedia Assisted Dietary Management (MADIMA) (2017)
深層学習ネットワークをモバイルに実装
技術的知見や応用例を検討
CoreMLとオリジナル順伝搬ライブラリとの比較
実行速度ベンチマーク
実装例3種類の紹介
今後の課題
深層学習+AR(拡張現実)を融合したカロリー推定アプリの実現
18
まとめ

More Related Content

深层学习ネットワークのモバイル実装