20171201 dll#05 名古屋_pfn_hiroshi_maruyama

35
実用化が進む深層学習の今 - 深層学習はインダストリアル IoT に 何をもたらすのか?- 12/1, 2017 Preferred Networks, 丸山 Deep Learning Lab

Transcript of 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

Page 1: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

実用化が進む深層学習の今- 深層学習はインダストリアル IoT に

何をもたらすのか?-

12/1, 2017

Preferred Networks, 丸山 宏

Deep Learning Lab

Page 2: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

2

深層学習とは何か – (状態を持たない)関数

Y = f(X)X Y

顔認識など出来合いのAPIを使うのならばこの理解で十分

超多次元、(連続変数・カテゴリ変数の任意の組み合わせ)

判別・制御ならば比較的低次元、生成ならば超多次元

Page 3: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

3

普通の関数の作り方: 例 摂氏から華氏への変換

double c2f(double c) {

return 1.8*c + 32.0;

}

入力: C

出力: F

ただし、FはCを華氏で表したもの

仕様

実装

F = 1.8 * C + 32モデル

人が持つ先験的知識

Page 4: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

深層学習のやり方 – 訓練データを用いる

4

訓練データセット

観測

学習(ほぼ自動)

Page 5: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

5

学習はどのように動くか (Facebook Yann LeCunによる動画)

https://code.facebook.com/pages/1902086376686983

Page 6: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

ロボットビジョン: Amazon Picking Challenge 2016

6

2nd Place in the Picking Task

Page 7: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

Consumer Electronics Show (CES) 2016

CESにおける自動運転デモ

Page 8: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

8

強化学習によるシステム開発

https://research.preferred.jp/2015/06/distributed-deep-reinforcement-learning/

Page 9: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

9

Page 10: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

音声によるロボットのコントロール

10

Page 11: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

Auto Coloring Application: PaintsChainer

Page 12: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

12

汎用計算機構としての深層学習

桁違いに多いパラメタ

— 任意の多次元非線形関数を近似

疑似的にチューリング完全!

Hiroshi Maruyama

出力(超多次元)

入力(超多次元)

Page 13: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

13

代償: 暴力的な計算リソース

1E〜100E Flops

自動運転車1台あたり1日 1TB10台〜1000台, 100日分の走行データの学習

バイオ・ヘルスケア

音声認識 ロボット/ドローン

10P〜 Flops

1万人の5000時間分の音声データ人工的に生成された10万時間の音声データを基に学習 [Baidu 2015]

100P 〜 1E Flops一人あたりゲノム解析で約10M個のSNPs100万人で100PFlops、1億人で1EFlops

10P(画像) 〜 10E(映像) Flops

学習データ:1億枚の画像 10000クラス分類数千ノードで6ヶ月 [Google 2015]

画像/映像認識

1E〜100E Flops

1台あたり年間1TB100万台〜1億台から得られたデータで学習する場合

自動運転

10PF 100EF100PF 1EF 10EF

P:PetaE:ExaF:Flops

機械学習、深層学習は学習データが大きいほど高精度になる現在は人が生み出したデータが対象だが、今後は機械が生み出すデータが対象となる

各種推定値は1GBの学習データに対して1日で学習するためには1TFlops必要だとして計算

学習を1日で終わらせるのに必要な計算リソース

Page 14: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

14

1,024基のP100を搭載したスーパー・コンピュータを稼働

Page 15: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

ChainerMNを使ってImageNet学習世界最高速を実現

15

https://www.preferred-networks.jp/ja/news/pr20171110

Page 16: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

統計的機械学習の本質的限界

Page 17: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

統計的機械学習の本質的限界 (1)

17

訓練データモデル

将来が過去と同じでないと正しく予測できない

時間軸

過去に観測されたデータに基いて学習

学習

学習済みモデルに基いて新しい値を予測

Page 18: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

統計的機械学習の本質的限界 (2)

訓練データに現れない、希少な事象に対して無力

訓練データセット

内挿

外挿

??

