基礎から学ぶ深層学習(ディープラーニング) ·...

72
1 © 2015 The MathWorks, Inc. 基礎から学ぶ深層学習(ディープラーニング) MathWorks Japan アプリケーション エンジニアリング部 テクニカルコンピューティング 太田 英司

Transcript of 基礎から学ぶ深層学習(ディープラーニング) ·...

1© 2015 The MathWorks, Inc.

基礎から学ぶ深層学習(ディープラーニング)

MathWorks Japan

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

太田 英司

2

機械学習 – Machine Learning

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

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

Machine

Learning

飛行機

バイク

旅客船

3

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

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

Deep Learning !

Machine

Learning

飛行機

バイク

旅客船

4

ILSVRC (ImageNet Large Scale Visual Recognition Challenge)

ImageNet とは?

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

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

5

特徴抽出と Deep Learning

特徴抽出 特徴量 分類入力 出力

うまい特徴量の探索 機械学習

Deep Learning 以前は、特徴抽出の部分を試行錯誤で人間が探索していた

データに適した特徴量を見つけ出すことがよい性能を出すためのキーであった

6

特徴抽出と Deep Learning

特徴抽出 特徴量 分類入力 出力

Deep Learning では、特徴抽出の部分もデータから学習させることができる

19

5

Deep Learning

7

Agenda

前編:16:10 ~ 17:00

後編:17:10 ~ 17:50

ニューラルネットの基礎

積層自己符号化器(SAE)

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

転移学習(DeCAF)

分類以外の DeCAFの応用

物体の検出(R-CNN)

パフォーマンス・チューニング

8

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

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

神経細胞(ニューロン)

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

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

9

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

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

通常状態 興奮状態

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

10

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

𝑦 = 𝑓

𝑘=1

𝑛

𝑤𝑘 ∙ 𝑥𝑘 + 𝑏

0

1

Weight

𝑥1

𝑥2

𝑥𝑛

Σ 𝑓

𝑤1

𝑤2

𝑤𝑛

𝑦

1

𝑏

Transfer Function

Bias

0

1

-1

Logistic Sigmoid Tangent Sigmoid

Rectified Linear Unit

11

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

Σ 𝑓1

Σ 𝑓1

Σ 𝑓1

𝑥1

𝑥2

𝑥3

𝑥4

1

1

1

Σ 𝑓2

Σ 𝑓2

Σ 𝑓2

1

1

1

𝐼𝑊

Layer 1 Layer 2

𝐿𝑊

𝑦1

𝑦2

𝑦3

12

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

1120.2

1953.1

1231.5

0.0057

0.0022

0.9746

0.0000

0

0

1

0

出力層隠れ層入力層

イヌ

ネコ

ウサギ

トリ

13

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

0

0

1

0

出力層隠れ層入力層

1520.4

1251.2

1731.6

0.0057

0.1022

0.8516

0.0230

誤差逆伝搬

イヌ

ネコ

ウサギ

トリ

14

本日ご紹介する深層学習

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

画像認識等に優れた性能既存方式を大きく引き離す教師あり学習のみ

積層自己符号化器Stacked Autoencoders

事前学習による学習主成分分析・スパース符号化との関連教師なし学習と教師あり学習の併用

15

MATLAB™による深層学習(R2015bまで)

積層自己符号化器Stacked Autoencoders

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

画像認識等に優れた性能 既存方式を大きく引き離す

Neural Network Toolbox™

MATLAB のオプションとして提供 インストールしてすぐ使える サポートも利用可能

MatConvNet

Oxfordの研究者によるライブラリ Caffe に近い実行性能(cuDNN v4) 使い易いインターフェース

リカレントニューラルネットRecurrent Neural Network

16

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

http://www.vlfeat.org/matconvnet/

17

MATLABによる深層学習(R2016a以降)

積層自己符号化器Stacked Autoencoders

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

画像認識等に優れた性能 既存方式を大きく引き離す

Neural Network Toolbox

MATLAB のオプションとして提供 インストールしてすぐ使える サポートも利用可能

リカレントニューラルネットRecurrent Neural Network

出ました!CNN!

18

Stacked Autoencoder (積層自己符号化器)Neural Network Toolbox

自己符号化器(Autoencoder)とは?

