口頭発表【情報・通信】午前 専攻科棟 3階 G会場 講演番号 発 …...2. 深層学習による選果の構成 深層学習とは、多層構造のニューラルネットワ
モバイルOS上での深層学習による 画像認識システ...
Transcript of モバイルOS上での深層学習による 画像認識システ...
モバイルOS上での深層学習による画像認識システムの実装と比較分析
丹野良介,柳井啓司 (電気通信大学)
はじめに
モバイル端末の高性能化
–スマートフォンで画像認識が可能に
深層学習(Deep Learning)の応用
–パターン認識分野で大きな注目
1
はじめに
2
2012年
他の機械学習技術
Deep Learning
はじめに
モバイル端末の高性能化
–スマートフォンで画像認識が可能に
深層学習(Deep Learning)の応用
–パターン認識分野で大きな注目
3
Deep Learningの応用: モバイル上での画像認識
モバイル+Deep Learning
あまり研究がされていない
–特に,実装について(メモリ制限, CPU性能etc...)
Deep Learningには大規模演算が必須
–計算量がボトルネック
4
モバイルの特性
高速化の工夫は必須
目的
モバイル上でDeep Learningの実装
–画像認識システムを実装
画像認識システムの比較分析
–特に,認識時間に着目
5
モバイルの特性を考慮したDeep Learningの実装
関連研究
JetPac Spotter
–スタンドアロン型1000種類物体認識
–認識手法: Deep Learning
–非公開(認識フレームワークはOSS)
6
関連研究
河野らの研究(IWMV2013)
– Android版FoodCam
–認識手法:Fisher Vector(HOG+Color)+線形SVM
– 100種類の食事認識
岡元らの研究(MIRU2015)
– Android版DeepFoodCam
–認識手法: Deep Learning
– 100種類の食事認識+非食事 7
従来手法との比較(認識精度)
8
65.0%
70.0%
75.0%
80.0%
85.0%
90.0%
95.0%
100.0%
1 2 3 4 5 6 7 8 9 10
候補数
Deep Learning
従来手法
Top1:
74.5%
Top5:
93.5%
Top1:
65.3%
Top5:
86.7%
※100カテゴリの食事認識で比較正答率
約10%性能向上
Deep Learningによる認識エンジン
DCNNの学習
畳込み層の高速化
9
DCNNの学習
一般的にはAlexNetを学習モデルに利用
– AlexNet: 約6000万パラメータ
Network-In-Network(NIN)を採用
– Network-In-Network: 約750万パラメータ
10
メモリ制限
AlexNet vs. NIN
11
AlexNet
Network-In-Network(NIN)
全結合層
除去
AlexNetのパラメータ数のグラフ
120
0.5千万
1千万
1.5千万
2千万
2.5千万
3千万
3.5千万
4千万
その他 全結合層
全結合層を除去
Network-In-Network
パラメータ増加の原因の全結合層を除去
パラメータ数 メモリ 正答率(5位以内)
AlexNet 6000万 230MB 95.1%
NIN 750万 29MB 93.5%
0
10
20
30
40
50
60
70
80
90
100
conv relu pool norm fc other
[%]
畳込み層の高速化の必要性
畳込み層が計算時間のボトルネック
–畳込み層の畳込み演算を高速化
– Deep Learning全体の計算時間の削減
13
計算時間の大半は畳込み層
Image to column(Im2col)
画像の3次元配列を2次元配列に変換
–畳込み演算を行列積に落としこむ
14
畳込み演算の行列積表現
15
3次元配列 im2col 2次元配列
畳込み演算 行列積
畳込み演算の高速化
①BLASライブラリ
②NEON命令
16
Basic Linear Algebra Subprograms(BLAS)
BLASライブラリ
–APIを利用
– Level3 BLAS
• 𝐶 ← 𝛼𝐴𝐵 + 𝛽𝐶 行列と行列の積
– iOS: Accelerate Framework,
–Android: OpenBLAS
17
NEON命令
NEON命令
–同時に4つの32bit単精度浮動小数点の演算
– iOS: 2Core*4 = 8演算
–Android: 4Core*4 = 16演算
18
作成したアプリ
2000種類(非食事1000+食事1000)を認識することができるアプリ
– 2000CategoryCam
101種類(非食事+食事100種類)を認識することができるアプリ
– iOS版DeepFoodCam
19
2000種類物体認識アプリ
20
キーボード
マグカップマウス
2000種類物体認識アプリ
21
マグカップマウスキーボード
101種類(食事100+非食事)物体認識アプリ
22
画像認識システムの比較分析
23
DeepBeliefSDK
DeepFoodCam
iOS上に実装 比較分析
フレームワーク
Deep Learning
・BLAS・NEON
Android版: DeepFoodCam岡元らの研究(MIRU2015)
Android
VS.
実験設定
実験目的
– モバイル上での認識時間の計測
評価デバイス(2台)
– iOS: iPhone 5s(1.3GHz, RAM1GB, 2Core)
– Android: GALAXY Note3(2.3GHz, RAM3GB, 4Core)
評価方法
– 5パターンの実験
– 認識時間を20回計測して平均を算出24
OS 実験番号 高速化手法 フレームワーク
iOS (1) BLAS iOS(BLAS)
iOS (2) NEON iOS(NEON)
Android (3) BLAS Android(BLAS)
Android (4) NEON Android(NEON)
iOS (5) BLAS DeepBeliefSDK
結果
25
143ms
502ms
1652ms
251ms
418ms3.5倍
6.6倍
iOS
(BLAS)
iOS
(NEON)
Android
(BLAS)
Android
(NEON)
DeepBeliefSDK
考察
iOS: Accelerate framework
– Appleが提供
–デバイスに最適化
Android: OpenBLAS
–様々なCPUに対応
–デバイスに最適化されていない
26
まとめ
モバイル上でDeep Learningの実装
– 画像認識システムを実装
画像認識システムの比較分析
– 演算の最適な高速化工夫はモバイルOSで異なる
– iOS: Accelerate Framework(BLAS)
– Android: NEON命令27
Top 5 認識時間[ms]
Deep Learning 93.5% 143[ms]
従来手法 86.7% 96[ms]
今後の課題
CNNによる,より複雑な処理の実装
– 領域分割
– 動画像のリアルタイム処理
GPGPU 28
質疑応答
モバイル上でDeep Learningの実装
–画像認識システムを実装
画像認識システムの比較分析
–演算の高速化工夫はモバイルOSで異なる
CNNによる,より複雑な処理の実装
–領域分割
–動画像のリアルタイム処理
– GPGPU29
まとめ
今後の課題