基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 -...

83
1 © 2018 The MathWorks, Inc. 基礎から始める機械学習・深層学習 MathWorks Japan アプリケーション エンジニアリング部 テクニカルコンピューティング 太田 英司

Transcript of 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 -...

Page 1: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

1© 2018 The MathWorks, Inc.

基礎から始める機械学習・深層学習

MathWorks Japan

アプリケーション エンジニアリング部 テクニカルコンピューティング

太田 英司

Page 2: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

2

MATLABとは?

▪ 科学技術計算のための統合環境

– Matrix Laboratoryの略

– 米国で開発された行列演算ライブラリー LINPACK, EINSPACKを手軽に利用するソフトウェアとして開発された。

– 「プログラミングで悩むより、その先の本質を勉強して欲しい」との思いから開発されたソフトウェア。

Jack Little Cleve Moler

Page 3: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

3

主な特徴

▪ 高速行列演算ライブラリー

– 行列やベクトルの高速演算

▪ 豊富な拡張ライブラリー

– コード量の削減

– バグの削減

▪ インタプリターによる対話的操作

– 学習コストの削減

– デバッグコストの削減

Page 4: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

10

Agenda

機械学習の基礎- 教師あり学習と教師なし学習- 回帰と分類

音声信号の分類- 特徴抽出と分類器

加速度データの分類- ニューラルネットによる分類

時系列データの異常検出- 自己符号化器による異常検出

画像データの分類と異常検出- CNNと転移学習

Page 5: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

11

機械学習 – Machine Learning

人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法(※)

※)Wikipedia 「機械学習」 の項より引用

Machine

Learning

飛行機

バイク

旅客船

Page 6: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

12

画像のカテゴリ分類(一般物体認識)

いままでは Bag of Visual Words という手法がよく使われていた。近年は畳み込みニューラルネットによる分類が着目を集める

Deep Learning !

Machine

Learning

飛行機

バイク

旅客船

Page 7: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

13

ILSVRC (ImageNet Large Scale Visual Recognition Challenge)

ImageNet とは?

画像認識の研究のための大規模な画像データベース 1000のカテゴリを持ち、カテゴリ毎に1000枚の画像

http://www.image-net.org/CNNの登場によって10%以上の性能向上(2012)GoogLeNet, VGG等の深いCNNが登場(2014)

Page 8: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

14

回帰・分類

𝑦 = 𝑓 𝒙 ; 𝜽𝒙 𝒚

回帰(Regression)

連続値ベクトル

𝑦 = 𝑓 𝒙 ; 𝜽𝒙 𝒚

分類(Classification)

離散値ベクトル

Page 9: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

15

教師あり学習と教師なし学習

機械学習

教師なし学習

教師あり学習

クラスタリング

分類

回帰

K-平均クラスタリング階層クラスタリングニューラルネットワーク混合ガウス分布自己組織化マップ

線形判別・2次判別K-最近傍識別単純ベイズ分類決定木アンサンブル学習ニューラルネットワークサポートベクターマシン

線形回帰モデル一般化線形回帰モデル非線形回帰モデル回帰木アンサンブル学習ニューラルネットワークサポートベクター回帰ガウス過程回帰

学習データあり

学習データなし

Neural Network Toolbox™Statistics and Machine Learning Toolbox™

Page 10: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

16

分類・認識のタスク

あ!

音声認識

画像認識

普通メール 迷惑メール

テキスト分類

Page 11: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

17

音声信号の分類

Page 12: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

18

【例題】 音声信号の分類

音声認識

あ!

Page 13: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

19

【例題】 音声信号の分類

1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

時間 [sec]

振幅

音声信号

第1フォルマント

第2フォルマント

0 500 1000 1500 2000 2500 3000 3500 4000-100

-95

-90

-85

-80

-75

-70

-65

-60

-55パワースペクトル密度

周波数 [Hz]

Page 14: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

20

母音のフォルマントの分布

100 200 300 400 500 600 700 800 900 1000 1100500

1000

1500

2000

2500

3000

3500

第1フォルマント [Hz]

第2

フォ

ルマ

ント

[H

z]

訓練用データの分布

あいうえ

data_for_training.xls600人分のフォルマントのデータ

Page 15: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

21

KNN 分類器(K最近傍分類器)

原理:近くにある K個の点を探して、多数決を採る