2層のニューラルネットワーク 恒等写像となるようなウェイトを学習 主に DNN の事前学習に利用

autoenc = trainAutoencoder(X, hiddenSize,...

'L2WeightRegularization’, 0.001, ...

'SparsityRegularization', 4, ...

'SparsityProportion', 0.05, ...

'DecoderTransferFunction', 'purelin‘

'useGPU', true);

【コード例】 自己符号化器の学習

積層自己符号化器(Stacked Autoencoder)

自己符号化器(Autoencoder)

GPUによる高速化

19

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

1

9

8

2

28 x 28 pixel

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

Stacked Autoencoder による手書き文字の認識

最初の2層のウェイトを Autoencoder により構成し最後に誤差逆伝搬法を用いて学習する

20

Step 1 : Autoencoder によるウェイトの学習

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

Autoencoder

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

21

Step 2 : Encoder 部分のみ残す

Encoder Decoder

Encoder 部分のみ残す

22

【補足】 ウェイトの可視化

ウェイトを可視化

23

Step 3 : Autoencoder によるウェイトの学習

2段目の Autoencoder

1段目の Encoder

1段目の Encoder 出力を使い、次の Autoencoder を学習させる

24

Step 4 : Encoder 部分のみ残す

2段目の Encoder

1段目の Encoder

25

Step 5 : 分類のために最終層を追加

最終層で分類(softmax)

26

Step 6 : 微調整(Fine Tuning)を行う

誤差逆伝搬法により、ウェイトの微調整(Fine Tuning)を行う

27

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)とは?

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

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

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

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

28

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

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

Deep Learning !

イヌ

ネコ機械学習

ウサギ

29

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

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

Deep Learning !

Machine

Learning

飛行機

バイク

旅客船

30

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

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

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

全結

合層

全結

合層

Softm

ax層

31

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

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

全結

合層

全結

合層

Softm

ax層

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

32

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

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

33

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

Convolution Layer(畳み込み層)

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

特徴抽出器としての役割

Pooling Layer(プーリング層)

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

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

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

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

34

ReLU層 (Rectified Linear Unit)

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

35

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

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

37

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

入力

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

全結

合層

全結

合層

全結

合層

Softm

ax層

出力

画像からの特徴抽出

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

特徴量の分類

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

38

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

ILSVRC2014 で2位になった VGG →

ILSVRC2012 で優勝した Alex Net ↓

※ 深層学習 (機械学習プロフェッショナルシリーズ) 岡谷孝之 より引用

39

Agenda

前編:16:10 ~ 17:00

後編:17:10 ~ 17:50

ニューラルネットの基礎

積層自己符号化器(SAE)

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

転移学習(DeCAF)

分類以外の DeCAFの応用

物体の検出(R-CNN)

パフォーマンス・チューニング

40

CNN と転移学習

分類

