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

Similar documents
Slide 1

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

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

Slide 1

Slide 1

PowerPoint Presentation

b4-deeplearning-embedded-c-mw

Deep Learning によるビッグデータ解析 ~ 手法や CUDA による高速化 2014 年 9 月 5 日 G-DEP ソリューションパートナー株式会社システム計画研究所奥村義和

VOLTA TENSOR コアで 高速かつ高精度に DL モデルをトレーニングする方法 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12

Presentation Title

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

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

WiFiの現状

Jetson and Azure ハンズオン

GTC Japan, 2018/09/14 得居誠也, Preferred Networks Chainer における 深層学習の高速化 Optimizing Deep Learning with Chainer

WiFiの現状

Presentation Title

第 1 回ディープラーニング分散学習ハッカソン <ChainerMN 紹介 + スパコンでの実 法 > チューター福 圭祐 (PFN) 鈴 脩司 (PFN)

WHITE PAPER RNN

Deep Learningでの地図タイル活用の検討

dlshogiアピール文章

ディープラーニングの組み込み機器実装ソリューション ~GPC/CPU編~

Jetson and Azure ハンズオン

Rの基本操作

自己紹介 名前 : 竹田卓也 年齢 : 20 歳 ( 大学生 ) 経歴 : 人工知能歴 1ヶ月プログラミング歴 5 年くらい 言語 : PythonとかJavaとかGoとか 趣味 : オンライン オフラインゲーム 2

スライド 1

AI技術の紹介とセンサーデータ解析への応用

Anaconda (2019/7/3)

Presentation Title

PowerPoint Presentation

情報リテラシー 第1回

データサイエンス講座第 3 回機械学習その 2 ロジスティクス回帰 カーネル法とサポートベクターマシン アンサンブル学習

医療情報学会 人工知能学会 AIM 合同研究会資料 SIG-AIMED 腎臓糸球体病理画像の Deep Learning による所見分類手法の検討 The classification of renal biopsy images by deep learning 山口亮平 1 嶋本公徳

概要 単語の分散表現に基づく統計的機械翻訳の素性を提案 既存手法の FFNNLM に CNN と Gate を追加 dependency- to- string デコーダにおいて既存手法を上回る翻訳精度を達成

PowerPoint プレゼンテーション

ディープラーニングの最新トレンドとエヌビディアの最新GPU

マネージド AI サービスと GPU IaaS クラウドで GPU が活きる二つの選択肢 マネージド AI サービス GPU IaaS Amazon AI Google Cloud Vision API 等 IBM Watson Microsoft Cognitive Services Amazon

2017 (413812)

SUALAB INTRODUCTION SUALAB Solution SUALAB は 人工知能 ( ディープラーニング ) による画像解析技術を通して 迅速 正確 そして使いやすいマシンビジョン用のディープラーニングソフトウェアライブラリーである SuaKIT を提供します これは 従来のマシン

<4D F736F F F696E74202D B B836A F82C982E682E CC835E E93E089E6919C94468EAF82C98AD682B782E98CA48B F18F6F94C5816A2E >

Anaconda x86_64 版バージョン の インストールとパッケージの追加 最終更新 : 2018 年 2 月 10 日 URL: Anaconda は,Py

目次 1. CAD インターフェイス (3D_Analyzer&3D_Evolution) ユーザーインターフェイス機能強化 (3D_Analyzer&3D_Evolution)... 3 レポート... 3 クリッピング機能... 4 言語... 4 表示オプション

IPSJ SIG Technical Report Vol.2017-CVIM-207 No /5/10 GAN 1,a) 2,b) Generative Adversarial Networks GAN GAN CIFAR-10 10% GAN GAN Stacked GAN Sta

Deep Learningとは

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

Managing and Sharing MATLAB Code

PowerPoint プレゼンテーション

MATLAB EXPO 2019 Japan プレゼン資料の検討

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

会社紹介 ディープインサイト株式会社 設立 :2016 年 3 月代表取締役 &CEO: 久保田良則取締役 &CTO: 古川智洋業務内容 : ディープラーニングエンジンの開発と応用システムの構築 販売 略歴 : 久保田良則ベンチャー企業にて組込み開発支援ツールや人工知能言語のビジネス推進 米 Sun

SmartBrowser_document_build30_update.pptx

この演習について Autoware 演習 1: データの記録 再生 Autoware 演習 2: センサーキャリブレーション Autoware 演習 3:3 次元地図の作成 Autoware 演習 4: 自己位置推定 Autoware 演習 5: パラメータ調整 Autoware 演習 6: 物体検

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

JustSystems

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - pr_12_template-bs.pptx

目次 1. はじめに 準備 機器構成 やさしく名刺ファイリング Pro v.14.0 セットアップと動作確認 やさしく名刺ファイリング Pro v.14.0 セットアップ... 5 Windows Windows 8.