×

「え」

「あ」

分類したい新しい特徴量

Page 16: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

22

KNN分類器(K最近傍分類器)

特徴量 ラベル

d = fitcknn(X, T, ‘NumNeighbors’, 4)

C = predict(d, Y)

新しい特徴量予測されるラベル

分類器:

予測:

Page 17: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

23

分類学習器(Classification Learner)

交差検定による性能評価によって、分類器を選択するツール

Page 18: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

24

【例題】 音声信号の分類

特徴抽出

特徴量

分類

入力

出力

マイクからの音声データ

母音(あ・い・う・え・お)

第1・第2フォルマント

Yule-Walker 法

KNN分類器

Page 19: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

25

Agenda

機械学習の基礎- 教師あり学習と教師なし学習- 回帰と分類

音声信号の分類- 特徴抽出と分類器

加速度データの分類- ニューラルネットによる分類

時系列データの異常検出- 自己符号化器による異常検出

画像データの分類- CNNと転移学習

良い特徴量を選ぶことが重要!

Page 20: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

26

加速度データの分類

Page 21: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

27

ニューラルネットワークとは?

神経細胞(ニューロン)の数学的なモデル化に起源を持つ学習器

神経細胞(ニューロン)

➢ 軸索によりネットワークを構成➢ 電気的な興奮状態を伝え合う

画像提供: 独立行政法人 理化学研究所様

Page 22: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

28

ニューラルネットワークとは?

他の神経細胞からの興奮状態が伝わり、電位のレベルが上昇する

非興奮状態 興奮状態

電位のレベルが閾値を超えると自身が発火する

Page 23: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

29

ニューラルネットワークとは?

𝑦 = 𝑓

𝑘=1

𝑛

𝑤𝑘 ∙ 𝑥𝑘 + 𝑏

0

1

Weight

𝑥1

𝑥2

𝑥𝑛

Σ 𝑓

𝑤1

𝑤2

𝑤𝑛

𝑦

1

𝑏

Transfer Function

Bias

0

1

-1

Logistic Sigmoid Tangent Sigmoid

Rectified Linear Unit

Page 24: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

30

ニューラルネットワークとは?

Σ 𝑓1

Σ 𝑓1

Σ 𝑓1

𝑥1

𝑥2

𝑥3

𝑥4

1

1

1

Σ 𝑓2

Σ 𝑓2

Σ 𝑓2

1

1

1

𝐼𝑊

Layer 1 Layer 2

𝐿𝑊

𝑦1

𝑦2

𝑦3

Page 25: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

31

ニューラルネットワークによる推論

1120.2

1953.1

1231.5

0.0057

0.0022

0.9746

0.0000

0

0

1

0

出力層隠れ層入力層

イヌ

ネコ

ウサギ

トリ

Page 26: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

32

ニューラルネットワークの学習

0

0

1

0

出力層隠れ層入力層

1520.4

1251.2

1731.6

0.0057

0.1022

0.8516

0.0230

誤差逆伝搬

イヌ

ネコ

ウサギ

トリ

Page 27: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

33

【例題】 人の活動状態の識別歩行

階段-上り

階段-下り

着席

直立

寝る

Dataset courtesy of:Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra and Jorge L. Reyes-Ortiz. Human Activity Recognition on Smartphones using a Multiclass Hardware-Friendly Support Vector Machine. International Workshop of Ambient Assisted Living (IWAAL 2012). Vitoria-Gasteiz, Spain. Dec 2012http://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones

Classification

Page 28: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

34

【例題】 人の活動状態の識別

Page 29: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

35

【例題】 人の活動状態の識別

Page 30: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

36

【例題】 人の活動状態の識別

歩行? 直立?階段?

3軸の加速度センサーの情報を使って、人の活動状態を識別したい

Page 31: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

37

【例題】 人の活動状態の識別

128 sample

部分時系列(窓幅 128)

3軸加速度センサーのデータを窓幅128で切り出し、ニューラルネットより活動状態を識別する

Page 32: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

38

【例題】 人の活動状態の識別

x

y

z

部分時系列(384 = 128 * 3 次元)

128 sample

Page 33: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

39

【例題】 人の活動状態の識別

入力:384 次元部分時系列(加速度)

出力:6 次元人の活動状態(ラベル)

net = patternnet(20);

net = train(net, x, t);

