Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Kotaro Nakayama
PPTX, PDF
36,789 views
JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7
JSAI's AI Tool lecture series part 6,7,8. Deep Learning, the glance, Pylearn2 and Torch7
Science
◦
Related topics:
Deep Learning
•
Neural Networks
•
Read more
62
Save
Share
Embed
Embed presentation
Download
Downloaded 328 times
1
/ 114
2
/ 114
3
/ 114
4
/ 114
5
/ 114
6
/ 114
7
/ 114
8
/ 114
9
/ 114
10
/ 114
11
/ 114
12
/ 114
13
/ 114
14
/ 114
15
/ 114
16
/ 114
17
/ 114
18
/ 114
19
/ 114
20
/ 114
21
/ 114
22
/ 114
23
/ 114
24
/ 114
25
/ 114
26
/ 114
27
/ 114
28
/ 114
29
/ 114
30
/ 114
31
/ 114
32
/ 114
33
/ 114
34
/ 114
35
/ 114
36
/ 114
37
/ 114
38
/ 114
39
/ 114
40
/ 114
41
/ 114
42
/ 114
43
/ 114
44
/ 114
45
/ 114
46
/ 114
47
/ 114
48
/ 114
49
/ 114
50
/ 114
51
/ 114
52
/ 114
53
/ 114
54
/ 114
55
/ 114
56
/ 114
57
/ 114
58
/ 114
59
/ 114
60
/ 114
61
/ 114
62
/ 114
63
/ 114
64
/ 114
65
/ 114
66
/ 114
67
/ 114
68
/ 114
69
/ 114
70
/ 114
71
/ 114
72
/ 114
73
/ 114
74
/ 114
75
/ 114
76
/ 114
77
/ 114
78
/ 114
79
/ 114
80
/ 114
81
/ 114
82
/ 114
83
/ 114
84
/ 114
85
/ 114
86
/ 114
87
/ 114
88
/ 114
89
/ 114
90
/ 114
91
/ 114
92
/ 114
93
/ 114
94
/ 114
95
/ 114
96
/ 114
97
/ 114
98
/ 114
99
/ 114
100
/ 114
101
/ 114
102
/ 114
103
/ 114
104
/ 114
105
/ 114
106
/ 114
107
/ 114
108
/ 114
109
/ 114
110
/ 114
111
/ 114
112
/ 114
113
/ 114
114
/ 114
More Related Content
PDF
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
by
Kotaro Nakayama
PDF
ディープラーニング最近の発展とビジネス応用への課題
by
Kenta Oono
PDF
実装ディープラーニング
by
Yurie Oka
PDF
Deep Learning技術の最近の動向とPreferred Networksの取り組み
by
Kenta Oono
PDF
Introduction to Chainer (LL Ring Recursive)
by
Kenta Oono
PDF
How to Develop Experiment-Oriented Programs
by
Kenta Oono
PPTX
ChainerでDeep Learningを試すために必要なこと
by
Retrieva inc.
PPTX
Cvim saisentan-6-4-tomoaki
by
tomoaki0705
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
by
Kotaro Nakayama
ディープラーニング最近の発展とビジネス応用への課題
by
Kenta Oono
実装ディープラーニング
by
Yurie Oka
Deep Learning技術の最近の動向とPreferred Networksの取り組み
by
Kenta Oono
Introduction to Chainer (LL Ring Recursive)
by
Kenta Oono
How to Develop Experiment-Oriented Programs
by
Kenta Oono
ChainerでDeep Learningを試すために必要なこと
by
Retrieva inc.
Cvim saisentan-6-4-tomoaki
by
tomoaki0705
What's hot
PDF
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
by
NVIDIA Japan
PDF
Convolutional Neural Network @ CV勉強会関東
by
Hokuto Kagaya
PDF
Introduction to Chainer and CuPy
by
Kenta Oono
PPTX
ChainerでDeep Learningを試す為に必要なこと
by
Jiro Nishitoba
PDF
PythonによるDeep Learningの実装
by
Shinya Akiba
PDF
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
by
Kenta Oono
PPTX
【2017年】ディープラーニングのフレームワーク比較
by
Ryota Suzuki
PPTX
はじめての人のためのDeep Learning
by
Tadaichiro Nakano
PDF
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
by
NVIDIA Japan
PDF
Chainer の Trainer 解説と NStepLSTM について
by
Retrieva inc.
PPTX
Chainerで学ぶdeep learning
by
Retrieva inc.
PPTX
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
by
Takashi Abe
PDF
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
by
Yahoo!デベロッパーネットワーク
PDF
Kerasで深層学習を実践する
by
Kazuaki Tanida
PPTX
機械学習 / Deep Learning 大全 (6) Library編
by
Daiyu Hatakeyama
PDF
進化するChainer
by
Yuya Unno
PPT
AlphaGo Zero 解説
by
suckgeun lee
PPTX
Jupyter NotebookとChainerで楽々Deep Learning
by
Jun-ya Norimatsu
PDF
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
by
Yasuyuki Sugai
PDF
20180729 Preferred Networksの機械学習クラスタを支える技術
by
Preferred Networks
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
by
NVIDIA Japan
Convolutional Neural Network @ CV勉強会関東
by
Hokuto Kagaya
Introduction to Chainer and CuPy
by
Kenta Oono
ChainerでDeep Learningを試す為に必要なこと
by
Jiro Nishitoba
PythonによるDeep Learningの実装
by
Shinya Akiba
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
by
Kenta Oono
【2017年】ディープラーニングのフレームワーク比較
by
Ryota Suzuki
はじめての人のためのDeep Learning
by
Tadaichiro Nakano
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
by
NVIDIA Japan
Chainer の Trainer 解説と NStepLSTM について
by
Retrieva inc.
Chainerで学ぶdeep learning
by
Retrieva inc.
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
by
Takashi Abe
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
by
Yahoo!デベロッパーネットワーク
Kerasで深層学習を実践する
by
Kazuaki Tanida
機械学習 / Deep Learning 大全 (6) Library編
by
Daiyu Hatakeyama
進化するChainer
by
Yuya Unno
AlphaGo Zero 解説
by
suckgeun lee
Jupyter NotebookとChainerで楽々Deep Learning
by
Jun-ya Norimatsu
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
by
Yasuyuki Sugai
20180729 Preferred Networksの機械学習クラスタを支える技術
by
Preferred Networks
Similar to JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7
PPTX
「機械学習とは?」から始める Deep learning実践入門
by
Hideto Masuoka
PDF
20140726.西野研セミナー
by
Hayaru SHOUNO
PDF
Pythonで体験する深層学習 5章
by
孝好 飯塚
PPTX
機械学習 / Deep Learning 大全 (2) Deep Learning 基礎編
by
Daiyu Hatakeyama
PPT
Deep Learningの技術と未来
by
Seiya Tokui
PDF
mxnetで頑張る深層学習
by
Takashi Kitano
PPTX
Deep Learningについて(改訂版)
by
Brains Consulting, Inc.
PDF
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
by
Yasutomo Kawanishi
PDF
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
by
Preferred Networks
PDF
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
by
marsee101
PDF
Raspberry Pi Deep Learning Hand-on
by
Yoshihiro Ochi
PDF
Akira shibata at developer summit 2016
by
Akira Shibata
PDF
TensorFlow White Paperを読む
by
Yuta Kashino
PDF
20150803.山口大学集中講義
by
Hayaru SHOUNO
PDF
SGDによるDeepLearningの学習
by
Masashi (Jangsa) Kawaguchi
PDF
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
by
Yuta Sugii
PDF
Deep learning Libs @twm
by
Yuta Kashino
PPTX
Active Learning と Bayesian Neural Network
by
Naoki Matsunaga
PDF
深層学習入門
by
Danushka Bollegala
PDF
Deep learning実装の基礎と実践
by
Seiya Tokui
「機械学習とは?」から始める Deep learning実践入門
by
Hideto Masuoka
20140726.西野研セミナー
by
Hayaru SHOUNO
Pythonで体験する深層学習 5章
by
孝好 飯塚
機械学習 / Deep Learning 大全 (2) Deep Learning 基礎編
by
Daiyu Hatakeyama
Deep Learningの技術と未来
by
Seiya Tokui
mxnetで頑張る深層学習
by
Takashi Kitano
Deep Learningについて(改訂版)
by
Brains Consulting, Inc.
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
by
Yasutomo Kawanishi
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
by
Preferred Networks
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
by
marsee101
Raspberry Pi Deep Learning Hand-on
by
Yoshihiro Ochi
Akira shibata at developer summit 2016
by
Akira Shibata
TensorFlow White Paperを読む
by
Yuta Kashino
20150803.山口大学集中講義
by
Hayaru SHOUNO
SGDによるDeepLearningの学習
by
Masashi (Jangsa) Kawaguchi
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
by
Yuta Sugii
Deep learning Libs @twm
by
Yuta Kashino
Active Learning と Bayesian Neural Network
by
Naoki Matsunaga
深層学習入門
by
Danushka Bollegala
Deep learning実装の基礎と実践
by
Seiya Tokui
JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7
1.
ディープラーニングツール 「Pylearn2」「Torch7」 とその仕組み The University of
Tokyo K. Nakayama #AIT8
2.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
3.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
4.
ニューラルネットワーク 再訪
5.
ニューラルネットワーク? x0 x1 xn y0
y1 yn… … Out In Hidden Units
6.
ニューラルネットワーク? x0 x1 xn y0
y1 yn… … Out In Hidden Units ?
7.
線形分離不能な問題
8.
アプリケーション例 レストラン評価マイニング 入力:単語集合良い レストラン度 低い クオリティ 値段 },,,{
値段クオリティ低い高いx 高い
9.
ニューラルネットワークの学習 x0 x1 xn y0
y1 yn… … Out In Hidden Layer 0 1 9 Error Error
10.
主なビルディングブロック • 誤差逆伝播法(BP) • 最急降下法 •
確率的勾配降下法(SGD) • 活性化関数 –シグモイド関数 / tanh • コスト関数: –二乗和誤差 –交差エントロピー誤差
11.
活性化関数 ステップ関数 シグモイド関数 a a af ,1 ,1 )( )exp(1 1 )( a af 微分可能
12.
ニューラルネットワークの学習 x0 x1 xn y0
y1 yn… … Out In Hidden Layer 0 1 9 Error Error
13.
いろんな ニューラルネットワーク x0 x1 xn y0
y1 yn… … Out In Hidden Layer 前層への出力を持つもの
14.
いろんな ニューラルネットワーク ネットワーク形状のもの ホップフィールドモデルなど
15.
多層パーセプトロン(MLP) x0 x1 xn y0
y1 yn… … Out In Hidden Layer
16.
身近なNN • 画像認識 • 文字認識 •
ロボット制御 • 天気予報 • 巡回セールスマン問題 • ゲームのアルゴリズム
17.
NNの問題 • 従来のNN – すぐに局所解に陥る –
オーバーフィッティング • 多層にすることで表現力は上がるが… – 下層へ誤差情報が伝播されない – 収束速度が遅い
18.
Deep Learning
19.
Deep Learning ~研究サイド~ • Hinton
2006 – 1階層ごとに教師無し学習で事前訓練すれば良い結果 が得られることを示した • 大規模解析をすれば、高次の概念を学習できる? – Google 猫ニューロン • 各種コンペで上位がことごとく Deep Learningが上位を占める • 何が良いのか? – 「特徴表現学習」 – 多層にしても学習ができる。収束する – 汎化性能が高い
20.
Google 猫ニューロン
21.
Deep Learningの アルゴリズムたち
22.
- SdA - Stacked Denoising Autoencoder
23.
SdA x0 x1 xn y0
y1 yn… … Out In Hidden Layer
24.
SdA - dA x0
x1 xn…In Hidden Layer Encode Decode 入力情報を復元
25.
SdA - dA x0
x1 xn…In Hidden Layer Encode Decode … Hidden Layer 前の層の情報を復元
26.
SdA - Denoising? x0
x1 xn…In Hidden Layer Encode Decode … Hidden Layer ロバスト性を高める
27.
… Input Visible Hidden Layer Layer Layer Output (Top level
layer) Label Pre-training Encode Decode Fine-tuning
28.
- DBN - Deep Belief Network
29.
DBN • RBM: Restricted
Boltzmann Machine Ref. deeplearning.net
30.
RBM • 生成モデル • データの分布をモデル 化するアルゴリズム •
CD-k, CD-1 • An Introduction to Restricted Boltzmann Machines 参照 0x 1x 2x 3x Visible Layer Hidden Layer 0h 1h 2h 3h
31.
Convolutional DBN Honglak Lee,
et al., Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations (ICML 2009)
32.
Pylearn2
33.
Pylearn2の構造 Python C /
C++ / Fortran SdADBN Convolutional NN CUDANumpy Theano (Python) Tensor / Gradient / Algebra / Code Gen. BlasScipy Pylearn2
34.
Pylearn2とは • Yoshua Bengio先生の研究室 •
LISAラボ発祥 • Theanoをベース • Theanoの自動微分が秀逸 • GPUコードの生成も可能
35.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
36.
まずはPylearn2
37.
Pylearn2の環境構築 • 依存関係 – Theano,
PIL, matplotlib • 手順 – Git cloneでソースを取得 – setup.py – 環境変数の設定 • 簡単と思いきや結構面倒な部分も – Theano,PyYAML,環境変数とか... • VM配布:Vagrant
38.
Pylearn2_installer
39.
インストーラが必要? わりと大変な場合もある • Theanoは必要なパッケージが多い – Blas,
numpy, scipy, ipython, PyYAML, … • バージョンの制限が強いものもある • どのパッケージ管理を使うか? – Tar.gz, configure, make – APT – PIP / easy_installer • 環境変数
40.
Torchは?
41.
Torch環境の構築 • pylearn2, Torch7,
Caffeの中では最も導入がス ムーズなイメージ • 基本的な手順 – Git, Curlのインストール – Gitからソースをクローン – インストールスクリプトの実行 • VM配布:Docker,AMI • 今回配布のAWSのイメージにはすでにインストー ル済み
42.
環境構築が終わっている人 ~ Theanoを使ってみよう ~ つまり2
* x
43.
Theano Sample2 ((fill(sigmoid(x), TensorConstant{1.0}) *
sigmoid(x)) * (TensorConstant{1.0} - sigmoid(x))) fill(a, b):aの形の行列をbの値で埋める つまりsigmoid(x) * (1.0 – sigmoid(x))
44.
Theano Sample3 (((fill(sigmoid((x * w)),
TensorConstant{1.0}) * sigmoid((x * w))) * (TensorConstant{1.0} - sigmoid((x * w)))) * x) 変数が行列でもOK コスト関数に対する各パラメータの微分も自動で計算
45.
Pylearn2のすごさ • SGDの実装とTheanoの自動微分が秀逸 • グラディエント –
W, W’, vb, hb – FineTune時の各レイヤーのパラメータ
46.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
47.
Pylearn2の 主要なディレクトリ • Datasets • Scripts –
Tutorials • Deep_trainer • Stacked_autoencoders • Grbm_smd – Papers • Dropout • Maxout • Training_algorithms • Models 利用する人 研究する人
48.
Grbm_smd? • Quick-Start サンプル •
CIFAR10を利用した画像認識 • Usage: $ cd ~/pylearn2/pylearn2/scripts/tutorials/grbm_smd $ python make_dataset.py (実行済み) $ train.py cifar_grbm_smd.yaml (2m+) $ show_weights.py --out=weights.png cifar_grbm_smd.pkl $ print_monitor.py cifar_grbm_smd.pkl
49.
CIFAR10
50.
train.py? • YAMLファイルに記述されいている内容に従 い、学習するためのスクリプト • 学習結果をpklファイルとして出力 •
出力の読み方 – Epochs seen:学習回数 – Objective: 目的関数 (エポックに応じて下がることを確認する)
51.
YAMLの読み方
52.
Mini-batch SGD SGD 1つだけ利用 X X X X X X X X y y y y y y y y Batch-SGD 全部 X y Minibatch SGD X X X y y y
53.
Mini-batch SGD SGD 1つだけ利用 Batch-SGD 全部 Minibatch SGD Andrew Ng.資料より
54.
Pylearn2の一般的な使い方 • YAMLの作成 • train.py実行 •
評価・変更 – show_weights.py --out=weights.png xxx.pkl – print_monitor.py xxx.pkl | grep test_y_misclass
55.
ちょっと複雑な例「SdA」 • Datasets • Scripts –
Tutorials • Deep_trainer • Stacked_autoencoders • Grbm_smd – Papers • Dropout • Maxout • Training_algorithms • Models 利用する人 研究する人
56.
Stacked_autoencoders? • SdAのサンプル • MNISTを利用した画像認識 •
Usage: $ cd ~/pylearn2/pylearn2/scripts/datasets $ python download_mnist.py (実行済み) $ cd ~/pylearn2/pylearn2/scripts/tutorials/ stacked_autoencoders/tests $ python test_dae.py
57.
MNIST?
58.
Stacked Autoencoderの構造 • 3つのYAMLファイル –
Dae_l1.yaml (1つ目のdAレイヤー) – Dae_l2.yaml (2つ目のdAレイヤー) – Dae_mlp.yaml(全体のMLP) • Test_dae.py – パラメータを設定 – 1st dA のPre-train – 2nd dA のPre-train – 全体のFine-Tune
59.
さらに複雑な例「Deep Trainer」 • Datasets •
Scripts – Tutorials • Deep_trainer • Stacked_autoencoders • Grbm_smd – Papers • Dropout • Maxout • Training_algorithms • Models 利用する人 研究する人
60.
Deep_trainer? • SdAなどをさらに多層することが可能 • MNIST/CIFARなどに対応 •
YAMLを使わない方法 • Usage: $ cd ~/pylearn2/pylearn2/scripts/tutorials/ deep_trainer $ python run_deep_trainer.py –d mnist (1m+)
61.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
62.
「Maxout」 • Datasets • Scripts –
Tutorials • Deep_trainer • Stacked_autoencoders • Grbm_smd – Papers • Dropout • Maxout • Training_algorithms • Models 利用する人 研究する人
63.
Maxout? • Maxout Networksの論文で発表した内容 •
MNISTを利用した画像認識 • CIFAR用YAMLもある • Usage: $ cd ~/pylearn2/pylearn2/scripts/papers/maxout $ train.py mnist_pi.yaml (904m23.683s (15h)) (途中で止める) $ train.py mnist_pi_continue.yaml (実行しない)
64.
Maxout • 活性化関数を学習する • Ian
J. G., Maxout Networks • MNIST エラー率 0.94%,CIFAR 11.68%
65.
Maxout 各種凸関数の近似 Ref; Maxout Networks
66.
Dropout • ランダムにニューロンを停止する • オーバーフィッティングを防ぐことができる •
実装上はマスキングベクトル(1/0)をかける • シンプルな割にかなり有効
67.
次のステップは?
68.
GPUを利用しましょう
69.
GPU • Maxoutの計算時間 – on
AWS 904m23.683s (15h) – with GeForce GTX 780 Ti 1482.33s (24m, 36x faster) • 利用方法 – ~/.theanorc に以下を記述 [global] device=gpu floatX = float32
70.
Pylearn2 / Deep
Learning 注意事項 • Pre-trainあるか無いかより、パラメータのほうが大 きな影響を与える – Learning Rate – Batch size – Epoch数 – Hiddenレイヤーのユニット数 • Pre-trainは最後の寄り切りに近い? – 高次のフィーチャを取得できる可能性もある
71.
Pylearn2ハック
72.
Deep Learningハック • なぜハックするか? –
論文を読むと分かった気になるが… • なぜPylearn2はハックする必要があるか? – ライブラリとしては未完 – カスタマイズが必要 – 汎用データ形式に対応してない – 学習の過程がわかりにくい – 学習と検証は分けたい – YAMLの定義が面倒 – 新しいアルゴリズムを作りたい…
73.
新しいデータへ適用したい
74.
新しいデータへの対応方法 • 基本 – pylearn2/pylearn2/datasetsにクラスを追加 •
汎用っぽいものもある – Npy dataset – CSVDataset – MatlabDataset – Vectorspacesdataset – だいたいが情報不足・動作するか不明 • ハック – pylearn2/pylearn2/datasets/libsvm.py
75.
LibSVM形式 行の先頭にクラス 以降、素性と値
76.
そもそもYAML定義や Pythonコードが面倒
77.
Confusion Matrix • 正解ベクトルと出力ベクトルの内積を単純に足したもの •
クラス「0」の正解データを利用して推定した結果、「0」に推定される場合 が非常に多く、975.276 • また、次に高い値はクラス「6」の1.842であり、0を6と間違える場合が多 い • 5は3,6、 8、0と間違えやすい 0 1 2 3 4 5 6 7 8 9 0 975.276 0.028 0.780 0.008 0.805 0.101 1.842 0.997 0.120 0.043 1 0.043 1132.765 0.629 0.915 0.003 0.012 0.361 0.107 0.165 0.000 2 4.347 0.413 1018.481 1.295 0.594 0.000 0.200 3.574 3.068 0.028 3 0.086 0.005 0.042 999.280 0.001 2.165 0.000 2.536 3.172 2.714 4 0.850 0.085 1.659 0.002 963.359 0.008 4.337 0.975 0.061 10.664 5 1.989 0.046 0.000 7.363 0.112 878.174 2.081 0.514 1.093 0.629 6 2.976 2.145 0.034 0.030 1.111 1.547 948.634 0.000 1.519 0.003 7 0.161 2.472 5.211 0.101 0.117 0.088 0.020 1014.079 2.260 3.493 8 1.488 0.162 1.436 1.994 0.287 0.760 0.332 3.108 959.650 4.784 9 0.464 2.996 0.005 1.987 6.322 2.243 0.012 2.926 1.182 990.864
78.
学習過程の可視化
80.
(偽)Handwritingデータ • Datasets/Handwritingクラスの作成 • WindowsのTTF •
変形 – 拡大・縮小 – 平行移動 – 回転
81.
認識精度の可視化
82.
構成 Server Side Client
Side jQuery Backbone.js Socket.io Socket.io.js python pylearn2 dl_hacks lib socketio dl_tester socketio
83.
Pylearn2まとめ • Pylearn2 /
Theano – Theanoをベースにしているので拡張性が高い – SdA,DBN,Maxout… – GPUへの対応が用意 • ライブラリとしては未完 • ハックが必要 – データ読み込み – パラメータ調整 – 可視化
84.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
85.
Deep Learningに関する ライブラリ • 殿堂入り –
Theano / Pylearn2 – Caffe – Torch7 • Deeplearning.jp – GeSdA • ニューフェイス – Keras – Chainer (PFI)
86.
Theano / Pylearn2 •
Maxout,Dropout,CNN,RBM,SdAなど有 名どころは一通りそろっている • Theanoの自動微分が秀逸 • GPU / CPUの切り替えが楽 • YAMLでネットワークを定義 • 拡張性が高い • おもてなしの精神が少し欠けてる – 定義の冗長性 – 機能性,汎用性 – ドキュメント更新してほしい
87.
Caffe • 画像処理では不動の位置を確立 • 高速 •
コミュニティが強力 • 精度の高い定義などが数多く公開されている • 各種のバインディングが充実 • モデルを書くときは結局CかC++ • やっぱりおもてなしの精神が少し欠けてる – すんごい長いPrototext – 機能性,汎用性
88.
Torch7 • 機械学習向けの数値計算機能が豊富 • Facebookの参入など成長著しい •
非常に簡潔にネットワークの定義が可能 • 強力なパッケージ管理機能 • Lua言語 -> Cへのインタフェース • やっぱりおもてなしの精神が少し欠けてる – 機能面
89.
Deep Learningに関する ライブラリ • 殿堂入り –
Theano / Pylearn2 – Caffe – Torch7 • Deeplearning.jp – GeSdA • ニューフェイス – Keras – Chainer (PFI)
90.
GeSdA? GPU enpowered Stacked denoising Auto-encoder
91.
GeSdA • GPUベースのSdA – Minibatch-SGD –
Numpy + Blasの5~16倍程度高速 – GPU / Numpyの切り替えオプション • グリッドサーチ機能、パラメータ自動調整(LR) • インタラクティブな可視化機能 • 汎用データセットへの対応(LibSVM形式) • 精度:MNISTで98.7% – Bengio’s Tutorial: 98.5% – Maxout on Pylearn2: 99% 以上
92.
GPU? • グラフィック(3D等)のレンダリングに利用 • Nvidia
Geforce GTX 780 Ti – 2,880コア – 5,040 GFLOPS • Intel Xeon E5-4650 – 8コア – 172.8 GFLOPS Source: Nvidia
93.
Source: Nvidia
94.
Deep Learning ライブラリの状況 • Pylearn2 –
Python, Numpy, Theanoベース – 依存ライブラリが多すぎる – 使い勝手が... • Caffe – Cがメイン – Pythonなどのインタフェースはあるが – Pylearn2に負けずと依存関係が大変 – Include,ライブラリのリンクが面倒... • Torch7 – Lua言語
95.
GeSdAの構造 Python C /
C++ / Fortran SdADBN Convolutional NN CUDANumpy BlasPyCUDA GeSdA GeSdA ユーティリティ
96.
GeSdA - YAML
97.
GeSdA – YAML 可変長レイヤー数対応グリッドサーチ
98.
GeSdA - グリッドサーチ
99.
アプリケーション
100.
DeepMotion | GeSdA
101.
Torch7 • Facebookの参入など成長著しい • 強力なパッケージ管理機能 •
非常に簡潔にネットワークの定義が可能 • Deep Learningのパッケージが充実 • 強力なLua言語→C言語バインディング
102.
Torch7 • Facebookの参入など成長著しい • 強力なパッケージ管理機能 •
非常に簡潔にネットワークの定義が可能 • Deep Learningのパッケージが充実 • 強力なLua言語→C言語バインディング
103.
luarocks • パッケージ管理ツール – pip,
cpan, pearみたいなもの • 各種のパッケージが公開されている – image, csvigo • Deep Learning系パッケージ – nn, unsup, dp • Usage $ luarocks install [package]
104.
Torch7 • Facebookの参入など成長著しい • 強力なパッケージ管理機能 •
非常に簡潔にネットワークの定義が可能 • Deep Learningのパッケージが充実 • Lua言語
105.
MLPを作ってみよう
106.
動かしてみよう • まずはダウンロード – $
wget knakayama.com/tmp/exercise/mlp_xor.lua • 二つの実行方法 – コマンドラインから実行 $ th mlp_xor.lua – インタプリタから実行 $ th > dofile(‘mlp_xor.lua’)
107.
Torch7のSequential 直感的な理解 • Sequentialで入れ物を作る • nn.Moduleの組み合わせ –
Tanh, Linear – SpatialConvolutionMM – ReLU • nn.Moduleの持つ関数 – Forward, backward
109.
CNNの例
110.
Torch7 • Facebookの参入など成長著しい • 強力なパッケージ管理機能 •
非常に簡潔にネットワークの定義が可能 • Deep Learningのパッケージが充実 • Lua言語
111.
Deep Learning系パッケージ • nn –
非常に簡潔にMLPが書ける – ある程度レイヤー,評価関数などがそろっている – CNNまでは非常に簡潔に書ける • dp – nnの拡張パックに近いイメージか – Alexnet,CNN,RNNなど最近のアルゴリズムを中心に, カスタマイズしやすいネットワークや便利機能を提供 – 言語モデル,顔認識など • unsup – Autoencoder系の実装がある – k-means, PCAなども • fbcunn – Facebook製のCUDA対応nn – 高速(らしい) – インストールが大変だが...
112.
今日の目次 • Deep Learning基礎 •
環境構築 • Pylearn2 基礎編 • Pylearn2 応用編 • ライブラリ比較 • Torch7 • まとめ
113.
今日のポイント + いいたいこと • Deep
Learningはまだ発展途上の技術 • まだまだ拡張・ハックが必要 • Caffe,Pylearn2に続く期待のTorch7も紹介 • GeSdA開発中 • 新しいライブラリも続々登場中 • まだノウハウの蓄積が必要 Deeplearning.jp
114.
ご静聴 ありがとうございました
Editor's Notes
#11
Simard et al. (2003)が,クラス分類では交差エントロピー誤差関数のほうが二乗和誤差関数より良いことを示した(訓練速度・汎化能力共に)
#21
2 phases: Pre-training, feature extraction, Tuning Unsupervised, supervised.
Download