本ラボの目的 ディープラーニングのイントロダクション ネットワークのトレーニング トレーニングの結果を理解する コンピュータビジョン 画像分類に関するハンズオン Caffe と DIGITS を使用する 1/17/217 6

Similar documents
ディープラーニングとは AGENDA Qwiklabs/DIGITS の使い方 DIGITS による物体検出入門ハンズオン

AGENDA ディープラーニングとは Qwiklab/Jupyter notebook/digits の使い方 DIGITS による物体検出入門ハンズオン

Slide 1

Slide 1

機械学習 ハンズオン-チュートリアル

Rの基本操作

2017 (413812)

Slide 1

b4-deeplearning-embedded-c-mw

<4D F736F F F696E74202D CB4967B2D8F6F93FC8AC48E8B8D9E F8E9E8C9F8DF5817A D C882F182C282A C520837D836A B2E707074>

スライド 1

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

PowerPoint Presentation

PowerPoint プレゼンテーション

Microsoft PowerPoint - KanriManual.ppt

WiFiの現状

はじめに Microsoft Forms( 以下フォーム ) は 九州産業大学の学生及び教職員が利用できる Office365 の機能の一つです アンケートやクイズ ( テスト ) を簡単な操作で作成することができます 作成したアンケートやクイズは マルチデバイスでの回答が可能で 回答は即時集計され

情報リテラシー 第1回

スライド 0

TBA シリーズ操作説明書 TBA シリーズの機種別操作 測定項目管理 <TBA-200FR NEO の場合 > <TBA-120FR の場合 > <TBA-2000FR の場合 > <TBA-40FR ACCUTE の場合 > <TBA-C4000 C8000 C16000 の場合

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

Microsoft Word - 26 【標準P】演習テキスト ArcGIS.docx

作業環境カスタマイズ 機能ガイド(応用編)

分析のステップ Step 1: Y( 目的変数 ) に対する値の順序を確認 Step 2: モデルのあてはめ を実行 適切なモデルの指定 Step 3: オプションを指定し オッズ比とその信頼区間を表示 以下 このステップに沿って JMP の操作をご説明します Step 1: Y( 目的変数 ) の

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

CDM Studio

スライド 1

更新履歴 変更履歴 版数 リリース日 更新内容 第 1 版 2017/5/15 第 1 版発行 第 2 版 2017/7/13 更新履歴 変更内容を追加 (2ページ) 編集の前に を追加(8 ページ ) ブロックエディタ スマートモード エディタモード の説明を追加 (10~12 ページ ) ブロッ

PowerPoint プレゼンテーション

Microsoft PowerPoint - Tutorial_2_upd.ppt

印刷アプリケーションマニュアル