t_hat = net(x);

plotconfusion(t, t_hat)

3軸の加速度センサーのデータを使って、人の活動状態を識別したい

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1 1

Page 34: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

40

【例題】 人の活動状態の識別

混合行列(2層のネットワークの場合) 混合行列(積層自己符号化器の場合)

Page 35: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

41

Agenda

機械学習の基礎- 教師あり学習と教師なし学習- 回帰と分類

音声信号の分類- 特徴抽出と分類器

加速度データの分類- ニューラルネットによる分類

時系列データの異常検出- 自己符号化器による異常検出

画像データの分類- CNNと転移学習

特徴抽出は絶対のルールではない!

Page 36: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

42

時系列データの異常検出

Page 37: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

43

センサーデータからの異常検出

心電図

異常度

Keogh, E., Lin, J. and Fu, A. : HOT SAX : Efficiently Finding the Most Unusual Time Series Subsequence,

in Proceedings of the Fifth IEEE International Conference on Data Mining, ICDM 05, pp.226-233

Page 38: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

44

自己符号化器による異常検出

自己符号化器

正常な心電図から部分時系列を生成して、自己符号化器に学習させる

100 sample

正常な心電図

Page 39: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

45

自己符号化器とは?

上のネットワークが恒等写像になるようにウェイトを学習する

自己符号化器

※ 正確には、MATLAB の Autoencoder は Sparse Autoencoder と呼ばれる中間層の活性に疎性を仮定したものになっている。詳細は後述の PDF を参照

Page 40: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

46

自己符号化器による異常検出

元の正常な波形を再生するようにウェイトを学習する

自己符号化器

Page 41: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

47

自己符号化器による異常検出

正常な波形の場合は、きれいに元の波形を再生するが、異常な波形の場合はうまく再生できない!

正常な波形の場合 異常な波形の場合

異常な波形は正常な波形に戻そうとする

Page 42: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

48

構造物の異常検出

ある構造物に取り付けられた振動データの比較

正常

異常

Page 43: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

49

【例題】 構造ヘルスモニタリング

Reference: Figueiredo, E., Park, G., Figueiras, J., Farrar, C., & Worden, K. (2009). Structural Health Monitoring

Algorithm Comparisons using Standard Data Sets. Los Alamos National Laboratory Report: LA-14393

▪ 実験装置– 3階建ての建物の模型

– 4ヶ所の加速度センサー

– 1階部分に振動発生装置

– 人工的な損傷状態の発生

▪ 実験目的– センサーによる異常検出

Page 44: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

50

【例題】 構造ヘルスモニタリング

Reference: Figueiredo, E., Park, G., Figueiras, J., Farrar, C., & Worden, K. (2009). Structural Health Monitoring

Algorithm Comparisons using Standard Data Sets. Los Alamos National Laboratory Report: LA-14393

Sensor #4

Sensor #3

Sensor #1

Sensor #2

振動発生装置

柱の破損・腐食など

住民・作業者など

Page 45: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

51

【例題】 構造物ヘルスモニタリング

構造物の模型において、次の条件を変化させて幾つかの条件を作り出した。

・ 各階への重量(Mass)

・ 柱の硬さの低減(Stiffness reduction)

State Description

#1 Baseline condition

#2 Mass = 1.2 kg at the base

#3 Mass = 1.2 kg on the 1st floor

#4 87.5% stiffness reduction in column 1BD

#5 87.5% stiffness reduction in column 1AD and 1BD

#6 87.5% stiffness reduction in column 2BD

#7 87.5% stiffness reduction in column 2AD and 2BD

#8 87.5% stiffness reduction in column 3BD

#9 87.5% stiffness reduction in column 3AD and 3BD

上記9パターンのそれぞれで10回の実験を繰り返し、合計90回の実験を行ったものとします

Page 46: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

52

【例題】 構造物ヘルスモニタリング

State #1 を正常データとして学習させて、異常データが検知できるか調べたい

State Description

#1 Baseline condition

#2 Mass = 1.2 kg at the base

#3 Mass = 1.2 kg on the 1st floor

#4 87.5% stiffness reduction in column 1BD

#5 87.5% stiffness reduction in column 1AD and 1BD

#6 87.5% stiffness reduction in column 2BD

#7 87.5% stiffness reduction in column 2AD and 2BD

#8 87.5% stiffness reduction in column 3BD

