セミナー資料 - G-DEP|GPUコンピューティングパートナーシップ

2015/5/26
ディープラーニングフォーラム2015
@ベルサール秋葉葉原
ディープラーニング最近の進展と
ビジネス応⽤用への課題
株式会社 Preferred Networks
⼤大野健太 [email protected]
⾃自⼰己紹介
•
⼤大野健太(@delta2323_)
•
経歴:数理理科学研究科・修⼠士課程(共形幾何)
•
→ 2012.3 PFI
•
→ 2014.10 PFN
•
所属:研究班(担当領領域:理理論論解析・ライフサイエンス)
•
ブログ:http://delta2323.github.io
•
⽇日経ビッグデータ様「ディープラーニングのビジネス活⽤用を探る」連載中
2
アジェンダ
•
会社紹介
•
分散深層学習の創薬への応⽤用(活性予測による候補化合物選定)
•
深層学習のビジネス応⽤用への課題
略略記
• NN:Neural Network
• DNN:Deep Neural Network
• CNN:Convolutional Neural Network
• RNN:Recurrent Neural Network
3
株式会社Preferred Networks
Preferred Infrastructure(PFI、2006年年創業)
l
検索索・機械学習のソフトウェア研究開発
Preferred Networks(PFN、2014年年設⽴立立)
l
IoTにフォーカスするためスピンオフ
l
深層学習など最新技術を開発
代表取締役
⻄西川徹
検索索エンジン
/
分析ソフト
深層学習
機械学習
4
取締役副社⻑⾧長
岡野原⼤大輔
IoTアプリケーションの直⾯面する課題
データの中央集権的収集は困難になる
データ量量の問題:⽇日本にある監視カメラ・スマートフォンの⽣生成データは推定1000PB/Year
情報量量の問題:データ量量に反して⽣生成データの価値密度度は薄い
プライバシーの問題:機微データはクラウドへデータをアップロードしたくない・できない
5
エッジヘビーコンピューティング
データを⼀一カ所に集めない前提のもとで深い分析を実現する
ネットワークのエッジ上のデバイスでローカルにデータ解析
抽出された情報(学習モデル)をクラウドに上げグローバルな解析を⾏行行う
6
収集からアクションまで統合的なデータ活⽤用
Sense
Organize
Analyze
7
Act
様々な分野への技術適⽤用のための連携
•
⽇日本電信電話株式会社(NTT)様と深層学習など
の次世代データ解析技術開発を⽬目的とした資
本・業務提携契約締結
•
トヨタ⾃自動⾞車車社様と⾃自動運転技術研究開発を⽬目
的とした共同研究開発契約締結
•
Cisco様 Entpreneurs in Residence (EIR)プロ
グラムへの参加
•
京都⼤大学iPS細胞研究所(CiRA)様とiPS細胞機
能メカニズムの解明・次世代シーケンサーデー
タの解析における機械学習技術の応⽤用を⽬目的と
した共同研究契約締結
8
深層学習を⽤用いた⾏行行動解析デモ(1/2)
位置推定+⼈人物追跡
⼈人物検出
属性推定
・向き(8⽅方向)
・性別(男⼥女女)
・帽⼦子(有無)
属性推定にDeep Learning
9
を⽤用いた分類器を利利⽤用
深層学習を⽤用いた⾏行行動解析デモ(2/2)
位置・属性推定結果
をUIで可視化
男⼥女女⽐比
スタッフの割合
⼈人物追跡
ジャケット
着⽤用の割合
ファンネル解析
エリアごとに属性の
割合・頻度度を表⽰示
年年齢構成
Intel様ブース内で出展
ITPRO EXPO AWARD 2014優秀賞を受賞
10
外界にアクションを⾏行行う深層学習
ゲームAI
⾛走⾏行行プラニング
• CNN+探索索(MCTS)
• Fuegoに勝率率率8割
• DNN+強化学習
11
分散深層学習の創薬への応⽤用
活性予測による候補化合物選定
アッセイ ≒ 1実験
• 多数の化合物に対する、1つの特性の試験
定量量的構造活性相関 (QSAR)
この化合物は「薬」になるか?
•
Quantitative Structure-Activity Relationship
•
化合物の構造と薬効・毒性の関係を解析
•
•
CYP3A4 *
体内酵素に代謝されやすいか?
•
受容体を阻害しやすいか?
↑ コンペティション結果
アナウンス記事***
製薬⼤大⼿手MerckがQSARのデータマイニングコンペ
ティションを主催 (2012)
•
⾼高精度度なQSAR
↓
⾼高精度度なHTS
(化合物スクリーニング)
↓
薬効を持つ化合物
発⾒見見確率率率上昇
ヒントングループがマルチタスク深層学習ベースの
⼿手法で勝利利 **
* hERG potassium channels and cardiac arrhythmia, Michael C.
Sanguinetti & Martin Tristani-Firouzi, Nature 440, 463-469(23 March
2006) (doi:10.1038/nature04710) Fig. 5
** Dahl, George E., Navdeep Jaitly, and Ruslan Salakhutdinov. "Multitask Neural Networks for QSAR Predictions." arXiv preprint
arXiv:1406.1231 (2014).
*** http://blog.kaggle.com/2012/10/31/merck-competition-resultsdeep-nn-and-gpus-come-out-to-play/
13
マルチタスクによる活性予測の精度度向上
PubChem
データベース
DNN
を共有
フィンガー
プリント
バイオアッセイ
データ
• 19アッセイ
• 20万化合物
100100110101000 10
化合物
データ
複数ターゲット
同時に活性予測
A
セイ
1
0
Active!!
アッセイB
1
0
Active!!
0
1
Inactive!!
アッ
ア
ッ
•
•
•
•
全結合隠れ層2-3層
500-2500ユニット/層
Dropout
Minibatch SGD
14
セ
イ
C
結果詳細 *
アッセイID シングルタスク
マルチタスク
差
アッセイID シングルタスク
マルチタスク
差
1851 (1a2)
0.926
0.938
0.012 492992
0.803
0.829
0.026
1851 (2c19)
0.897
0.903
0.006 504607
0.684
0.67
-0.014
1851 (2c9)
0.889
0.907
0.018 624504
0.871
0.889
0.018
1851 (2d6)
0.863
0.861
-0.002 651739
0.79
0.825
0.035
1851 (3a4)
0.895
0.897
0.002 651744
0.886
0.9
0.014
1915
0.756
0.752
-0.004 652065
0.793
0.792
-0.001
2358
0.738
0.751
0.013
463213
0.651
0.676
0.025
•
15/19アッセイ(78.9%) で精度度向上(AUCで計測)
463215
0.613
0.654
0.041
•
488912
0.664
0.816
0.152
488915
0.723
0.873
0.15
タスク集合内に⾃自分と似たアッセイがあると精度度向
上の効果⼤大
488917
0.835
0.894
0.059
488918
0.784
0.842
0.058
* Dahl, George E., Navdeep Jaitly, and Ruslan Salakhutdinov.
"Multi-task Neural Networks for QSAR Predictions." arXiv preprint
Table 2から作成
15
さらなる精度度向上のために
マルチタスクで個々のタスクを独⽴立立に解くよりも精度度が向上した
↓
タスクの数を増やせばさらに精度度が向上するのではないか?
↓
でも、タスクを多くし過ぎると1台のマシンで学習できない
↓
深層学習を分散させよう
16
分散深層学習:マルチGPUとマルチノード
•
マルチGPU
CPU
1ノード内での並列列計算
•
マルチスレッド・マルチGPU
•
深層学習フレームによってマルチGPU対応度度合いは様々
GPU GPU GPU
マルチノード
•
複数ノード(マルチノード)での 並列列計算
•
CPU上で分散機械学習:DistBelief, Project Adam, H2O
•
GPU上で分散深層学習:COTS HPC, Minerva+Parameter Server
「分散機械学習」と⾔言ったら
通常マルチノードの意味
17
C
C
G G G
G G G
C
G G G
分散深層学習:Model ParallelとData Parallel
•
Model Parallel:NNを分割。各ノードはNNの各担当パーツを最適化。
•
Data Parallel:訓練データセットを分割。各ノードはコピーしたNNを割り振られた訓練データ
で最適化。ノード間で学習結果を適宜共有する。
学習結果の共有
Model Parallelと
Data Parallelの
組み合わせも可能
Model Parallel
18
Data Parallel
分散深層学習
問題点
既存⼿手法の主流流
「パラメータ取得 + 勾配計算 + パラメータ更更新」の分散
•
「全NNが同⼀一アーキテクチャ」の制限がつく
•
スケーラビリティに限界
↓
パラメータを交換せずに分散深層学習できないか?
100台でも12倍
程度度の速度度向上
タスクによって
は全くスケール
しない
Dean, Jeffrey, et al. "Large scale distributed deep networks.”
Advances in Neural Information Processing Systems. 2012. Figure 2(左), Figure 3(右)
19
Distillation(蒸留留)
訓練済みNNの分類結果は正解データとして使える
Soft Targets
(各NNの分類結果)
Hard Target
Label
NN1
NN2
NN3
⾞車車
1
0.80
0.65
0.50
トラック
0
0.10
0.25
0.30
バイク
0
0.10
0.10
0.20
本来のラベルに加え、訓練済みNN
の分類結果を利利⽤用し、訓練しにくい
NNの学習を⾼高速化
蒸留留
「トラックはバイクよりも⾞車車っぽい」
という情報を持つ
20
Communication Learning
蒸留留技術を⽤用いた分散深層学習
•
外のNNの分類結果(を焼きなましたもの)
(Soft Target)を⽤用いて学習する
予測結果
Hard Target
Label
NN1
NN2
NN3
⾞車車
1
0.90
0.89
0.80
トラック
0
0.05
0.10
0.15
⾃自転⾞車車
0
0.05
0.01
0.05
訓練イメージ
メリット
•
焼きなまし
0.80
0.65
0.50
0.10
0.25
0.30
0.10
0.10
0.20
Soft Targets
各NNを正解ラベル(Hard Target)と⾃自分以
21
•
以下の条件でノード間通信量量を削減
•
訓練データがノード間で共有
•
NNのパラメータ >>分類結果
複数のアーキテクチャのNNを混ぜて分散学
習可能(⼊入出⼒力力の形式が⼀一致すれば良良い)
GPUを⽤用いたCommunity Learningによる候補化合物選定
クラスタ(~8ノード)
PubChem
データベース
Soft target
計算リソース
• 東京⼯工業⼤大学TSUBAMEを利利⽤用
• 3GPU(K40), メモリ54GB / ノード
ノード間通信
• MPIを利利⽤用
5万化合物
5バイオアッセイ
Soft target
22
ライブラリ
• ⾃自社でスクラッチ開発
• テンソル計算にmshadowを利利⽤用
結果:Community Learningのスケーラビリティ
•
24個のNNによるModel Parallel
•
5アッセイマルチタスク
ノード数
23
所要時間(秒)
ノード間
通信 (秒)
速度度向上
1
10.5719
1
0.0318
2
5.2267
x 2.022
0.1377
3
3.9455
x 2.679
0.1284
4
2.5978
x 4.070
0.1367
8
1.5417
x 6.857
0.1281
結果:Community Learningによる精度度向上
•
全5アッセイでCommunity Learningにより精度度向上を達成
アッセイID
シングルタスク
マルチタスク
Community
Learning
1851 (1a2)
0.926
0.938
0.9387
1851 (2c19)
0.897
0.903
0.9413
1851 (2c9)
0.889
0.907
0.9274
1851 (2d6)
0.863
0.861
0.8913
1851 (3a4)
0.895
0.897
0.9214
24
アプリケーション例例
Kinase、GPCRを標的とする低分⼦子化合物の探索索
l
マルチタスクによる交差性、副作⽤用、毒性の発⾒見見
l
対象のタンパク質の⽴立立体構造は不不要
l
研究開発費⽤用の削減
候補化合物
バイオ
アッセイ
25
今後の課題
•
•
Community Learningの⼤大規模化
•
スケーラビリティーをどこまで保つことができるか?
•
何個のアッセイの活性予測をマルチタスクで扱えるか?
ヘテロジニアスなCommunity Learning
•
様々なアーキテクチャーを持つNN達を⽤用いてCommunity Learningできるか?
•
特定のアッセイの予測に特化したNNの構築できるか?
26
⼤大規模分散深層学習の創薬への応⽤用
『みんなのスパコン』TSUBAMEによる⽇日本再⽣生
H27採択利利⽤用課題
クラスタ(>100ノード)
PubChem
データベース
Soft target
2億化合物
100万バイオアッセイ
Soft target
27
深層学習のビジネス応⽤用への課題
データ解析の典型的な流流れ
プレーヤーの提供サービスは
データ解析の⾼高度度化に沿っている
Action
Analyze
価値
Organize
情報
Sense
効⽤用
整形データ
Analytics
⽣生データ
現象
Storage
S3
‘06/3
EBS
‘08/8
Glacier
‘12/8
Database
Simple DB
‘07/12
RDS
‘09/10
Dynamo DB
‘09/10
29
Aurora
‘14/11
EMR
‘09/4
Red Shift
‘12/11
Kinesis
‘13/11
Amazon ML
‘15/4
例例:AWS
データ解析の各ステップで壁がある
Action
Analyze
価値
Organize
情報
Sense
効⽤用
整形データ
⽣生データ
現象
データ粒粒度度が不不適切切
データが集められない
計測機器データが
そのまま廃棄される
データを機関外に
出したくない
データ前処理理が⾟辛い
30
解析結果が経営の⾔言葉葉
に翻訳されていない
⼈人⼿手での解析が
ボトルネック
解析できる
⼈人材がいない
深層学習のビジネス応⽤用への課題
1. ⼤大量量のデータが必要
•
•
* Deng, Jia, et al. "Imagenet: A large-scale hierarchical image database."
Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on.
IEEE, 2009. (左図)
** Karpathy, Andrej, et al. "Large-scale video classification with convolutional
neural networks." Computer Vision and Pattern Recognition (CVPR), 2014 IEEE
Conference on. IEEE, 2014. (右図)
訓練データ例例
•
ImageNet*:1400万枚の画像
•
Sports1M**:100万本の動画
⼤大量量データを継続的に収集・管理理する仕組みが必要
31
深層学習のビジネス応⽤用への課題
2. 「常識識」が何度度も覆る → 技術が枯れにくい
•
1980年年代:LeCunら「画像認識識にはCNNが極めて有効」
•
•
2006年年:Bengioら「事前学習を使えば深いNNを学習できる」
•
•
CNNの要素技術(MaxPoolingなど)を使わず同等の精度度を達成する⼿手法が登場
NNの最適化技術が発達 → 事前学習なしでも同等の精度度を達成できるタスクも増えている
これまでの情報科学にない速度度感での発展
•
「取材して2週間経つと新しい技術が現れる」
•
論論⽂文が公開されると1, 2ヶ⽉月でフレームワークに取り込まれる
32
深層学習のビジネス応⽤用への課題
3. 予測精度度は常に劣劣化する危険がある
•
•
外界環境の変化 → ⼊入⼒力力データの傾向変化
•
ECサイト:メディアに紹介され、新しい年年齢層の訪問数が増加
•
「学習モデルの賞味期限は3ヶ⽉月から6ヶ⽉月」
精度度劣劣化を前提としたシステム設計が必要
•
データ分布変化に強い技術の採⽤用(オンライン機械学習など)
•
予測できる変動(季節変動)を組み込んだ予測モデルの設計
•
予測性能劣劣化時のバックアップ・リカバリー⽅方法の準備
↑ 異異常検知でビニールハウス管理理*
(住友精密⼯工業様、ブリスコラ様)
オンライン機械学習(Jubatus)を⽤用いて
季節変動に対応
* みかん栽培に機械学習技術、住友精密がPFIのJubatusを採⽤用
http://itpro.nikkeibp.co.jp/article/NEWS/20140212/536349/
33
深層学習のビジネス応⽤用への課題
4. 要求を満たさない場合の原因追求が困難
システム構築時、機械学習の予測精度度が悪いことは
⼀一番最後(テスト・運⽤用時)に気づく
要求分析
↓
基本設計
原因の切切り分けが難しい
機能設計
•
収集データが悪いのか?
•
機械学習の問題への落落とし込み⽅方が悪いのか?
•
機械学習のモデルが悪いのか?
•
予測精度度の問題かユーザーの要求との不不⼀一致か?
詳細設計
受け⼊入れ
テスト
システム
テスト
結合
テスト
単体
テスト
実装
34
↑ V字モデル
システム構築の⼿手法の⼀一つ
チェックポイント
•
•
計画時の課題
•
•
設計・構築時の課題
•
探索索的な設計・構築ができる計画となっているか
ニングの特性を理理解しているか
•
予測精度度の劣劣化を前提とした設計となっているか
⼗十分な量量のデータを継続的に⼊入⼿手・管理理する
•
チューニング技術を持っている⼈人はいるか(機械
意思決定者やシステム提案⾞車車がディープラー
学習・深層学習フレームワーク・GPUプログラ
仕組みがあるか
•
技術の枯れ具合を認識識できているか
•
技術検証に時間的・⾦金金銭的な投資ができるか
ミング)
•
運⽤用時の課題
•
予測性能を監視する仕組みがあるか
•
システムが提供できるサービスの特性を利利⽤用者が
⼗十分に理理解できるか
35
まとめ
•
分散深層学習の創薬への応⽤用
•
マルチタスク深層学習により化合物活性予測の精度度が向上しました
•
主流流の分散深層学習⼿手法はスケーラビリティとアーキテクチャーへの制限の課題があります
•
•
•
Community Learningが8ノードでスケールすることと、化合物活性予測での精度度向上を実証
しました
今後の課題はCommunity Learningの⼤大規模化、ヘテロジニアス化です
深層学習のビジネスへの応⽤用
•
深層学習のビジネス応⽤用には⼤大量量データの管理理、技術の枯れていなさ、予測精度度劣劣化への対
応、原因の切切り分けの困難など様々な課題が存在します
36
深層学習フレームワーク:Chainer
LSTM=Long Short-term Memory
NTM=Neural Turing Machine
深層学習フレームワークの現状
固定⻑⾧長データから可変⻑⾧長データへ
⼊入出⼒力力
応⽤用
機械学習⼿手法
アーキテクチャ
これまでの主流流 固定⻑⾧長
画像・⾳音声
分類・回帰
全結合, CNN
これからの主流流 可変⻑⾧長
映像・⾳音声
⾃自然⾔言語・センサー
強化学習
プログラム実⾏行行
RNN, LSTM,
NTM
k
x
1
h
1
1
h
CNN(LeNet)*
x
H
M
N
* Deep Learning Tutorials http://deeplearning.net/tutorial/lenet.html
** Graves, Alex, et al. "A novel connectionist system for unconstrained handwriting recognition.
" Pattern Analysis and Machine Intelligence, IEEE Transactions on 31.5 (2009): 855-868. Figure 11
RNN
38
k
LSTM **
深層学習フレームワークの現状
アーキテクチャの複雑化
•
深層学習で扱われるアーキテクチャーの複雑化
•
•
GoogLeNet, NTM, Recursive Net, LSTM …
既存フレームワークではネットワーク記述が困難
GoogleNetのアーキテクチャ定義の必要⾏行行数
Chainer
167⾏行行
Caffe
2058⾏行行
(2012)AlexNet*, 7層 ↑
(2014) GoogLeNet**, 22層→
* ImageNet Classification with Deep Convolutional Neural Networks
http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf
** Szegedy, Christian, et al. "Going deeper with convolutions." arXiv preprint arXiv:1409.4842 (2014).
39
Chainer : 深層学習フレームワーク
PFI / PFN開発 新深層学習フレームワーク
6⽉月ごろOSS公開予定
ü Python + CUDA (cuDNN対応)
ü 系列列・可変⻑⾧長データの学習固有のアルゴリズムをネイティブにサポート
ü 任意のアーキテクチャを実現可能
ü マルチGPU対応(Model Parallel / Data Parallel)
40
既存フレームワークとの⽐比較
Chainer
主要実装⾔言語
Python
C++
Lua
主要開発者
Preferred
Networks Inc.
BVLC
Idiap Research
Univ. of Montreal
Institute, DeepMind
コミュニティ
-
◎
○
○
RNN/LSTM対応
◎
×
○
○
動的ネットワーク構
築
○
×
×
×
拡張性
○
△
○
○
ネットワーク設計
⾔言語内DSL
設定ファイル
(prototxt)
⾔言語内DSL
設定ファイル
(YAML)
特徴
ネットワーク動的構
築による省省リソース
画像認識識が得意
LuaJITによる⾼高速化 ⾃自動微分機構
41
Python
Copyright © 2014-‐‑‒
Preferred Networks All Right Reserved.
補⾜足資料料
⽤用語解説(1/3):アーキテクチャ関連
•
Net:Neural Net(NN)のアーキテクチャ全体
•
Node = Neuron、Unit
•
Nodeの集まりを(ややこしいが)○○層とも⾔言う
•
Layer:異異なる階層のNodeをつなぐモジュール
Net
Node
Forward
Layer
Backward
x
1
h
1
x
N
h
k
y
t
1
1
1
k
y
t
M
M
M
H
44
⽤用語解説(2/3):Layerに関する注意
•
論論⽂文ではNodeの中で活性化関数を含む事が多いが、実装では活性化関数をLayerで実現すること
が多い
X
X
W
W
WX
Y=σ(WX)
σ
Y
45
⽤用語解説(3/3)
:訓練関連
• Epoch (Iteration):全訓練データを1巡する事
→ 各訓練データはNetにN回与える
• Solver:Netを訓練するモジュール
• minibatch:少数の訓練データをまとめてNNに
与えた後にパラメータ更更新
時刻
Epoch i
Epoch 1
Epoch 2
Epoch i
全訓練データを
シャッフル
minibatch 1
minibatch 2
minibatch j
訓練データ 1
訓練データ 2
Epoch N
minibatch j
訓練データ B
minibatch M
46
パラメータ更更新