50
ハンズオン受講の為の準備講座 これから始める人の為の ディープラーニング基礎講座 村上真奈 NVIDIA CUDA & Deep Learning Solution Architect NVIDIA Corporation

ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

1

ハンズオン受講の為の準備講座

これから始める人の為のディープラーニング基礎講座村上真奈

NVIDIA CUDA & Deep Learning Solution ArchitectNVIDIA Corporation

Page 2: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

AGENDA

機械学習とディープラーニングの関係

ディープラーニングとは?• ニューラルネットワークの構造• ディープラーニングの学習とは

畳み込みニューラルネットワーク

http://www.slideshare.net/NVIDIAJapan/ss-71043984

午後に予定しているハンズオンの為の基礎講座ディープラーニングをこれから始める方を対象に基礎概念や用語の解説を行います

Page 3: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

機械学習とは?

Page 4: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

機械学習とディープラーニングの関係

機械学習

ニューラルネットワーク

ディープラーニング

Page 5: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

分類(Classification)と回帰(Regression)

• 分類問題の例

• 画像に写っているのが猫か犬の画像か推論する

• 回帰問題の例

• N社の1ヶ月後の株価を予想する

機械学習とは?

Page 6: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

分類(Classification)と回帰(Regression)機械学習とは?

分類問題 回帰問題

分類も回帰もデータの法則を見つけて関数近似する必要がある

Page 7: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

分類問題の例機械学習とは?

例) 正常と異常に分類する事を考える赤:異常青:正常

x2

x1

𝑌 = αX + β正常

異常

Page 8: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

分類問題の例機械学習とは?

例) 正常と異常に分類する事を考える赤:異常青:正常

複雑な関数近似が必要になるx2

x1

異常

正常

Page 9: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

ディープラーニング手法による分類の例

学習が進むにつれて、分離が上手くいくようになる

Page 10: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

10

ディープラーニングとは

Page 11: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

様々な分野でディープラーニングを応用

インターネットとクラウド

画像分類音声認識言語翻訳言語処理感情分析推薦

メディアとエンターテイメント

字幕ビデオ検索

リアルタイム翻訳

機械の自動化

歩行者検出白線のトラッキング信号機の認識

セキュリティと防衛

顔検出ビデオ監視衛星画像

医学と生物学

癌細胞の検出糖尿病のランク付け

創薬

Page 12: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

人工ニューラルネットワーク単純で訓練可能な数学ユニットの集合体

ニューラルネットワーク全体で複雑な機能を学習

入力層 出力層

隠れ層

十分なトレーニングデータを与えられた人工ニューラルネットワークは、入力データから判断を行う複雑な近似を行う事が出来る。

Page 13: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

ディープラーニングの恩恵ディープラーニングとニューラルネットワーク

ロバスト性

特徴量の設計を行う必要がない。 –特徴は自動的に獲得される学習用データのバラつきの影響を押さえ込みながら、自動的に学習していく

一般性

同じニューラルネットワークのアプローチを多くの異なるアプリケーションやデータに適用する事が出来る

スケーラブル

より多くのデータで大規模並列化を行う事でパフォーマンスが向上する

Page 14: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

ディープラーニングのアプローチ

認識:

蜜穴熊

エラー

犬猫

アライグマ

トレーニング:

モデル

モデル

Page 15: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

ニューラルネットワークの構造(多層パーセプトロン)

Page 16: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

人工ニューロン神経回路網をモデル化

スタンフォード大学cs231講義ノートより

神経回路網

w1 w2 w3

x1 x2 x3

y

y=F(w1x1+w2x2+w3x3)

F(x)=max(0,x)

人工ニューロン

Page 17: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

人口ニューロンニューラルネットワークの構造

… …人工ニューロンを組み合わせ、多層ニューラルネットワークを構成可能

入力層のサイズは3入力層のサイズはN

Page 18: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

多層パーセプトロン(3層)ニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

入力層 隠れ層 出力層重み 重み

Page 19: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

多層パーセプトロン(3層)ニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

入力層 隠れ層 出力層重み 重み

Page 20: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

多層パーセプトロンニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

入力データ

出力データ

Page 21: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

多層パーセプトロンニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

𝑥1 𝑥2 𝑥3

𝑤111 𝑤1

12

𝑤121 𝑤1

22

𝑤131 𝑤1

32

= 𝑦1 𝑦2

Page 22: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

多層パーセプトロンニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

𝑦1 𝑦2𝑤2

11 𝑤212 𝑤2

13

𝑤221 𝑤2

22 𝑤223

= 𝑧1 𝑧2 𝑧3

Page 23: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

多層パーセプトロンニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

𝑥 𝑊1𝑊2 = 𝑧

Page 24: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

重み係数の調整ニューラルネットワークの構造

x1

x2

x3

y1

y2

z1

z2

z3

w111

w112

w121

w122

w131

w132

w211

w221

w212

w222

w213

w223

t1

t2

t3

教師データ 出力 z と正解ラベル t の誤差を計算し 、出力が正解ラベルに近づくように重みW1とW2を調整

出力

ディープラーニングの学習

Page 25: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法

Page 26: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法誤差逆伝播の仕組み

重み w

誤差 E

最適解 現在値

最適解に近づけるには?

現在値から減少させる

Page 27: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法誤差逆伝播の仕組み