#9 87.5% stiffness reduction in column 3AD and 3BD

正常データ

異常データ

正常データを学習させる 異常データを検出できるか?

Page 47: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

53

SHMTools Los Alamos National Laboratory

http://www.lanl.gov/projects/national-security-education-center/engineering/software/shm-data-sets-and-software.php

Page 48: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

54

自己符号化器による異常検出

自己符号化器

正常な振動データから部分時系列を生成して、自己符号化器に学習させる

25 sample

正常な振動データ

Page 49: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

55

自己符号化器による異常検出

正常な場合のデータを自己符号化器に学習させる

Sensor #1

Sensor #2

Sensor #3

Sensor #4

Sensor #1

Sensor #2

Sensor #3

Sensor #4

自己符号化器

Page 50: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

56

自己符号化器による異常検出

ch1

ch2

ch3

ch4

ch1

ch2

ch3

ch4

- =

ch1

ch2

ch3

ch4

元の振動データ 再構成されたデータ 再構成誤差

e1e2e3e4

平均二乗誤差

二乗平均

ch1

ch2

ch3

ch4

ch1

ch2

ch3

ch4学習済みの自己符号化器

異常を含む可能性のあるデータを自己符号化器に通して、再構成誤差を算出する

Page 51: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

57

自己符号化器による異常検出

正常データ

Page 52: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

58

t-SNE とは?

直接目で見ることのできない高次元のデータを低次元にマップする手法(次元削減手法)

高次元空間(特徴量等) 低次元空間(2次元または3次元)

t-SNE

Page 53: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

59

t-SNE による異常データのクラスタリング

State Description

#1 Baseline condition

#2 Mass = 1.2 kg at the base

#3 Mass = 1.2 kg on the 1st floor

#4 87.5% stiffness reduction in column 1BD

#5 87.5% stiffness reduction in column 1AD and 1BD

#6 87.5% stiffness reduction in column 2BD

#7 87.5% stiffness reduction in column 2AD and 2BD

#8 87.5% stiffness reduction in column 3BD

#9 87.5% stiffness reduction in column 3AD and 3BD

それぞれの異常がひとつの島に対応しているらしい!

Page 54: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

60

Agenda

機械学習の基礎- 教師あり学習と教師なし学習- 回帰と分類

音声信号の分類- 特徴抽出と分類器

加速度データの分類- ニューラルネットによる分類

時系列データの異常検出- 自己符号化器による異常検出

画像データの分類- CNNと転移学習

大量の正常データから異常が見える!

Page 55: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

61

画像データの分類

Page 56: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

62

画像分類の応用例:株式会社大林組 様

※大林組様プレスリリースより参照http://www.obayashi.co.jp/press/news20170912_01

3項目の評価にディープラーニングを適用・風化変質(4分類)・割目間隔(5分類)・割目状態(5分類)

AlexNet + SVMの転移学習割目状態では89%の的中率

土木学会第72回年次学術講演会にて発表

Page 57: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

63

Convolutional Neural Network(畳み込みニューラルネット)Neural Network Toolbox

>> net.Layers

ans =

11x1 Layer array with layers:

1 'imageinput' Image Input

2 'conv' Convolution

3 'relu' ReLU

4 'conv' Convolution

5 'relu' ReLU

6 'maxpool' Max Pooling

7 'conv' Convolution

8 'relu' ReLU

9 'fc' Fully Connected

10 'softmax' Softmax

11 'classoutput' Classification Output

畳み込みニューラルネット(CNN)とは?

畳み込みを主な構成要素としたニューラルネットワーク

学習は教師あり学習を利用

画像認識の分野で非常に高い性能

畳み込み層・プーリング層などを積層したネットワーク

Page 58: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

64

Convolutional Neural Network(畳み込みニューラルネット)Neural Network Toolbox

畳み込み層・プーリング層・正規化層などを積み重ねて作られた多層のニューラルネットワーク

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

全結

合層

全結

合層

Softm

ax層

Page 59: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

65

Convolution Layer(畳み込み層)/ Pooling Layers (プーリング層)

層と層の間を一部のみ連結して、ウェイトを共有すると、ニューラルネットで畳み込みが表現できる

Page 60: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

66

Convolution Layer(畳み込み層) / Pooling Layer(プーリング層)

Convolution Layer(畳み込み層)