Microsoft Word - Udemyで講座配信_最終版.docx

WeChat 認証ベースのインターネット アクセス

ディープラーニングによって加速する AI 競争 100% 90% 80% 従来 CV 手法 IMAGENET 正答率 ディープラーニング 70% 60% IBM Watson が自然言語処理のブレークスルーを実現 Facebook が Big Sur を発表 Baidu の Deep Speech

vi 目次 画像のサイズ設定 画像の効果 画面の取り込みとトリミング Office の共通基本操作 図形 図形の挿入と削除 図形の編集 図形の背景色の透過 Office

APEX Spreadsheet ATP HOL JA - Read-Only

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

現金出納帳・総勘定元帳・補助元帳

Microsoft Word - 中井卒業論文.docx

eYACHO 管理者ガイド

Code_Aster / Salome-Meca 中級者への道 2015年5月31日

JACi400のご紹介~RPGとHTMLで簡単Web化~

1. 報告依頼業務 報告書集計システムを利用して 本部の報告依頼者が 売上実績見通しを各支社から収集し 報告書を作成します 依頼側の業務 1

SISJIN

Jupyter Notebook を活用したプログラムライブラリ構築の検討 吹谷芳博 1, 藤澤正樹 1 ( 1 あすか製薬株式会社 ) Examination of the program library construction using Jupyter Notebook ASKA Pharm

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

変更履歴 版数変更日変更内容 /11/1 初版設定 /9/1 名称変更

D5-2_S _003.pptx

音響モデル triphone 入力音声 音声分析 デコーダ 言語モデル N-gram bigram HMM の状態確率として利用 出力層 triphone: 3003 ノード リスコア trigram 隠れ層 2048 ノード X7 層 1 Structure of recognition syst

Mastering the Game of Go without Human Knowledge ( ) AI 3 1 AI 1 rev.1 (2017/11/26) 1 6 2

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

学術情報基盤オープンフォーラム 2019 クラウド活用最新事例 クラウドと Jupyter Notebook を使ったプログラミング教育 2019 年 5 月 29 日 室蘭工業大学桑田喜隆

Transcription:

ハンズオンラボ2 DIGITS による物体検出入門 村上真奈 NVIDIA CUDA & Deep Learning Solution Architect NVIDIA Corporation 1

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

ディープラーニングとは

機械学習とディープラーニングの関係 機械学習 ニューラルネットワーク ディープラーニング

様々な分野でディープラーニングを応用 インターネットとクラウド 医学と生物学 メディアとエンターテイメント セキュリティと防衛 機械の自動化 画像分類音声認識言語翻訳言語処理感情分析推薦 癌細胞の検出糖尿病のランク付け創薬 字幕ビデオ検索リアルタイム翻訳 顔検出ビデオ監視衛星画像 歩行者検出白線のトラッキング信号機の認識 14

人工ニューロン神経回路網をモデル化 神経回路網 人工ニューロン y w 1 w 2 w 3 x 1 x 2 x 3 スタンフォード大学 cs231 講義ノートより y=f(w 1 x 1 +w 2 x 2 +w 3 x 3 ) F(x)=max(,x) 15

人工ニューラルネットワーク単純で訓練可能な数学ユニットの集合体ニューラルネットワーク全体で複雑な機能を学習 隠れ層 入力層 出力層 十分なトレーニングデータを与えられた人工ニューラルネットワークは 入力データから判断を行う複雑な近似を行う事が出来る

ディープラーニングの恩恵ディープラーニングとニューラルネットワーク ロバスト性 一般性 特徴量の設計を行う必要がない 特徴は自動的に獲得される学習用データのバラつきの影響を押さえ込みながら 自動的に学習していく 同じニューラルネットワークのアプローチを多くの異なるアプリケーションやデータに適用する事が出来る スケーラブル より多くのデータで大規模並列化を行う事でパフォーマンスが向上する

トレーニング : 犬 ディープラーニングのアプローチ エラー 猫 蜜穴熊 モデル 犬猫アライグマ 認識 : 犬 モデル

訓練データと検証データ ディープラーニングの学習 データを訓練データ (training data) と検証データ (validation data) に分割する 収集したデータ 訓練データ (training data) 重みの更新 ( 学習 ) に使用 検証データ (validation data) 汎化性能の確認に使用

訓練データによる重みの更新 ディープラーニングの学習 訓練データをニューラルネットワークに与え 正解ラベルと出力結果の誤差が無くなるように重み W の更新を繰り返す 訓練データ 正解は犬 猫犬 検証データ 熊狸

