116
初心者限定! これから機械学習プロジェクトをはじめたい あなたと語るプロジェクト成功率を上げるコツ AI15

初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

初心者限定!

これから機械学習プロジェクトをはじめたい

あなたと語るプロジェクト成功率を上げるコツ

AI15

Page 2: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

初心者限定 !これから機械学習プロジェクトをはじめたいあなたと語るプロジェクト成功率を上げるコツ

AI15

Page 3: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Chalk Talk

どんな発言

聞く場

Page 4: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

どんな疑問初心者

Page 5: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素
Page 6: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

What is 機械学習プロジェクト

Page 7: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

こんな事、ありませんか?

Page 8: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

言葉の整理

Page 9: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

データサイエンティスト への道..

機械学習開始

データサイエンティスト

データサイエンスのコースを実施

初めてのデータサイエンス

プロジェクト

なぜこんなにトライ&エラーをするの?

Page 10: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習を行うのに必要なもの

大量のデータデータ

に対する知見

データ分析の

知識・経験

データ分析

ツール・基盤× × ×

大量の分析用データを

保持している

分析用データの中身を

理解している

分析内容やデータに

適してアルゴリズムを

把握している

大量データを分析で

きるツールを持ち

使いこなせる

最も重要

Page 11: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習プロジェクトの構成要素

Question + Data + Analysis = Answer

…につながる意思決定/アクション

答えを知った後で、何をするのか?

Page 12: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Question

• 特定可能

• 測定可能

• 次にアクションが取れる

• ベースライン

ビジネスのQuestionと、データサイエンスのQuestion:

製品が、壊れないようにするためには、いつ保守サービスしますか?

製品が、特定の時間に故障する確率は何ですか?

Page 13: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習 プロジェクトのライフサイクル

推論デプロイメント

データの準備 モデル構築・学習

世界中の研究者が

論文として発表。基本的に、

GitHubで公開される。

それを利活用すべし

どんなデータを整備するか

企業内のデータ利活用

戦略が競争力の源泉

ビジネスにインパクトがある

領域の特定、そのための

機械学習利活用

Page 14: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

コンピューターが処理しやすいデータの準備

データセット

Features Target Value

データ処理(s)

データ処理のためのモジュール

1) RawData

ロード

2) トレーニング用

のデータ作成

Data 2

Data 1

Data N

. . .

100011010011

110111110110

Page 15: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

トレーニング用データセット

アルゴリズムの

選択2) トレーニング用の

データを入力

(選択した1,3,6の列と、

全体の80%の件数)

候補モデル

3) 候補モデルの

作成

1) features の選択

Target

ValueFeature 1 Feature 3 Feature 6

データにアルゴリズムを適用してModel 作成

Page 16: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Model の検証

2) テストデータから、

ターゲットの値を

生成

3) テストデータの実際の値と、

ターゲットの値を比較する

トレーニング用データセット

Target

ValueFeature 1 Feature 3 Feature 6

1) 検証用データの

入力

(残った25%のデータ の、

features 1, 3, 6

だけを使う)

候補モデル

Page 17: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

候補

モデル

3) アルゴリズムのパラメータの変更。

もしくは、別のアルゴリズムの選択

Feature 1 Feature 2 Feature 5

1) 別の features を選択する

アルゴリズムの

選択

2) サンプルデータを追加する学習用アルゴリズム

Model の改善ポイント

Page 18: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

ビジネスの変化 = Model の更新!

Raw

Data

Prepared

Data事前準備処理 Model の選択

データに

アルゴリズムを

適用して

Model を

作成

選ばれた

Model候補 Model

Page 19: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

What is 機械学習

Page 20: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

条件:

ドアの後ろに人がいます

入ってくる人は、男性 / 女性 のどちらでしょうか?

以下のデータは持っています

年齢: 35歳

年収: 600万円

有給残数: 12日