画像のフィルタ処理に相当する処理

特徴抽出器としての役割

Pooling Layer(プーリング層)

領域内の最大値または平均値を出力

平行移動等に対するロバスト性に関係

ストライドと呼ばれる間引きを行うこともある

最大値を出力する場合 : Max Pooling平均値を出力する場合 : Average Pooling

Page 61: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

67

ReLU層 (Rectified Linear Unit)

Logistic Sigmoid等の値が飽和する関数より、ReLUの方が学習が早く進むことがわかってきた

Page 62: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

68

【例題】 手書き文字の認識

1

9

8

2

28 x 28 pixel

手書き文字整数 (0-9)

畳み込みニューラルネットによる手書き文字の認識

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

全結

合層

全結

合層

Softm

ax層

畳み込み層やプーリング層を積層化したネットワークを定義し、誤差逆伝搬法により学習を行う

Page 63: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

69

畳み込みニューラルネットの構築と学習

layers = [ ...

imageInputLayer([28 28 1], 'Normalization', 'none');

convolution2dLayer(5, 20);

reluLayer();

maxPooling2dLayer(2, 'Stride', 2);

fullyConnectedLayer(10);

softmaxLayer();

classificationLayer()];

opts = trainingOptions('sgdm', 'MaxEpochs', 50);

net = trainNetwork(XTrain, TTrain, layers, opts);

畳み込み層・プーリング層・正規化層

などの層を積み上げて定義

学習率や最大反復数などを定義して

学習の関数を呼び出す

28×28 ピクセルの画像(数字)を認識させる例題でのネットワーク構築の例

http://www.mathworks.com/help/releases/R2016a/nnet/ref/trainnetwork.html

Page 64: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

70

ILSVRC に登場した有名なネットワーク(Alex Net, VGG Net)

Alex Net

■ トロント大学 Hinton のチームにより発表

■ NVIDIA® Geforce ® GTX580 2機 による 5~6日間の学習

■ ILSVRC 2012 において優勝した記念碑的なネットワーク

Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton "ImageNet Classification with Deep Convolutional Neural Networks" In NIPS, pp.1106-1114, 2012

K. Simonyan, A. Zisserman "Very Deep Convolutional Networks for Large-Scale Image Recognition" arXiv technical report, 2014

VGG Net

■ Oxford大学 Visual Geometry Group により発表

■ NVIDIA® Titan Black 4機 による 2~3週間の学習

■ ILSVRC 2014 において2位の記録を残したネットワーク

Alex Net の登場後、より深いネットワークが試されるようになった

Alex Net

VGG

ILSVRC 2010 - 2015

Page 65: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

72

CNN と転移学習

分類