訓練データによる重みの更新 ディープラーニングの学習 訓練データをニューラルネットワークに与え 正解ラベルと出力結果の誤差が無くなるように重み W の更新を繰り返す 訓練データ 正解に近づくように 各層の重みを更新する 猫犬 検証データ 熊狸

学習ループ 訓練データと検証データの役割 すべての訓練データを用いて重み更新を行う + すべての検証データで汎化性能を確認 1 エポック (epoch) と呼ぶ 訓練データ 検証データ 検証データで現在の汎化性能を確認 ( 重みの更新には使用しない ) 猫犬熊狸

学習時の性能の確認 訓練データと検証データの役割 各エポックで訓練データをニューラルネットワークに与えた際の間違い率と検証データを与えた際の間違い率を確認しながら学習を進める必要がある エラー数 validation エラー数 validation 学習成功学習失敗 ( 過学習 ) training エポック training エポック

畳込みニューラルネットワーク (CNN) 画像認識 画像分類で使われる 高い認識精度を誇るアルゴリズム 畳込み層で画像の特徴を学習 目的顔認識 トレーニングデータ 1, 万 ~1 億イメージ ネットワークアーキテクチャ 1 層 1 億パラメータ ラーニングアルゴリズム 3 エクサフロップスの計算量 GPU を利用して 3 日 畳込み層 全結合層 24

25 畳込み層 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 ピクセル値 (src) 畳み込みカーネルピクセル値 (dst) カーネルの中心の値はソースピクセル上に置かれている ソースピクセルはフィルタを自身の積の値に更新される

ディープラーニング フレームワーク 26

ディープラーニング フレームワーク GPU で高速化されているディープラーニング フレームワークが多数存在 Mocha.jl ディープラーニング フレームワーク https://developer.nvidia.com/deep-learning-frameworks 27

ディープラーニング フレームワーク Caffe Torch7 Theano TensorFlow Chainer インターフェース C++/Python/Matlab Lua/C Python C/C++/Python Python cudnn 5 5 5 5 5 ライセンス BSD-2 BSD BSD Apache 2. MIT マルチ GPU (1 ノード ) モデルの柔軟性 CNN RNN #233 RBM 備考 高速 Caffe Model Zoo 多数のアルゴリズムをサポート 自動微分 自動微分 TensorBoard Define by Run CuPy 28

CAFFE 29 1/18/2

Caffe とは? BVLC によって開発されたディープラーニング開発用のオープンフレームワーク コアエンジンは C++/CUDA コマンドライン Python Matlab インターフェース 高速, コードのテストが良く行われている 前処理および開発ツール リファレンスモデルやサンプルコードが充実 画像データマネージメント GPU による高速化の機能 コミュニティが大きく活動が盛ん caffe.berkeleyvision.org http://github.com/bvlc/caffe 3

Caffe の特徴データの前処理とマネージメント データ取り込みフォーマット LevelDB または LMDB データベースイン-メモリ (C++ とPython のみ ) HDF5 画像ファイル 前処理ツール RAW データからの LevelDB/LMDB 生成 トレーニングセットとバリデーションセットのシャッフル生成 平均画像の生成 データ変換 画像のクリッピング リサイズ ミラーリング 差分画像 31

Caffe の特徴 ディープラーニングモデル定義 Protobuf モデルフォーマット ネットワーク構造定義および学習パラメータの定義に使われる 様々なフォーマットに対応 Caffe のオートジェネレータで生成可能 構文チェック機能も存在 コーディングが必要ない name: conv1 type: Convolution bottom: data top: conv1 convolution_param { num_output: 2 kernel_size: 5 stride: 1 weight_filler { type: xavier } } 32

Caffe 特徴 ディープラーニングモデル定義 ロス関数 : Classification Softmax Hinge loss Linear regression Euclidean loss Attributes/multi-classification Sigmoid cross entropy loss and more 使用可能レイヤー : Convolution Pooling Normalization 活性化関数 : ReLU Sigmoid Tanh and more 33

DIGITS 34 1/18/2

NVIDIA DIGITS GPU で高速化されたディープラーニングトレーニング システム 学習データの作成モデルの作成学習過程の可視化モデルのテスト http://developer.nvidia.com/digits 35

NVIDIA DIGITS GPU で高速化されたディープラーニングトレーニング システム 手元の PC から Web ブラウザでアクセス可能なディープラーニングトレーニングシステム ユーザーインターフェース データセットの作成 学習モデルの作成 学習過程の可視化 レイヤーの可視化 画像分類と物体検出の為の DNN のデザインと可視化の機能を提供 Chainer Theano Torch NVCaffe cudnn, cublas NVIDIA が最適化したフレームワークで高速に学習が可能 ハイパーパラメータ チューニングを強力にサポート 学習 CUDA DL 学習のジョブを簡単にスケジューリング リアルタイムに accuracy と loss を監視 GPU HW GPU マルチ GPU GPU クラスタ クラウド 様々な学習データフォーマット フレームワークに対応 36