F (性別) = (0.03 * 年齢) + (0.07 * 年収) – (0.04 * 有給残数) + 0.05

= (0.03 * 3.5) + (0.07 * 6.0) – (0.04 * 1.2) + 0.05

= 0.41

0.5 よりも小さいから

= 女性

Page 21: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習の主なタスク

数値予測

回帰分析Regression

・売上予測

・需要予測

・品質管理

ラベル予測

分類Classification

・不良品分析

・故障予測

・チャーン分析

・販促効果測定

・与信分析

クラスタリングClustering

・セグメンテーション

・顧客グルーピング

・メール キャンペーン

Page 22: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Computer Vision Problems

Yes

Page 23: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

これまでのシステム開発と違う点

汎用品 ソフトウェア出来る事は

一つ

データが全て

評価方法

Page 24: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

評価方法

これまでのシステム開発と違う点

汎用品 ソフトウェア出来る事は

一つ

データが全て

Page 25: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

プログラミングと機械学習

2 + 3 = 5

Page 26: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

プログラミングと機械学習

2 + 3 = 5

簡単

大変…

Page 27: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

プログラミングと機械学習

2 + 3 = 5

簡単

大変…

Page 28: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

プログラミングと機械学習

それぞれの写真: 猫? Yes/No

Page 29: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

プログラミングと機械学習Program = Algorithm

人が書く

タスクの仕様の定義

アルゴリズムは固定

アルゴリズムは容易に説明できる

ソフトウェアが書く

目的: 汎化アルゴリズムはデータに依存

アルゴリズムは時間とともに変わる

Page 30: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

これまでのシステム開発と違う点

汎用品 ソフトウェア出来る事は

一つ

データが全て

評価方法

Page 31: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Spark

SQL Server

GPU インスタンス

コンテナー サービス

Azure Machine Learning Workbench /

AI Tools for VS

SQL Server

Machine Learning Server

オンプレミス

エッジ コンピューティングAzure IoT Edge

実験および

モデル管理

Azure Machine Learning Service

トレーニングとデプロイ

Azure

柔軟なトレーニングとデプロイの選択肢

Page 32: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Model は、ファイル にして扱う

<Python> Modelの保存

出力された Model <C#>Model の読み込み

<C#>Model の利用 (実行)

Page 33: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Windows ML

ApplicationAdd Model

Reference

Model

Windows ML

Training Environment

1. Load – Loads model into Windows ML runtime2. Bind – Wires up inputs and outputs to model

3. Eval – Evaluates the model and products results

Page 34: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

これまでのシステム開発と違う点

汎用品 ソフトウェア出来る事は

一つ

データが全て

評価方法

Page 35: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習の主なタスク

数値予測

回帰分析Regression

・売上予測

・需要予測

・品質管理

ラベル予測

分類Classification

・不良品分析

・故障予測

・チャーン分析

・販促効果測定

・与信分析

クラスタリングClustering

・セグメンテーション

・顧客グルーピング

・メール キャンペーン

Page 36: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

回帰 “Regression”

Goal: 値を予測する

ゴールの例:

何個

Page 37: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

車の価格予想

• 車の各種情報 価格

Page 38: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

分類 “Classification“

Goal: 分類を予測する

ゴールの例:

不正か

Class 1 Class 2

2つ以上でも良い

Page 39: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

DCモータの製造不良原因予測「不良種類(成功含む)」を

予測する分析器を作成

Page 40: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Computer Vision Problems

Yes

Page 41: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Bird Detection Project

https://www.microsoft.com/developerblog/2017/10/24/bird-detection-with-azure-ml-workbench/

https://github.com/olgaliak/detection-amlworkbench/

Page 42: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Visual Object Tagging Tool (VoTT)

https://github.com/Microsoft/VoTT

Page 43: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

クラスタリング “Clustering”

Goal: 構造を理解する

ゴールの例:

顧客セグメント

Cluster 1

Cluster 2

Cluster 3

Page 44: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