重み w

誤差 E

最適解現在値

最適解に近づけるには?

現在値から増加させる

Page 28: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法誤差逆伝播の仕組み

重み w

誤差 E

最適解wn wm

傾きが正なら最適解より大きい

傾きが負なら最適解より小さい

Page 29: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法誤差逆伝播の仕組み

重み w

誤差 E

wn+1wn+2wn

最適解(ゴール)

Page 30: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

学習率 (Learning Rate)誤差逆伝播の仕組み

重み w

誤差 E

w0w1w2w3-2wn-1wnwn

最適解(ゴール)

Page 31: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

学習率 (Learning Rate)誤差逆伝播の仕組み

重み w

誤差 E

w0w1-1wnwn

更新量

重みの更新量は学習率(Learning Rate)で調整

Page 32: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法の注意点誤差逆伝播の仕組み

局所解

スタート

重み w

誤差 E

ゴール

Page 33: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

勾配降下法の注意点誤差逆伝播の仕組み

最適解

スタート

重み w

誤差 E

ゴール

Page 34: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

誤差逆伝播法

Page 35: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

39

w

x y

w

x y

w

x y

レイヤー1

01000

“dog”

レイヤー2

入力

出力レイヤーN

ロス関数

00010

“cat”

正解ラベル

x[N] y[M]w[N][M]

順伝播(forward propagation)誤差逆伝播法

Page 36: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

40

w

x y

w

x y

w

x y01000

“dog”00010

“cat”

ロス関数

error⊿y⊿x⊿y⊿x⊿y

⊿w⊿w⊿w

逆伝播(backward propagation)誤差逆伝播法

レイヤー1 レイヤー2

入力

出力レイヤーN 正解ラベル

Page 37: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

41

w

x y

w

x y

w

x y01000

“dog”00010

“cat”

ロス関数

error⊿y⊿x

⊿w

⊿y⊿x

⊿w

⊿y

⊿w

www

重みの更新誤差逆伝播法

レイヤー1 レイヤー2

入力

出力レイヤーN 正解ラベル

Page 38: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

42

w

x y

w

x y

w

x y “dog” “cat”

ロス関数

error⊿y⊿x

⊿w

⊿y⊿x

⊿w

⊿y

⊿w

“cat” “dog”“human” “monkey”“tiger” “lion”

ミニバッチ誤差逆伝播法

レイヤー1 レイヤー2

入力

出力レイヤーN 正解ラベル

Page 39: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

ディープラーニングの学習の流れ

Page 40: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

データを訓練データ(training data)と検証データ(validation data)に分割する

訓練データと検証データディープラーニングの学習

収集したデータ

検証データ(validation data)

訓練データ(training data)

重みの更新(学習)に使用

汎化性能の確認に使用

Page 41: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

訓練データによる重みの更新ディープラーニングの学習

訓練データ

熊検証データ

訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す

正解は犬

Page 42: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

訓練データによる重みの更新ディープラーニングの学習

訓練データ

熊検証データ

訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す

正解に近づくように、各層の重みを更新する

Page 43: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

学習ループ訓練データと検証データの役割

訓練データ

熊検証データ

すべての訓練データを用いて重み更新を行う + すべての検証データで汎化性能を確認⇒ 1 エポック(epoch)と呼ぶ

検証データで現在の汎化性能を確認

(重みの更新には使用しない)

Page 44: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

学習時の性能の確認訓練データと検証データの役割

各エポックで訓練データをニューラルネットワークに与えた際の間違い率と検証データを与えた際の間違い率を確認しながら学習を進める必要がある

エラー数

エポック0

training

validation

エラー数

エポック0

training

validation学習成功 学習失敗(過学習)

Page 45: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

50

畳み込みニューラルネットワーク

Page 46: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

51

畳込みニューラルネットワーク(CNN)• 画像認識・画像分類で使われる、高い認識精度を誇るアルゴリズム。畳込み層で画像の特徴を学習

目的

顔認識

トレーニングデータ

1,000万~1億イメージ

ネットワークアーキテクチャ

10 層

10 億パラメータ

ラーニングアルゴリズム

30 エクサフロップスの計算量

GPU を利用して30日

畳込み層 全結合層

Page 47: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

52

畳込み層

0

0

0

0

0

0

0

0

1

1

1

0

0

0

0

1

2

2

1

1

1

0

1

2

2

2

1

1

0

1

2

2

2

1

1

0

0

1

1

1

1

1

0

0

0

0

0

0

0

4

0

0

0

0

0

0

0

-4

1

0

-8

ピクセル値(src)

畳み込み

カーネルピクセル値(dst)

カーネルの中心の値はソースピクセル上に置かれている。

ソースピクセルはフィルタを自身の積の値に更新される。

Page 48: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

53

まとめ

Page 49: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

Appendix.

• NVIDIA Deep Learning Labs

• エヌビディアが提供するAWS上でのディープラーニング自主学習コース• https://nvidia.qwiklab.com/tags/Deep%20Learning

• 書籍(日本語)

• 深層学習 (機械学習プロフェッショナルシリーズ)/岡谷貴之• イラストで学ぶディープラーニング/山下 隆義

Page 50: ハンズオン受講の為の準備講座 これから始める人の為の ディー …images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · 1 ハンズオン受講の為の準備講座

www.nvidia.com/dli

Thank you!