DIGITS の使い方

DIGITS の使い方 1 DIGITS のワークフロー 1. 学習データセットの作成 2. 学習モデルの作成 学習開始 3. 学習済みモデルのテスト 学習 推論 ( インファレンス )

DIGITS の使い方 2 ホーム画面の戻り方 ホーム画面に戻る

DIGITS の使い方 3 データセット作成 / モデル作成 データセット作成 モデル作成

DIGITS の使い方 4 データセット作成 / モデルの作成 画像分類したい場合 [Classification] を選択 物体検出したい場合 [Object Detection] を選択

DIGITS の使い方 5 ネットワークの構造の変更方法 DIGITS は Caffe を使って学習を行う事が出来る Caffe が選択されている事を確認 モデルの変更画面に遷移 Alexnet が選択されている 43

DIGITS の使い方 5 ネットワークの構造の変更方法 caffe のモデル定義ファイル (prototxt) を書き換える Layer{} でくくってある部分が一つの層 44

Qwiklab/jupyter notebook

Qwiklab のアクセス方法 DIGITS による物体検出入門 https://nvlabs.qwiklab.com/ にアクセスし [DLI217-Japan]->[ エヌビディア DIGITS による物体検出 ] を選択 1 2 3

ラボを開始 を選択 インスタンスの起動を待つ Qwiklab のアクセス方法 DIGITS による物体検出入門 1 2

1/18/217 Jupyter notebook の使い方 実行中は黒丸それ以外は白丸 タイマーカウントダウン 56

1/18/217 Jupyter notebook の使い方 In []: と書いてあるセルは動的実行が出来ます 選択されていると緑の枠が表示される 再生ボタンでセルの実行が出来る (Shift-Enter でも良い ) 57

ハンズオンを開始しましょう 58

ディープラーニング手法による物体検出 DIGITS による物体検出入門 Right Whale Recognition(https://www.kaggle.com/c/noaa-right-whale-recognition) のデータを使って物体検出を学ぶ

ディープラーニング手法による物体検出 DIGITS による物体検出入門 今回のラボでは以下の 4 つの物体検出方法を紹介する 検出方法 1: 画面のスキャン + CNN 演習あり 検出方法 2: 候補領域 + CNN 検出方法 3: FCN(Full Convolutional Network) 演習あり 検出方法 4: DetectNet 演習あり

検出方法 1. 画面のスキャン + CNN 基本アイディア 鯨 か 非鯨 を判別するニューラルネットワークをトレーニングする

検出方法 1. 画面のスキャン + CNN 基本アイディア 画像を分割 それぞれの領域を畳込みニューラルネットワーク (CNN) に通す Whale Not Whale

検出方法 1. 画面のスキャン + CNN 1. Jupyter notebook から DIGITS を起動し 鯨 非鯨 を判別するニューラルネットワークを作成する 1. DIGITS で [Datasets]->[Image Classication] から学習データを作成する 2. DIGITS で [Models]->[Image Classication] からモデル作成と学習をする 2. 学習が終わったら ジョブ ID を控える ハンズオン 3. Jupyter notebook に戻り 先ほど学習したモデルを用いて推論 ( インファレンス ) 処理を行う

検出方法 1. 画面のスキャン + CNN ハンズオン ( 結果 )

2. 候補領域 + CNN 基本アイディア 1 の場合とアイディアは同じ 違いは 画像を単純に分割するのではなく 候補領域を求めてから畳込みニューラルネットワーク (CNN) に通す Whale Not Whale

3.FCN(Full Convolutional Network) 基本アイディア 全結合層を持たない すべて畳込み層のネットワークを使って物体検出を行う http://www.image-net.org/challenges/lsvrc/213/slides/overfeat_ilsvrc213.pdf

3.FCN(Full Convolutional Network) 1. 検出方法 1 のハンズオンで作成した 鯨 と 非鯨 を分類するモデルを FCN に書き換える 1. [Clone Job] でモデルを複製 2. [Standard Networks]->[Alexnet 横の custom] をクリック -> テキストボックス内部のネットワーク定義を書きかえる fc6 fc8 までのエリアを書き換える [Model Name] を適当につけて [Create] ボタンをクリックして 学習を開始 2. 学習が終わったら ジョブ ID を控える ハンズオン 3. Jupyter notebook に戻り 先ほど学習したモデルを用いて推論 ( インファレンス ) 処理を行う

3.FCN(Full Convolutional Network) ハンズオン ( 結果 )

4.DetectNet 基本アイディア DetectNet を用いた物体検出の方法 https://devblogs.nvidia.com/parallelforall/detectnet-deep-neural-network-object-detection-digits/