教師なし学習

あやめの品種分類

がく

片の

幅がく片の長さ

データの類似性から

2種類に分類する

Page 45: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

あやめ品種分類

セトナ

バージニカ

がく

片の

がく片の長さ

Page 46: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

これまでのシステム開発と違う点

汎用品 ソフトウェア出来る事は

一つ

データが全て

評価方法

Page 47: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

サンプル データ から学びましょう

Page 48: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

データの関連性というけれど…

http://tylervigen.com/spurious-correlations

Page 49: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

これまでのシステム開発と違う点

汎用品 ソフトウェア出来る事は

一つ

データが全て

評価方法

Page 50: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

回帰モデルの評価

評価方法 概要

平均絶対誤差

(Mean Absolute Error: MAE)

絶対誤差の平均値

平均二乗誤差

(Root Mean Squared Error:

RMSE)

誤差の二乗の平方根値

相対絶対誤差

(Relative Absolute Error: RAE)

絶対誤差の合計を正規化して合

計相対誤差で除算した値

相対二乗誤差

(Relative Squared Error: RSE)

二乗誤差の合計を正規化して合

計二乗誤差で除算した値

決定係数 (R2)(Coefficient of Determination)

特徴量がラベルを決定する度

合 (悪:0 ~ 良:1)

Page 51: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

分類モデルの評価(2クラス分類モデル)

①True Positive(真陽性):100%に近いほど良好⇒A/(A+C)

②False Positive(偽陽性): 0%に近いほど良好⇒B/(B+D)

③True Negative : 100%に近いほど良好⇒D/(B+D)

④False Negative : 0%に近いほど良好⇒C/(C+D)

⑤Accuracy(正解率) : 100%に近いほど良好⇒「○」「×」を正しく予測できた割合⇒(A+D)/(A+B+C+D) : 100%に近いほど良好

⑥Precision(適合率) : 100%に近いほど良好⇒A/(A+B)

⑦Recall(再現率) : 100%に近いほど良好⇒①に同じ

⑧F1 Score : 1.0に近いほど良好⇒⑥、⑦の複合指標⇒2×(⑥×⑦)/(⑥+⑦)

検証用データ 予測で得たクラス

○ ×

正解の

クラス

○ A件 C件

× B件 D件

正解が「○」のデータ

推測で「○」とされたデータ

A件C件 B件

D件

予測結果例 主な評価指標

Page 52: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

分類モデルの評価(2クラス分類モデル)その他の評価指標(ROC曲線とAUC)

・ROC曲線⇒真偽の判断の閾値を変化させて

真陽性、偽陽性をの推移をグラフかしたもの⇒縦軸が真陽性率、横軸が偽陽性率⇒偽陽性をあまり悪化させることなく、

真陽性を大きく向上できる(=左上に張り付くような曲線)ほど

優れたモデルであることを示す

・AUC⇒ROC曲線の下の面積⇒1に近いほど優れたモデルであること示す

Page 53: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

What is DEEP LEARNING

Page 54: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習 深層学習 深層強化学習

画像解析

音声解析

データ分類異常検知, 顧客グルーピング

数値予測売上予測, 需要予測, 品質管理

ラベル分類不良品分析, 故障予測, チャーン分析

機械学習より強力な分析

自律学習型ロボット

自動運転車

テキストや画像等の自動生成

活用例

主に多層のニューラルネットワークを用いた

手法での分析

分析のためには、莫大なデータ量、計算量、

知識・スキルを要する

統計に基づいた手法での分析

そのため、比較的少ないデータ量と計算量

で分析を行うことができる

定義したあるべき姿に従い試行錯誤をして

自ら学習を行うための分析手法である

強化学習と、深層学習を組み合わせた

分析

Azure Machine Learning Cognitive Toolkit / GPU Instance (N-Series)

マイクロソフトが提供する技術

機械学習の世界

Page 55: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習の種類機械学習

教師あり学習