機械学習はひらめかない、臨機応変な対応をしない

18

Page 19: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

19

統計的機械学習の本質的限界 (3)

本質的に確率的

元分布 訓練データ学習済みモデル

サンプリングにバイアスが入ることは避けられない!

「100%の保証」は原理的にできない

Page 20: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

20

機械学習の長所・短所をよく理解した上で、

皆様のビジネスの問題解決にお役立てください

ありがとうございました

Page 21: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

21

11/8 機械学習Xソフトウェア工学

Meetup

1/18-19 情報処理学会ソフトウェア工学研究会ウィンターワークショップ

Page 22: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

Assessment PoC Pilot Deployment Maintenance

• お客様の理解度

• ビジネス目標• 機械学習への適合度

• データの入手可能性

• データの量・品質は足りているか

• 期待する精度が達成できそうか:

• ビジネスプロセスへの組み込みはうまくいったか

• ビジネス目標は達成できたか:

CP1 CP2 CP3 CP4

• 性能の監視• データ・ドリフトの監視

機械学習工学: 典型的なシステム構築サイクル

より探索的

Page 23: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

23

機械学習工学の課題

1. 再利用

2. 品質の担保

3. 要求の厳密化

Page 24: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

24

Neural Network Exchange Format

訓練

Page 25: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

ONNX

message ModelProto {

optional int64 ir_version = 1;

:

optional GraphProto graph = 7;

};

message GraphProto {

repeated NodeProto node = 1;

optional string name = 2;

repeated TensorProto initializer = 5;

optional string doc_string = 10;

repeated ValueInfoProto input = 11;

repeated ValueInfoProto output = 12;

repeated ValueInfoProto value_info = 13;

}

message TensorProto {

repeated int64 dims = 1;

optional DataType data_type = 2;

optional Segment segment = 3;

repeated float float_data = 4 [packed = true];

:

optional string name = 8;

}

message NodeProto {

repeated string input = 1;

repeated string output = 2;

optional string name = 3;

optional string op_type = 4;

repeated AttributeProto attribute = 5;

optional string doc_string = 6;

}

Node

Te

nso

r

Te

nso

r

Page 26: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

26

機械学習工学の課題

1. 再利用

2. 品質の担保

3. 要求の厳密化

Page 27: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

機械学習システムは、高金利クレジット!

• CACE (Changing Anything Changes Everything) 原理 – すべてが絡み合っている

• グルーコード、試験的なコード片など、すべてが将来のメインテナスの悪夢につながる

• …

https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43146.pdf

Page 28: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

新しいタイプの脆弱性

28

https://arxiv.org/pdf/1707.08945.pdf

Page 29: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

品質指標 –多くの場合プロセス品質指標

http://www.ipa.go.jp/files/000028859.pdf

How “safe” is this car?

… is translated into process metrics

例:どのくらいレビューに時間を割いたか?

Page 30: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

第3者による客観的な品質指標の可能性

How “safe” is this car?

非公開の評価用データ

自動化された、第3者による評価

評価

評価結果のみを返す

Page 31: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

31

機械学習工学の課題

1. 再利用

2. 品質の担保

3. 要求の厳密化

Page 32: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

強化学習において、衝突のペナルティを無限大にすると?

2016/2/22

Hiroshi Maruyama

32

動かないクルマ

効用と安全性のバランスを定量的に要件として書き出す必要!

Page 33: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

33

IJCAIにおける自律性に関する議論

Keynote by Stuart Russell, “Provably Beneficial AI”

— 人:「コーヒーをとってきて」

— ロボット:スタバへ行き、列に並んでいる他の客を殺してコーヒーをとってくる

— 人の指示は常に不完全

どちらも、最適化問題における「正しい仕様のあり方」の問題を提起

Page 34: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

34

11/8 機械学習Xソフトウェア工学

Meetup

1/18-19 情報処理学会ソフトウェア工学研究会ウィンターワークショップ

Page 35: 20171201 dll#05 名古屋_pfn_hiroshi_maruyama

35

Thank You