器(

SV

M等

入力

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

全結

合層

全結

合層

全結

合層

Softm

ax層

転移学習とは?

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

ImageNet

1000個のカテゴリ

DeCAFとは?

Deep Convolutional Activation Feature の略 データ自身から生み出された「特徴抽出器」の出力 人が思いつかないような画像特徴量を含んでいるとされる

Donahue, Jeff, et al. "Decaf: A deep convolutional activation feature for generic visual recognition." arXiv preprint arXiv:1310.1531 (2013)

正常

異常

41

【例題】 タンポポとフキタンポポの分類

分類

器(

SV

M等

入力

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

全結

合層

全結

合層

全結

合層

Softm

ax層

タンポポ

フキタンポポ

Alex Net をベースにした転移学習により、2種類のタンポポを見分けたい

タンポポ(Dandelion)

フキタンポポ(Colts’ Foot)

42

【例題】 タンポポとフキタンポポの分類

http://www.robots.ox.ac.uk/~vgg/data/flowers/17/index.html

Oxford Flower Dataset とは?

17種類の花の画像を集めたデータセット 1種類の花に80枚の画像を収録 102種類の花の画像を集めたものもある

タンポポ(Dandelion)

フキタンポポ(Colts’ Foot)

43

転移学習を使った応用例

タンポポ(Dandelion)

フキタンポポ(Colts’ Foot)

◆タンポポとフキタンポポの分類

44

転移学習を使った応用例

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

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

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

◆医療画像の分類

45

【例題】 類似画像の検索

ある特定の画像に類似した画像を集めたい

46

【例題】 類似画像の検索

特徴量として表現された画像の中で近いものを探せばよい

×

この画像に類似した画像を見つけたい

47

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

異常度:高

異常度:低

48

1-Class SVM とは?

1-Class SVM

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

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

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

49

【例題】 タンポポとフキタンポポの分類

入力

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

正規

化層

最大

プー

リン

グ層

畳み

込み

畳み

込み

畳み

込み

最大

プー

リン

グ層

全結

合層

全結

合層

全結

合層

Softm

ax層

全結合層・Softmax層のウェイトをリセットした後で、学習の速度を変えて学習させる(転移学習)

全結

合層

全結

合層

Softm

ax層

学習率を小さく!なるべく動かさない!

学習率を大きく!ここを再学習させる!

50

【例題】 タンポポとフキタンポポの分類

layersTransfer = convnet.Layers(1:end-3);

layersTransfer(end+1) = fullyConnectedLayer(2, 'Name', 'fc8', ...

'WeightLearnRateFactor', 10, ...

'BiasLearnRateFactor', 20);

layersTransfer(end+1) = softmaxLayer('Name', 'prob');

layersTransfer(end+1) = classificationLayer('Name', 'classificationLayer');

convnet = helperImportMatConvNet('imagenet-caffe-alex.mat');

optsTransfer = trainingOptions('sgdm', 'InitialLearnRate', 0.0005);

[netTransfer, traininfo] = trainNetwork(XTrain, TTrain, layersTransfer, optsTransfer);

学習率の倍率は上げる!

ベースの学習率は予め下げておく

元のネットワークから再利用したい層の情報のみを取り出す

51

転移学習を使った応用例

オプティカルフロー:動画像の中から動いている物体の速度ベクトルを計算する

対象領域の抽出:ベクトルの大きさが一定値以上のところを対象領域として抽出

画像の認識:対象領域にある物体を識別する

◆監視カメラ等への応用

52

R-CNN(Regions with CNN features) とは?

CNNにコンピュータビジョンの手法を組み合わせた物体検出・識別の手法

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

自動車の前面(Car Front)

停止標識(Stop Sign)

53

R-CNN(Regions with CNN features) とは?

Exhaustive SearchSliding Window を使ったアルゴリズム。サイズや場所を変えながら網羅的に探索する。顔検出などのアルゴリズムなどでもよく利用されている。

Selective Search色やテクスチャの情報を基にしたアルゴリズム。物体らしき部分を選んで提案してくれる(通常2000個くらいの候補を生成することが多い)

Exhaustive Search では、領域の候補が非常に多くなり、高性能な識別器との組み合わせが難しかった

54

R-CNN(Regions with CNN features) とは?

Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." CVPR 2014

CNN featuresCNN を使った画像特徴量

Selective Search色やテクスチャの情報を基にした手法

SVMカテゴリの数と同じ数のSVM

55

MATLAB における R-CNN

MATLAB では、実はR-CNN の元論文のアルゴリズムを若干改良して実装している

領域候補Region Proposals

特徴抽出Feature Extraction

Selective Search色やテクスチャの情報を基にした手法 CNN features

CNN を使った画像特徴量

分類Classification

SVMカテゴリの数と同じ数のSVM

Edge Boxes画像のエッジの情報を基にした手法

Neural NetworkCNNの後段を付け替え

元論文

MATLAB

[1] Girshick, R., J. Donahue, T. Darrell, and J. Malik. "Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation."Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014, pp. 580–587[2] Zitnick, C. Lawrence, and P. Dollar. "Edge Boxes: Locating Object Proposals from Edges." Computer Vision-ECCV, Springer International Publishing. 2014, pp. 391–405.

元論文のアルゴリズム

56

MATLAB における R-CNN

MATLABでは、Edge Boxes, CNN, Neural Network の組み合わせにより、物体の検出・認識を行っている→ 性能や基本的な構成はあまり変えずに大幅に高速化!

Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." CVPR 2014

Car Front?

Stop Sign?

候補領域Region Proposals

特徴抽出Feature Extraction

分類Classification

入力画像Input Image

CNN featuresCNN を使った画像特徴量

Edge Boxes画像のエッジの情報を基にした手法

転移学習

Neural NetworkCNNの後段を付け替え

57

Training Image Labeler App

面倒で手間のかかるラベリングも専用ツールで誰にでも簡単に行うことができます

起動はアプリケーションタブにある上記のアイコンをクリックするだけ

ドラッグして領域を定めラベルを選択

ラベルは自由に設定できます

58

R-CNN の学習(関数:trainRCNNObjectDetector)

detector = trainRCNNObjectDetector(groundTruth, network, options, ...

'NegativeOverlapRange', [0 0.3], ...

'PositiveOverlapRange', [0.6 1])

CNN

Ground Truth

正例とする IoU の範囲負例とする IoU の範囲

𝑎𝑟𝑒𝑎(𝐴 ∩ 𝐵)

𝑎𝑟𝑒𝑎(𝐴 ∪ 𝐵)

A

B

IoU (Intersection over Union) とは?

59

学習サンプルの生成方法

候補領域Region Proposals

入力画像Input Image

正例(Positive)

負例(Negative)

学習サンプルは、領域候補の中から Ground Truth の IoU の値をもとに正例か負例かを決定する

PositiveOverlapRange

NegativeOverlapRange

: 領域を正例(Positive)と判定する IoU の範囲

: 領域を負例(Negative)と判定する IoU の範囲

60

検出結果の整理

オブジェクトとして認識される候補領域は複数あり得るが、オプションで数を絞ることができる

SelectStrongest : False SelectStrongest : True

重なり合った領域候補のうち最も確率値の高いものを選択

61

R-CNN の学習

1.Edge Boxes アルゴリズムにより、候補領域(Region Proposal)を生成する

2.Ground Truth との重なり具合(IoU)を元に学習サンプルを決定する

3.カテゴリ認識のための CNN の学習を行う(転移学習)

4.Bounding Box の微調整のための回帰モデルの学習を行う(Bounding Box Regression)

正例(Positive)

負例(Negative)

候補領域Region Proposals

入力画像Input Image

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

回帰モデルBounding Box Regression

62

R-CNN による検出(識別)

1.Edge Boxes アルゴリズムにより、候補領域(Region Proposal)を生成する

2.CNN により識別(Classification)を行う

3.回帰モデルを使って Bounding Box を予測する(Bounding Box Regression)

候補領域Region Proposals

入力画像Input Image

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

回帰モデルBounding Box Regression

識別結果Classification Result

Car Front?

Stop Sign?

Bounding Box 座標Bounding Box Coordinates

(X, Y)

H

W

63

パラメータの自動最適化(ベイズ最適化)

以下は、CNN におけるパラメータ調整にベイズ最適化を用いた例

L2正則化の係数 学習率の初期値

最適なパラメータへ収束

64

ベイズ最適化とは?

ブラックボックス関数の最適化を行う一般的な手法

ブラックボックス関数𝑥 𝑦

???

できるだけ少ない評価点数で、最小値を達成する X を知りたい

・ 本当の関数の形がわからない・ 出力を計算するに時間がかかる

適用対象

入力 X出力 Y

機械学習への適用

:学習器のパラメータ:学習器の性能

65

ベイズ最適化とは?

評価点数:3個目 評価点数:30個目

評価したい関数の形

予想される関数の形に幅を持たせて、データ点を追加しながら、関数の形を絞り込んでゆく

但し、直接見ることはできない(ブラックボックス関数だから)

最初は幅が広いが…

66

% 最適化する変数の設定

InitialLearnRate = optimizableVariable('InitialLearnRate', [1e-6, 1], 'Transform', 'log');

L2Regularization = optimizableVariable('L2Regularization', [1e-10, 1], 'Transform', 'log');

% 最適化したい関数の設定

h = @(z) eval_cifar10_cnn(z);

% ベイズ最適化

results = bayesopt(h, [InitialLearnRate L2Regularization], ...

'MaxObjectiveEvaluations', 25, ...

'IsObjectiveDeterministic', false, ...

'AcquisitionFunctionName', 'expected-improvement-plus');

【コード例】 CNN とベイズ最適化

Step1) CIFAR10 での CNN の学習

Step2) テストセットでの誤り率の算出