教師なし学習

強化学習

決定木

線形回帰

SVM

ロジスティック回帰

ニューラルネットワーク

クラスタリング

次元削減

K-mean法

主成分分析

正準相関分析

ディープ ニューラルネットワーク

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

再帰的ニューラルネットワーク

回帰結合ニューラルネットワーク

Q学習

深層学習画像解析, 音声認識, 自動生成

深層強化学習自立学習型ロボット

自動運転車

Page 56: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

トレーニングデータ

独立したデータ, 特徴, シグナル, 属性 “Predict したい分類, クラス, ラベル, 依存しているデータ

Neural Networks のデータ例

Page 57: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

35

49,000

M

3.5

4.9

-1.0

1.0

0.0

0.23

Age

Income

Sex

0.15

Republican0.62Education

可能性

inp

ut

hidd

en

outp

ut

High

Neural Network に入力…

Page 58: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Neural Network - Neuron

Activate Function

Input Layer Hidden Layer

(妥当な数で)

重み

(Weight)

Page 59: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

MNIST 手書き文字認識用のデータセット

28 pixel

28 p

ixel

Page 60: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

ニューロンの準備28 pixel

28 p

ixel

0 1 2 9

特徴量

Page 61: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

学習28 pixel

28 p

ixel

0 1 2 9

色無し

シナプスに0/(サンプル数/10)が足される

色あり

シナプスに1/(サンプル数/10)が

足される

Page 62: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

学習 2個目28 pixel

28 p

ixel

0 1 2 9

色あり

シナプスに1/(サンプル数/10)が

足される

色無し

シナプスに0/(サンプル数/10)が足される

Page 63: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

学習後

0 1 2

Page 64: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

評価28 pixel

28 p

ixel

0 1 2

色が付いているニューロンと繋がっている

シナプスのみを残し、そのシナプスの値を

アウトプットのニューロンごとに足して平均を計算

0 1 2 3 4 5 6 7 8 9

0.2 0.85 0.3 0.4 0.3 0.3 0.34 0.71 0.4 0.4

Page 65: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

ニューロンとシナプスの数

0 1 2

ニューロンは 784+10= 794個784 x 10 = 7840本

Page 66: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

隠れ層を追加し、シナプスを増やす

0 1 2

ニューロンは784+100+10= 894個

784 x 100 + 100 x 10 = 785000本

隠れ層

Page 67: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

結果

シナプスが増えたら賢くなった!

Page 68: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

• 層が深くなった

• なので Deep

隠れ層を追加し

0 1 2 9

Page 69: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

ニューロンを増やしたサンプル結果

ニューロン数 正解率

なし 76%

100 x 1 87%

200 x 1 88%

400 x 1 90%

784 x 1 91%

784 x 2 92%

784 x 3 92%

200 x 2 90%

隠れ層内のニューロン数を変えた場合

隠れ層の数 正解率

なし 76%

1 87%

2 88%

3 89%

4 87%

隠れ層の数を変えた場合 (各層100ニューロン)

Page 70: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

騒ぎます ノイズ

0 1 2

隠れ層

嘘つきを入れます

Page 71: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

壊します 一部経路をなくします - ドロップアウト

0 1 2

隠れ層

消します

Page 72: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

隠れ層に Dropout を追加

Page 73: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

見つけます 重みづけ

0 1 2

隠れ層

こいつは信頼できる

層が深くなるとインプットニューロンの情報が平均化されてしまいます。

その中から信頼できる情報を発信するニューロンを見つけ重みづけを変えます

Page 74: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

結果

かなり実用レベル 実際人間が行っても同じくらい

Page 75: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

恒等写像(identity mapping)

ReLU

シグモイド関数(Sigmoid)

ソフトマックス関数(Softmax)

x

f(x)

Page 76: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Input Layer Hidden Layer Output

Layer

直線がない

直線がある

Page 77: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

入力画像データ Input Layer Hidden Layer