目次 Web インターフェースでのログイン方法 1 Web インターフェースから利用できる機能の紹介 3 1ファイルのアップロードとダウンロード 4 2 転送確認 ( ファイルのアップロード状況 ) 9 3ファイル更新履歴の管理 10 4 操作履歴の確認 12 5アクセスチケットの生成 ( フォルダ

PowerPoint プレゼンテーション

問合せ分類 1( 初期設定関連 ) お問い合わせ 初期設定の方法がわかりません 初期設定をご案内させていただきます 1 下記 URL をクリックし 規約に同意し サービス登録番号を入力をしてください

D5-2_S _003.pptx

Rational Roseモデルの移行 マニュアル

APEX Spreadsheet ATP HOL JA - Read-Only

2. オプション設定画面で, 必要事項を記入 選択します. 少なくとも, タイトル に課題の見出しとなる文章を入力する他, 種別 を アンケート( 無記名式 ) に設定する必要があります. また, アクセス制限はここでは コースメニューで非表示にする に設定します. その他設定は必要に応じて行って下

Microsoft Word - tutorial3-dbreverse.docx

Presentation Title

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

楽々 Web データベース 簡単アプリ作成ガイド ( コレクトアプリ ) Ver 住友電工情報システム ( 株 )

<chemsherpa-ai の入力について > (1) 発行者 承認者情報 発行者 承認者情報は 必須項目です 会社情報をクリックし 必要事項を入力します 5. 新規にデータを作成する (P.12 参照 ) 承認者情報も入力します (2) 日付の入力日付の入力規則で年月日は " ハイフン " でつ

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

スライド 1

目 次 タイトルの作成... 1 新しいスライドを作成... 1 画像の挿入... 2 テキストボックスの挿入... 4 練習問題 表の挿入... 7 グラフの挿入... 8 図形の挿入... 9 テーマの設定 アニメーションの設定 グラフの系列別のアニメーショ

AQUOSケータイ3 オンラインマニュアル

SULMS簡単操作マニュアル

スクールCOBOL2002

NALC 活動管理システムインストール手順書 NALC 活動管理システムを利用するためには 以下の性能を持った PC が必要です システム要件 対応 OS 対応ブラウザ Windows7 / Windows8 8.1/windows10 Internet Explorer 8 以降 (Firefox

ステップ 5: ファイルの管理 ステップ 6: レイヤーのデータソースの変更 演習のまとめ 第 3 章レイヤーの操作と共有 第 3 章概要 画面移動 1 : レイヤーの全体表示 画面移動 2 : [XY へ移動 ] ツール...

9 WEB監視

MATLAB®製品紹介セミナー

簡単ラベル作成 印刷マニュアル

Windows8.1基礎 ファイル管理

PowerPoint Presentation

目次 1. 動画再生の機能 3 2. 動画を再生するスライドの作成 7 3. まとめ 課題にチャレンジ 19 レッスン内容 ムービーの中で動画を再生するスライドの作成 多くのデジタルカメラには動画撮影機能が搭載されています PowerPoint にはデジタルカメラで撮影した動画をスライド

SURVEY123 FOR ARCGIS スタートアップガイド 2017 年度空間情報科学野外実験

WiFiの現状

Java KK-MAS チュートリアル

目次 1. はじめに Excel シートからグラフの選択 グラフの各部の名称 成績の複合グラフを作成 各生徒の 3 科目の合計点を求める 合計点から全体の平均を求める 標準偏差を求める...

Presentation Title

3 カーソルの下に 点 という文字が現われます 地図を拡大して点データを作成したい地点にカーソルを動かしクリックします 4 属性情報の確認 変更 ダイアログが表示されます 必要事項を入力し OK をクリックします 全ての項目を入力する必要はありません 必要な項目のみ入力して下さい いろいろな記号が用

Python によるジオプロセシング スクリプト入門

目次 管理画面へログイン 3 採用情報の投稿 4 採用情報の入力方法 5 トップページの項目の編集 6-9 メディアライブラリ 10-11

PDF・画像の貼付け

Using VectorCAST/C++ with Test Driven Development

ArcGIS Desktop Ⅱ 基礎編

目次 1. デジタル押し花の作り方 3 2. デジタル押し花をきれいに仕上げる方法 まとめ 課題にチャレンジ 19 レッスン内容 デジタル押し花 マイクロソフト社のワープロソフト Word 2010( これ以降 Word と記述します ) の図ツールに搭載されている [ 背景

Transcription:

DIGITSによるディープラーニング画像分類 森野慎也, シニアソリューションアーキテクト ディープラーニング部 エヌビディアジャパン 217/1/17

本ラボの目的 ディープラーニングのイントロダクション ネットワークのトレーニング トレーニングの結果を理解する コンピュータビジョン 画像分類に関するハンズオン Caffe と DIGITS を使用する 1/17/217 6

本ラボが意図しないこと 機械学習に対する基本的なイントロダクション ニューラルネットワークに関する正確な定式化 Caffe DIGITS や他のツールに関する すべての機能の紹介 最先端のディープラーニング企業になるためのノウハウ 1/17/217 7

前提知識 ディープラーニングに関するバックグラウンドは不要です ウエブブラウザを使用 - URLにアクセス - ファイルのダウンロード - ファイルマネージャを用いてのファイルの配置 1/17/217 8

本ラボの受講後には ディープラーニングのワークフローを理解できています コンボリューショナルニューラルネットワークをセットアップ トレーニングすることができます 本当のエキスパートになるための 最初のステップを実践することができます 自分自身のネットワークの設定ができ より深く理解するために 何をすればよいかがわかります 1/17/217 9

ディープラーニングとは? 1

機械学習 ニューラルネットワーク ディープラーニング 11

ディープラーニングの広い応用 インターネット & クラウド 薬学 & 生物学 メディア & エンターテイメント セキュリティ & 防衛 自動走行車 画像分類言語認識翻訳言語処理感情分析リコメンデーション ガン細胞検出糖尿病のグレード決定創薬 動画のキャプション付け動画検索リアルタイム翻訳 顔検出ビデオ監視衛星画像 歩行者検出レーントラッキング道路標識の認識 12

機械学習におけるビッグバン DNN BIG DATA GPU Google の AI エンジンはコンピュータハードウエアの世界における変化を示している GPU を搭載したマシンに依存しているのだ これまでに より広範なテクノロジが用いられてきたが それ以上に強く GPU に依存しているのだ 13

人工的なニューロン 生物学的ニューロン 人工のニューロン y w 1 w 2 w 3 x 1 x 2 x 3 From Stanford cs231n lecture notes y=f(w 1 x 1 +w 2 x 2 +w 3 x 3 ) 14

人工的な神経ネットワークトレーニングできる単純な数学的なユニットの集合は 複雑な機能を学ぶことができる 隠れ層 入力層 出力層 人口の神経ネットワークは 十分なトレーニングデータが与えられれば 生の入力データから出力を決定する 非常に複雑な関数を近似することができる 15

トレーニング : Dog ディープラーニングのアプローチ 誤差 Cat DNN 犬猫アライグマ Honey badger デプロイ : DNN 犬 16

ディープニューラルネットワーク (DNN) 生データ低レベルの特徴中間レベルの特徴高レベルの特徴 アプリケーションの構成要素 : 入力 結果 タスクの目的 objective 例 : 顔の同定トレーニングデータ 1 千万 -1 億のイメージネットワークアーキテクチャ ~1 から - 数百のレイヤー 1 億のパラメータ学習アルゴリズム ~3 Exaflops 1-3 GPU 日 17

ディープラーニングの利点 堅牢性 一般化 事前に特徴量のデザインをする必要がない 現在のタスクに最適な特徴量が 自動的に学習される 元来データに存在する多様性に対しても 学習により 堅牢となる 同じニューラルネットワークによるアプローチは 多数の異なるアプリケーション および データタイプに対して適用される スケーラブル より多くのデータを用いた学習により 性能が改善する 演算手法は 超並列化することができる 18

19 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 4-4 1-8 入力ピクセルコンボリューションカーネル出力ピクセルコンボリューションカーネルの係数と 入力ピクセルを掛け 足し合わせた値を出力とする コンボリューション

CAFFE DIGITS 本日使用するツール 2 1/17/217

CAFFE とは? オープンソースのディープラーニングフレームワーク Berkeley Vision and learning Center (BVLC) において開発 多くのコントリビュータにより構成されるオープンソースコミュニティ C++/CUDA による実装 高速 よく検証されたコードシームレスな GPU によるアクセラレーション コマンドライン Python, MATLAB インターフェース caffe.berkeleyvision.org http://github.com/bvlc/caffe リファレンスモデルや サンプルもある 21

CAFFE の機能データのプリプロセスと管理 データフォーマット LevelDB LMDB データベースインメモリ (C++ Python のみ ) HDF5 画像ファイル プリプロセスツール 生画像からの LevelDB/LMDB の作成 トレーニング用と検証用のデータセット作成 ( シャッフル付き ) 平均イメージの生成 データ変換 イメージのトリミング リサイズ スケーリング 位置反転 平均値を引く 22

NVIDIA DIGITS インタラクティブなディープラーニングトレーニングのための GPU システム データの準備 DNNの設定トレーニングの進行モニタ可視化 23

チュートリアル : 手書き文字認識 24 1/17/217

チュートリアルのゴール ディープラーニングのワークフローを学ぶ 手書き文字認識 コンボリューショナルネットワークのトレーニング (Caffe と DIGITS) 複数の異なる手法を試し 結果を改善する トレーニングと最適化の繰り返しは ディープラーニングにおける本質的な手続き 25

手書き文字認識 機械学習における HELLO WORLD? MNIST データセット (Yann LeCun s Web site) http://yann.lecun.com/exdb/mnist/ サイズ : 28x28 グレースケール ピクセル値 - 255 トレーニング用データ : 6 万テスト用データ : 1 万 入力ベクタサイズ : 784 ( = 28 x 28) 出力は -9 までの整数 26 1/17/217

本日使うディープニューラルネットワーク INPUT 28x28 feature maps 2 @24x24 feature maps feature maps feature maps 5 @8x8 5 @4x4 2 @12x12 5 5 1 1 Convolusions 5x5 Max Pooling 2x2 Convolusions 5x5 Fully connected Max Pooling 2x2 ReLU Softmax Fully connected 1/17/217 27

コンボリューション / サブサンプリング入力層 INPUT 28x28 feature maps 2 @24x24 feature maps 2 @12x12 コンボリューションレイヤー - コンボリューションの算出複数の特徴マップを生成する 最大値プーリング Convolusions 5x5 Max Pooling 2x2 - プーリング 2x2 の領域から 最大値を取得 - サブサンプリングで 大きさを縦横半分に 28

全結合レイヤ 活性化関数 feature maps 5 @4x4 5 5 1 1 5 @ 4x4 = 8 ピクセルを ベクトルにする Fully connected レイヤ ( 行列 ) ReLU : 活性化関数 Fully connected ReLU Softmax Fully connected Softmax : 活性化関数 max, x exp a i j n exp a j 1/17/217 29

ニューラルネットワークモデルの定義 Deep Learning model definition Protobuf モデルフォーマット ネットワークモデル および トレーニングパラメータの定義 Caffe コードの自動生成 自動形式チェック 高い可読性 強く型付けされている Google により開発された name: conv1 type: Convolution bottom: data top: conv1 convolution_param { num_output: 2 kernel_size: 5 stride: 1 weight_filler { type: xavier } } 3

CAFFE の機能 ニューラルネットワークの定義 Loss 関数 : 分類 Softmax Hinge loss 線形回帰 Euclidean loss 多値分類 Sigmoid cross entropy loss などなど 使用可能なレイヤー種別 : Convolution Pooling Normalization 利用可能な関数 : ReLU Sigmoid Tanh などなど 31

ラボのセットアップ 32

ログインからラボの選択まで https://nvlabs.qwiklab.com にアクセスログイン ( もしくは 新規ユーザ作成 ) DLI217 Japan を選択 DIGITSによるディープラーニング入門 を選択 選択 ボタンを押す ラボを開始 ボタンを押す わからないことがあったら 会場のアシスタントに聞いてください! 33

ラボ開始 ここをクリック 34

Images から Classification を選択 Login 小文字を使ってください ここを選択 35

データセットの作成 その 1 1. Image Type : Grayscale 2. Image Size : 28 x 28 3. Training Images: /home/ubuntu/data/train_small 4. Separate test images folder をチェック 5. Test Images : /home/ubuntu/data/test_small 1. 2. 3. 4. 5. 36 1/17/217

データセットの作成その 2 1. MNIST small を設定 2. Create ボタンを押す 37 1/17/217

モデルの作成その 1 1. クリックしてホーム画面へ 1. 左上の DIGITS をクリックして HOME 画面に戻る 2. New Model Images から 2. ここを選択 Classification を選択 1/17/217 38

モデルの作成 その 2 1. MNIST small データセットを選択 2. Training Epochs を 1 にする 1. MNIST small データセットを選択 2. Training epochs を 1 に設定 4 1/17/217

モデルの作成 その 2 1. フレームワークは Caffe を選択 1. Caffe を選択 2. LeNet を選択 2. モデルは LeNet を選択 3. モデル名は MNIST small を入力 3. MNIST small を入力 41 1/17/217

Accuracy 検証データセットから求められる Loss 関数 ( 検証用 ) Loss 関数 ( トレーニング ) 42 1/17/217

一つのファイルでテスト 1. Image Path に 以下を入力 /home/ubuntu/data/test_small/2/img_4415.png 2. Show visualization and statistics をチェック 3. Classify One ボタンを押す 43

現実世界のイメージを試す 44

イメージリストファイルの取得 jupyterのページに戻る In [3] を実行 (Ctrl + Enter) 出力される an_image.listを右クリック テキストファイル として保存 45

イメージリストファイル テストデータへのパスの列 テキストエディタで開いた時の見え方 /home/ubuntu/notebook/test_images/image-1-1.jpg /home/ubuntu/notebook/test_images/image-2-1.jpg /home/ubuntu/notebook/test_images/image-3-1.jpg /home/ubuntu/notebook/test_images/image-4-1.jpg /home/ubuntu/notebook/test_images/image-7-1.jpg /home/ubuntu/notebook/test_images/image-8-1.jpg /home/ubuntu/notebook/test_images/image-8-2.jpg 46

イメージリストでテストする 1. Upload Image List Browse ボタンを押す an_image.list を選択 1. Browse ボタンをクリック an_image.list を選択 2. Classify Many ボタンを押す 2. Classify Many ボタンを押す 47

最初の結果 Small dataset ( 3 epoch ) - Accuracy : 96 % - トレーニングは 1 分で終わる SMALL DATASET 1 : 99.9 % 2 : 69.3 % 8 : 71.37 % 8 : 85.7 % : 99. % 8 : 99.69 % 1/17/217 8 : 54.75 % 48

FULL DATASET 6 倍大きなデータセット データセット Training Images : /home/ubuntu/data/train_full Test Image : /home/ubuntu/data/test_full Dataset Name : MNIST full モデル MNIST small をクローン (Cloneボタンを押す). モデル名に MNIST full を設定し Create ボタンを押す. 1/17/217 49

2 つ目の結果 Full dataset ( 3 epoch ) - 99 % of accuracy achieved. SMALL DATASET FULL DATASET - 現実世界の画像の認識には 改善なし 1 : 99.9 % : 93.11 % 2 : 69.3 % 2 : 87.23 % 8 : 71.37 % 8 : 71.6 % 8 : 85.7 % 8 : 79.72 % : 99. % : 95.82 % 8 : 99.69 % 8 : 1. % 8 : 54.75 % 2 : 7.57 % 1/17/217 5

DATA AUGMENTATION 反転したイメージの追加 Pixel(Inverted) = 255 Pixel(original) 黒い背景に白い文字 白い背景に黒い文字 Training Images : /home/ubuntu/data/train_invert Test Image : /home/ubuntu/data/test_invert Dataset Name : MNIST invert 51

DATA AUGMENTATION 反転したイメージの追加 ( 3 epoch ) SMALL DATASET FULL DATASET +INVERTED 1 : 99.9 % : 93.11 % 1 : 9.84 % 2 : 69.3 % 2 : 87.23 % 2 : 89.44 % 8 : 71.37 % 8 : 71.6 % 3 : 1. % 8 : 85.7 % 8 : 79.72 % 4 : 1. % : 99. % : 95.82 % 7 : 82.84 % 8 : 99.69 % 8 : 1. % 8 : 1. % 8 : 54.75 % 2 : 7.57 % 2 : 96.27 % 1/17/217 52

ネットワークの修正 ReLU レイヤの追加と コンボリューションフィルタの修正 INPUT 28x28 feature maps 2 75 @24x24 feature maps feature maps 2 75 @12x12 75@8x8 feature maps 5 -> 1@4x4 5 5 1 Convolusions 5x5 Max Pooling 2x2 ReLU Convolusions 5x5 Fully connected Max Pooling 2x2 ReLU Fully connec 53

LENET のネットワークをカスタマイズ Customize をクリック 1/17/217 54

ネットワークの可視化 Visualize ボタンをクリック 1/17/217 55

ネットワークの修正 ReLU レイヤの追加と コンボリューションフィルタの修正 layer { name: "pool1 type: "Pooling } /* ReLU レイヤの追加 */ layer { name: "relup1" type: "ReLU" bottom: "pool1" top: "pool1" } /* ここまで */ layer { name: conv2 layer { name: "conv1" type: "Convolution"... convolution_param { num_output: 75 /* feature map 数 */... layer { name: "conv2" type: "Convolution"... convolution_param { num_output: 1 /* feature map 数 */... 56

ネットワークの修正 ReLU レイヤの追加 conv1 2 75 編集後 Visualize ボタンを押して ネットワークを確認 relup1 conv2 5 1 57

ネットワークの修正フィルタと ReLU レイヤの追加 ( 3 epoch ) SMALL DATASET FULL DATASET +INVERTED ADDING LAYER 1 : 99.9 % : 93.11 % 1 : 9.84 % 1 : 59.18 % 2 : 69.3 % 2 : 87.23 % 2 : 89.44 % 2 : 93.39 % 8 : 71.37 % 8 : 71.6 % 3 : 1. % 3 : 1. % 8 : 85.7 % 8 : 79.72 % 4 : 1. % 4 : 1. % : 99. % : 95.82 % 7 : 82.84 % 2 : 62.52 % 8 : 99.69 % 8 : 1. % 8 : 1. % 8 : 1. % 8 : 54.75 % 2 : 7.57 % 2 : 96.27 % 8 : 7.83 % 1/17/217 58