最適化したい変数の範囲や型などを設定

67

CNN に必要な Toolbox と Hardware

MATLAB

Image Processing Toolbox™

Computer Vision SystemToolbox™

Statistics andMachine Learning Toolbox™

Parallel Computing Toolbox™

Neural Network Toolbox

CNNはR2016a, R-CNNはR2016b が必須

CNN の学習では必須

転移学習で使用可

学習済みネットワークのインポートに必須

必須

NVIDIA ® のチップを搭載したGPU(Compute Capability 3.0~5.9)

※ Geforce GTX 1080 等の新しいアーキテクチャを持つ GPU は現時点で未対応です

68

深層学習のビデオ

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

Object Recognition: Deep Learning and Machine Learning for Computer Visionhttp://jp.mathworks.com/videos/object-recognition-deep-learning-and-machine-learning-for-computer-vision-121144.html

69

深層学習の例題

CNN の例題

R-CNN の例題

畳み込みニューラルネットの例題

積層自己符号化器の例題

Computer Vision System Toolbox のヘルプ

Neural Network Toolbox のヘルプ

70

大好評の “MATLAB による機械学習” トレーニングを年内のみ特別価格でご受講いただけます!

• 日程:12月12日(月)~13日(火)

• 場所:弊社赤坂オフィス