(妥当な数で)

Output Layer

直線がない

直線がある

Page 78: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Mean Squared Error Cross Entropy Error

σ(z) がsigmoid 関数の場合、0,1近傍で

微分が≃0となってしまい、コスト関数の変化

(学習)が止まってしまう

差が大きくなればなるほど、コスト関数の変

化も大きくなる

Cross-entropyが使われることが多いが、Cognitive Toolkit のチュートリアルでは両方使っている。

Page 79: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

SGD

MomentumSGD

•色々な勾配法- Gradient Descent- SGD- MomentumSGD- AdaGrad- AdaDelta- Adam- RMSpropGraves- NesterovAG

学習率

(Learning Rate)

学習率 モーメンタム

(Momentum)

「学習率」をハイパーパラメータとして指定

「学習率」と「モーメンタム」をハイパーパラメータとして指定

Page 80: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Computer Vision

Page 81: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

• 畳み込み プーリング

画像の特徴を自動抽出

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

畳み込み プーリング 畳み込み プーリング 全結合層 出力入力

犬 (0.01)

猫 (0.04)

ボート(0.94)

鳥 (0.01)

ガウシアンフィルタの様な処理をして特徴を自動抽出する層

Page 82: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

1 2 3 0

0 1 2 3

3 0 1 2

2 3 0 1

2 0 1

0 1 2

1 0 2

15 16

6 15

Page 83: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

1 2 3 0

0 1 2 3

3 0 1 2

2 3 0 1

2 0 1

0 1 2

1 0 2

15

1*2=2 2*0=0 3*1=3

0*0=0 1*1=1 2*2=4

3*1=3 0*0=0 1*2=2

Page 84: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

1 2 3 0

0 1 2 3

3 0 1 2

2 3 0 1

2 0 1

0 1 2

1 0 2

15 16

Page 85: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

1 2 3 0

0 1 2 3

3 0 1 2

2 3 0 1

2 0 1

0 1 2

1 0 2

15 16

6

Page 86: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

1 2 3 0

0 1 2 3

3 0 1 2

2 3 0 1

2 0 1

0 1 2

1 0 2

15 16

6 15

Page 87: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素
Page 88: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

1 4 2 5 1 8 7

14 2 5 1 8 7

1 42 5 1 8 7

1 4 25 1 8 7

1 4 2 51 8 7

1 4 2 5 18 7

1 4 2 5 1 87

4 2 5

2 5 1

5 1 8

Page 89: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素
Page 90: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素
Page 91: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Den

se

(全結合層)

ReLU

Den

se

ReLU

Den

se

So

ftmax

Input Layer Hidden Layer Output LayerHidden Layer

Page 92: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

my_model = Sequential ([

Dense(64, activation=relu),

Dense(64, activation=relu),

Dense(10, activation=softmax)

])

with default_options(activation=relu):

my_model = Sequential([

For(range(2), lambda: Dense(64)),

Dense(10, activation=softmax)

])

net = Dense(64, activation=relu)(net)

net = Dense(64, activation=relu)(net)

net = Dense(10, activation=softmax)(net)普通に実装

Sequential()

For()

活性化関数にReLU を使う 2つの隠れ層と

Softmaxを使う出力層を実装した3つの例

Page 93: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Convolution

ReLU

Pooling

Convolution

ReLU

Pooling

Convolution

ReLU

Pooling

Dence(Affine)

None

CNNの処理フロー Cognitive Toolkitを使った実装例

Dence(Affine)

None

Page 94: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Model AlexNet VGG GoogLeNet ResNet

Year 2012 2014 2014 2015

Num of Layers 8 19 22 152

Error Rate 16.4% 7.3% 6.7% 3.57%

ProposerUniversity of

Toronto

University of

Oxford Google Microsoft

様々なCNNのモデル

Page 95: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

https://deepage.net/deep_learning/2016/11/30/resnet.html