器(

SV

M等

入力

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

全結

合層

全結

合層

全結

合層

Softm

ax層

フキタンポポ

転移学習とは?

学習済みのネットワークを他のタスクに転用する手法大量の画像で学習させたCNNは画像の特徴抽出器としても優秀新しく付けた分類器のみ学習させればよい(計算が軽い!) そして、性能が非常によい!

ImageNet

1000個のカテゴリ

タンポポ

タンポポ フキタンポポ

Page 66: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

73

Convolutional Neural Network(畳み込みニューラルネット)

入力

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

全結

合層

全結

合層

全結

合層

Softm

ax層

出力

画像からの特徴抽出

Alex Net : ILSVRC2012 で優勝した CNN の構成

特徴量の分類

似たようなパターンは、実は哺乳類の脳の一次視覚野にも現れることが知られている

Page 67: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

74

画像分類の応用例

タンポポ(Dandelion)

フキタンポポ(Colts’ Foot)

植物の種類や動物の種類などの分類例

Page 68: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

75

画像分類の応用例

バベシア症:バベシア属の原虫を原因とする感染症症状は発熱と溶血性貧血を主とするマダニによって媒介される

マラリア:マラリア原虫を原因とする感染症症状は40度近くの激しい高熱ハマダラカによって媒介される

トリパノソーマ症:トリパノソーマ原虫を原因とする感染症症状は進行すると睡眠周期が乱れるツェツェバエによって媒介される

顕微鏡画像の分類例

Page 69: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

76

【例題】 特徴量を使った異常検出

異常度:高

異常度:低

Page 70: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

77

1-Class SVM とは?

1-Class SVM

スコアの値が高い方が正常度が高い

カーネル法を使った正常度スコアの推定アルゴリズム

異常データを含むデータの例

Page 71: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

78

Agenda

機械学習の基礎- 教師あり学習と教師なし学習- 回帰と分類

音声信号の分類- 特徴抽出と分類器

加速度データの分類- ニューラルネットによる分類

時系列データの異常検出- 自己符号化器による異常検出

画像データの分類- CNNと転移学習

ヒトの目を手に入れよう!(CNN特徴量)

Page 72: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

79

セマンティックセグメンテーションの基礎

Page 73: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

80

画像分野におけるディープラーニングの新展開

CNN (Convolutional Neural Network)

Cat

Dog

確率値 自動車の前面 停止標識 車道 自動車

R-CNN / Fast R-CNN / Faster R-CNN SegNet / FCN

画像

物体の検出と認識 物体認識(ピクセル単位)物体認識(画像全体)

Page 74: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

81

物体の検出と認識R-CNN / Fast R-CNN / Faster R-CNN

R-CNNに自動車の前面と停止標識を学習させた場合の検出例

自動車の前面(Car Front)

停止標識(Stop Sign)

Page 75: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

82

物体認識(ピクセル単位)Semantic Segmentation

Page 76: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

83

Semantic Segmentation とは?

各ピクセルをその意味(周辺のピクセルの情報)に基づいて、カテゴリ分類する手法

Page 77: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

84

Semantic Segmentation とは?

ちゃんと歩道と車道を区別できている!色だけを見ているわけではない

各ピクセルをその意味(周辺のピクセルの情報)に基づいて、カテゴリ分類する手法

Page 78: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

85

Feature Map とは?

227 x 227

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

55 x 55 27 x 27 13 x 13

プーリングの反復により位置に関する情報が粗くなってしまう

画像からの特徴抽出

(分類)

畳み込みニューラルネットワークの計算過程で出てくる畳み込みの出力

ピクセル単位の情報からエッジなどの空間情報を取り出している

Page 79: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

86

SegNet (Semantic Segmentation)

Badrinarayanan, V., A. Kendall, and R. Cipolla. "Segnet: A deep convolutional encoder-decoder architecturefor image segmentation." arXiv. Preprint arXiv: 1511.0051, 2015.

Max Pooling時のIndexを転送して位置に関する情報を補充している

Page 80: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

87

学習データの定義(SegNet)

classNames = ["sky" "grass" "building" "sidewalk"];

pixelLabelID = [1 2 3 4];

Step1) ラベルの ID番号とラベルのマッピングを決めておく

imds = imageDatastore(imageDir);

pxds = pixelLabelDatastore(labelDir, classNames, pixelLabelID);

Step2) 画像とピクセルラベルの組を定義する

datasource = pixelLabelImageSource(imds, pxds);

Step3) 画像とピクセルラベルの組から学習データを定義する

Page 81: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

88

学習と推論(SegNet)

lgraph = segnetLayers(imageSize, numClasses, model);

net = trainNetwork(datasource, lgraph, options);

C = semanticseg(I, net);

Step1) SegNet のレイヤーを定義

Step2) データ源を指定して、学習を実行する

Step3) 学習させたネットワークでセグメンテーションを行う

VGG16 または VGG19 を選択

Page 82: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

89

もっと知りたい方のためのリソース

Page 83: 基礎から始める機械学習・深層学習...10 Agenda 機械学習の基礎 - 教師あり学習と教師なし学習 - 回帰と分類 音声信号の分類 - 特徴抽出と分類器

90

ビデオの紹介

MATLABによる機械学習の基礎:https://jp.mathworks.com/videos/matlab-for-machine-learning-for-beginners-feature-extraction-classifier-and-cross-validation-117948.html

センサーデータ解析と機械学習:https://jp.mathworks.com/videos/sensor-data-analysis-and-machine-learning-anomaly-detection-using-vibration-data-100241.html

センサーデータ解析のためのニューラルネットワーク:https://jp.mathworks.com/videos/neural-network-for-sensor-data-analysis-1505494780628.html

MATLABによるディープラーニング:https://jp.mathworks.com/videos/deep-learning-with-matlab-119998.html

セマンティック・セグメンテーションの基礎:https://jp.mathworks.com/videos/basics-of-semantic-segmentation-1527778613576.html