• 料金:5.5万円/お一人様(来年より 11万円)

• 受講者のコメント例:

“実用的なスキルを演習を通して習得できたので、当初の目的は十分満足することができました。”“機械学習についての概念や考え方、MATLABの使い方などを理解できたので非常によかった。”

• 目次: データのインポートと整理 データの妥当なパターンの検出 分類モデルの構築 予測モデルの改善 回帰モデルの作成 ニューラル ネットワークの作成

71

機械学習・並列化・高速化

Statistics and Machine Learning Toolbox™

機械学習

多変量統計

確率分布

回帰と分散分析

実験計画

統計的工程管理

Parallel Computing Toolbox

MATLAB & Simulink と連携した並列処理

対話的な並列計算実行

GPGPU による高速演算

ジョブおよびタスクの制御

MATLAB Distributed Computing Server

クラスタによる計算環境を提供

MATLAB Distributed Computing Server

Scheduler

Parallel Computing Toolbox

MATLAB

デスクトップ

ローカル

コンピュータ

Neural Network Toolbox

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

データフィッティング

クラスタリング

パターン認識

深層学習

GPUによる計算の高速化

0 5 10 15 20 25 30

10-3

10-2

10-1

100

Best Validation Performance is 0.01227 at epoch 26

Mean S

quare

d E

rror

(m

se)

32 Epochs

TrainValidationTestBest

72

画像処理・コンピュータービジョン・ロボットビジョン

Image Processing Toolbox™

コーナー、円検出

幾何学的変換

各種画像フィルタ処理

レジストレーション(位置合せ)

セグメンテーション(領域分割)

画像の領域の定量評価

Computer Vision System Toolbox™

カメラキャリブレーション

特徴点・特徴量抽出

機械学習による物体認識

動画ストリーミング処理

トラッキング

ステレオビジョン・3D表示

Image Acquisition Toolbox™

デバイスから画像、動画直接取り込み

フレームグラバボード

DCAM, Camera Link®

GigE Vision®, Webカメラ

Microsoft® Kinect® for Windows®

Robotics System Toolbox™

ロボティクスアルゴリズム開発の支援

MATLAB・SimulinkとROS間の

インターフェイス

ROSノード生成

73

信号処理・信号解析

Signal Processing Toolbox™

信号生成、時間領域解析

フィルタ設計解析

スペクトル解析

線形予測

Wavelet Toolbox™

信号・画像の解析・ノイズ除去・圧縮等 連続 / 離散ウェーブレット

パケット解析 / 主成分分析

対話的なGUIによる操作

DSP System Toolbox™

高度なフィルタ設計

スペクトル解析

スペアナ、ロジアナ表示

行列演算、統計処理

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-50

-40

-30

-20

-10

0

10

20

30

Normalized Frequency (x rad/sample)

Pow

er d

ensi

ty (

dB/r

ad/s

ampl

e)

Input signal PSD

Equiripple output PSDIFIR output PSDMultirate/multistage output PSD