https://github.com/Microsoft/CNTK/tree/master/Examples/Image/Classification/ResNet

Page 96: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

とてもシンプルな構成で応用性が高いため、多くの技術者に使われている

Page 97: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Transfer Learning

Page 98: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Transfer Learningとは

汎用的なモデル

特定の用途のモデル

特定のレイヤを置き換え

Page 99: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

GPU / FPGA

Page 100: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

DNN Processing Units

効率性

DNN のための シリコンレベル の選択肢

柔軟性

Soft DPU(FPGA)

Contro

l Unit

(CU)

Registers

Arithmeti

c Logic

Unit

(ALU)

CPUs GPUsASICsHard

DPU

Cerebras

Google TPU

Graphcore

Groq

Intel Nervana

Movidius

Wave Computing

Etc.

BrainWave

Baidu SDA

Deephi Tech

ESE

Teradeep

Etc.

Page 101: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

DNN models のトレーニングにかかる時間

ResNet

ImageNet

GoogleNet

ImageNet

2000h Speech

LSTM Model

Neural

Translational Model

130 時間

570時間

1,100時間

2,000時間

Imagenet: 1M Images, 1K Classes

K40 x 8 K40 K40 K40

Page 102: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

学習の際たくさん計算をします

0 1 2

784 x 100 + 100 x 10 = 785000本

960000個の

教師あり学習データ

785000 x 60000 = 47100000000回の足し算をします 471億回

Page 103: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

学習 471 億回の計算• 秒間1000 回 545 日

秒間 100 万回12 時間

評価の計算

秒間 100 万回 0.78秒5万倍

計算時間

Page 104: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

384 GFLOPS

768 GFLOPS(これって秒間7680億回)

DNN 学習で扱う数値は浮動小数点型

Page 105: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

FPGA Technology

DRAMコントローラ

USB コントローラ

イーサネットコントローラ

dspスライス

ram

ram

dspスライス

CPU

CPU

Page 106: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

FPGA: 空間計算

FPGA

データ

命令

命令

命令

データ

命令

命令

命令

CPU: 時間的計算

CPU

命令

Page 107: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

マイクロソフトは、FPGA に対して世界最大のクラウド投資

人工知能の容量を複数のExa-Ops で

FPGA ファブリック上で強力な DNN サービスプラットフォーム

急速に進化する ML への対応

CNN、LSTM、MLP、強化学習、特徴抽出、デシジョンツリーなど

推論に最適化された数値精度

カスタム値、複数化、極小精密ネット

より大きい、より速いモデルのための更なる圧縮

数万TOPでの、低ロットサイズでの効果的な推論スループット

超低遅延による最新の DNN の提供

CPUやGPU と比較して10倍以上

単一の DNN サービスで多くの FPGA に拡張

パフォーマンス

柔軟性

スケール

Page 108: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Web search

ranking

Traditional software (CPU) server plane

QPICPU

QSFP

40Gb/s

FPGA

CPU

40Gb/s

QSFP QSFP

Hardware acceleration plane

Compute Workload 毎に分離され

た中でFPGA同士が相互連携

CPU とは独立して管理

Web search

ranking

Deep neural

networks

SDN offload

SQL

CPUs

FPGAs

Routers

Page 109: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Why 機械学習?

Page 110: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

アルゴリズム

アルゴリズムとして実装

Page 111: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

機械学習

機械学習によるモデル化

アルゴリズムの実装ではなく、適切なデータの選択とクレンジング、学習アルゴリズムの選択とチューニング、そして試行錯誤

Page 112: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

変わる開発コストのバランス

Page 113: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

無限のコンピューターリソース

Page 114: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

Learning

Page 115: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

#azurejp

Page 116: 初心者限定! これから機械学習プロジェクトをはじ …...きるツールを持ち 使いこなせる 最も重要 機械学習プロジェクトの構成要素

© 2018 Microsoft Corporation. All rights reserved.

本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。