SlideShare une entreprise Scribd logo
1  sur  114
ディープラーニングツール
「Pylearn2」「Torch7」
とその仕組み
The University of Tokyo
K. Nakayama
#AIT8
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
ニューラルネットワーク
再訪
ニューラルネットワーク?
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Units
ニューラルネットワーク?
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Units
?
線形分離不能な問題
アプリケーション例
レストラン評価マイニング
入力:単語集合良い
レストラン度
低い クオリティ 値段
},,,{ 値段クオリティ低い高いx
高い
ニューラルネットワークの学習
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Layer
0 1 9
Error
Error
主なビルディングブロック
• 誤差逆伝播法(BP)
• 最急降下法
• 確率的勾配降下法(SGD)
• 活性化関数
–シグモイド関数 / tanh
• コスト関数:
–二乗和誤差
–交差エントロピー誤差
活性化関数
ステップ関数 シグモイド関数








a
a
af
,1
,1
)(
)exp(1
1
)(
a
af


微分可能

ニューラルネットワークの学習
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Layer
0 1 9
Error
Error
いろんな
ニューラルネットワーク
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Layer
前層への出力を持つもの
いろんな
ニューラルネットワーク
ネットワーク形状のもの
ホップフィールドモデルなど
多層パーセプトロン(MLP)
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Layer
身近なNN
• 画像認識
• 文字認識
• ロボット制御
• 天気予報
• 巡回セールスマン問題
• ゲームのアルゴリズム
NNの問題
• 従来のNN
– すぐに局所解に陥る
– オーバーフィッティング
• 多層にすることで表現力は上がるが…
– 下層へ誤差情報が伝播されない
– 収束速度が遅い
Deep Learning
Deep Learning
~研究サイド~
• Hinton 2006
– 1階層ごとに教師無し学習で事前訓練すれば良い結果
が得られることを示した
• 大規模解析をすれば、高次の概念を学習できる?
– Google 猫ニューロン
• 各種コンペで上位がことごとく
Deep Learningが上位を占める
• 何が良いのか?
– 「特徴表現学習」
– 多層にしても学習ができる。収束する
– 汎化性能が高い
Google 猫ニューロン
Deep Learningの
アルゴリズムたち
- SdA -
Stacked
Denoising
Autoencoder
SdA
x0 x1 xn
y0 y1 yn…
…
Out
In
Hidden
Layer
SdA - dA
x0 x1 xn…In
Hidden
Layer
Encode Decode
入力情報を復元
SdA - dA
x0 x1 xn…In
Hidden
Layer
Encode Decode
…
Hidden
Layer
前の層の情報を復元
SdA - Denoising?
x0 x1 xn…In
Hidden
Layer
Encode Decode
…
Hidden
Layer
ロバスト性を高める
…
Input
Visible
Hidden
Layer
Layer
Layer
Output (Top level layer)
Label
Pre-training
Encode
Decode
Fine-tuning
- DBN -
Deep
Belief
Network
DBN
• RBM: Restricted Boltzmann Machine
Ref. deeplearning.net
RBM
• 生成モデル
• データの分布をモデル
化するアルゴリズム
• CD-k, CD-1
• An Introduction to
Restricted Boltzmann
Machines 参照
0x
1x
2x
3x
Visible Layer Hidden Layer
0h
1h
2h
3h
Convolutional DBN
Honglak Lee, et al., Convolutional Deep Belief Networks for
Scalable Unsupervised Learning of Hierarchical Representations (ICML 2009)
Pylearn2
Pylearn2の構造
Python C / C++ / Fortran
SdADBN Convolutional NN
CUDANumpy
Theano (Python)
Tensor / Gradient / Algebra / Code Gen.
BlasScipy
Pylearn2
Pylearn2とは
• Yoshua Bengio先生の研究室
• LISAラボ発祥
• Theanoをベース
• Theanoの自動微分が秀逸
• GPUコードの生成も可能
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
まずはPylearn2
Pylearn2の環境構築
• 依存関係
– Theano, PIL, matplotlib
• 手順
– Git cloneでソースを取得
– setup.py
– 環境変数の設定
• 簡単と思いきや結構面倒な部分も
– Theano,PyYAML,環境変数とか...
• VM配布:Vagrant
Pylearn2_installer
インストーラが必要?
わりと大変な場合もある
• Theanoは必要なパッケージが多い
– Blas, numpy, scipy, ipython, PyYAML, …
• バージョンの制限が強いものもある
• どのパッケージ管理を使うか?
– Tar.gz, configure, make
– APT
– PIP / easy_installer
• 環境変数
Torchは?
Torch環境の構築
• pylearn2, Torch7, Caffeの中では最も導入がス
ムーズなイメージ
• 基本的な手順
– Git, Curlのインストール
– Gitからソースをクローン
– インストールスクリプトの実行
• VM配布:Docker,AMI
• 今回配布のAWSのイメージにはすでにインストー
ル済み
環境構築が終わっている人
~ Theanoを使ってみよう ~
つまり2 * x
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))
Theano
Sample3
(((fill(sigmoid((x * w)), TensorConstant{1.0}) *
sigmoid((x * w))) * (TensorConstant{1.0} - sigmoid((x *
w)))) * x)
変数が行列でもOK
コスト関数に対する各パラメータの微分も自動で計算
Pylearn2のすごさ
• SGDの実装とTheanoの自動微分が秀逸
• グラディエント
– W, W’, vb, hb
– FineTune時の各レイヤーのパラメータ
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
Pylearn2の
主要なディレクトリ
• Datasets
• Scripts
– Tutorials
• Deep_trainer
• Stacked_autoencoders
• Grbm_smd
– Papers
• Dropout
• Maxout
• Training_algorithms
• Models
利用する人
研究する人
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
CIFAR10
train.py?
• YAMLファイルに記述されいている内容に従
い、学習するためのスクリプト
• 学習結果をpklファイルとして出力
• 出力の読み方
– Epochs seen:学習回数
– Objective: 目的関数
(エポックに応じて下がることを確認する)
YAMLの読み方
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
Mini-batch SGD
SGD
1つだけ利用
Batch-SGD
全部
Minibatch
SGD
Andrew Ng.資料より
Pylearn2の一般的な使い方
• YAMLの作成
• train.py実行
• 評価・変更
– show_weights.py --out=weights.png
xxx.pkl
– print_monitor.py xxx.pkl | grep
test_y_misclass
ちょっと複雑な例「SdA」
• Datasets
• Scripts
– Tutorials
• Deep_trainer
• Stacked_autoencoders
• Grbm_smd
– Papers
• Dropout
• Maxout
• Training_algorithms
• Models
利用する人
研究する人
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
MNIST?
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
さらに複雑な例「Deep Trainer」
• Datasets
• Scripts
– Tutorials
• Deep_trainer
• Stacked_autoencoders
• Grbm_smd
– Papers
• Dropout
• Maxout
• Training_algorithms
• Models
利用する人
研究する人
Deep_trainer?
• SdAなどをさらに多層することが可能
• MNIST/CIFARなどに対応
• YAMLを使わない方法
• Usage:
$ cd ~/pylearn2/pylearn2/scripts/tutorials/
deep_trainer
$ python run_deep_trainer.py –d mnist
(1m+)
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
「Maxout」
• Datasets
• Scripts
– Tutorials
• Deep_trainer
• Stacked_autoencoders
• Grbm_smd
– Papers
• Dropout
• Maxout
• Training_algorithms
• Models
利用する人
研究する人
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
(実行しない)
Maxout
• 活性化関数を学習する
• Ian J. G., Maxout Networks
• MNIST エラー率 0.94%,CIFAR 11.68%
Maxout
各種凸関数の近似
Ref; Maxout Networks
Dropout
• ランダムにニューロンを停止する
• オーバーフィッティングを防ぐことができる
• 実装上はマスキングベクトル(1/0)をかける
• シンプルな割にかなり有効
次のステップは?
GPUを利用しましょう
GPU
• Maxoutの計算時間
– on AWS
904m23.683s (15h)
– with GeForce GTX 780 Ti
1482.33s (24m, 36x faster)
• 利用方法
– ~/.theanorc に以下を記述
[global]
device=gpu
floatX = float32
Pylearn2 / Deep Learning
注意事項
• Pre-trainあるか無いかより、パラメータのほうが大
きな影響を与える
– Learning Rate
– Batch size
– Epoch数
– Hiddenレイヤーのユニット数
• Pre-trainは最後の寄り切りに近い?
– 高次のフィーチャを取得できる可能性もある
Pylearn2ハック
Deep Learningハック
• なぜハックするか?
– 論文を読むと分かった気になるが…
• なぜPylearn2はハックする必要があるか?
– ライブラリとしては未完
– カスタマイズが必要
– 汎用データ形式に対応してない
– 学習の過程がわかりにくい
– 学習と検証は分けたい
– YAMLの定義が面倒
– 新しいアルゴリズムを作りたい…
新しいデータへ適用したい
新しいデータへの対応方法
• 基本
– pylearn2/pylearn2/datasetsにクラスを追加
• 汎用っぽいものもある
– Npy dataset
– CSVDataset
– MatlabDataset
– Vectorspacesdataset
– だいたいが情報不足・動作するか不明
• ハック
– pylearn2/pylearn2/datasets/libsvm.py
LibSVM形式
行の先頭にクラス 以降、素性と値
そもそもYAML定義や
Pythonコードが面倒
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
学習過程の可視化
(偽)Handwritingデータ
• Datasets/Handwritingクラスの作成
• WindowsのTTF
• 変形
– 拡大・縮小
– 平行移動
– 回転
認識精度の可視化
構成
Server Side Client Side
jQuery
Backbone.js
Socket.io
Socket.io.js
python
pylearn2
dl_hacks lib
socketio
dl_tester socketio
Pylearn2まとめ
• Pylearn2 / Theano
– Theanoをベースにしているので拡張性が高い
– SdA,DBN,Maxout…
– GPUへの対応が用意
• ライブラリとしては未完
• ハックが必要
– データ読み込み
– パラメータ調整
– 可視化
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
Deep Learningに関する
ライブラリ
• 殿堂入り
– Theano / Pylearn2
– Caffe
– Torch7
• Deeplearning.jp
– GeSdA
• ニューフェイス
– Keras
– Chainer (PFI)
Theano / Pylearn2
• Maxout,Dropout,CNN,RBM,SdAなど有
名どころは一通りそろっている
• Theanoの自動微分が秀逸
• GPU / CPUの切り替えが楽
• YAMLでネットワークを定義
• 拡張性が高い
• おもてなしの精神が少し欠けてる
– 定義の冗長性
– 機能性,汎用性
– ドキュメント更新してほしい
Caffe
• 画像処理では不動の位置を確立
• 高速
• コミュニティが強力
• 精度の高い定義などが数多く公開されている
• 各種のバインディングが充実
• モデルを書くときは結局CかC++
• やっぱりおもてなしの精神が少し欠けてる
– すんごい長いPrototext
– 機能性,汎用性
Torch7
• 機械学習向けの数値計算機能が豊富
• Facebookの参入など成長著しい
• 非常に簡潔にネットワークの定義が可能
• 強力なパッケージ管理機能
• Lua言語 -> Cへのインタフェース
• やっぱりおもてなしの精神が少し欠けてる
– 機能面
Deep Learningに関する
ライブラリ
• 殿堂入り
– Theano / Pylearn2
– Caffe
– Torch7
• Deeplearning.jp
– GeSdA
• ニューフェイス
– Keras
– Chainer (PFI)
GeSdA?
GPU
enpowered
Stacked
denoising
Auto-encoder
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% 以上
GPU?
• グラフィック(3D等)のレンダリングに利用
• Nvidia Geforce GTX 780 Ti
– 2,880コア
– 5,040 GFLOPS
• Intel Xeon E5-4650
– 8コア
– 172.8 GFLOPS
Source: Nvidia
Source: Nvidia
Deep Learning
ライブラリの状況
• Pylearn2
– Python, Numpy, Theanoベース
– 依存ライブラリが多すぎる
– 使い勝手が...
• Caffe
– Cがメイン
– Pythonなどのインタフェースはあるが
– Pylearn2に負けずと依存関係が大変
– Include,ライブラリのリンクが面倒...
• Torch7
– Lua言語
GeSdAの構造
Python C / C++ / Fortran
SdADBN Convolutional NN
CUDANumpy BlasPyCUDA
GeSdA
GeSdA ユーティリティ
GeSdA - YAML
GeSdA – YAML
可変長レイヤー数対応グリッドサーチ
GeSdA - グリッドサーチ
アプリケーション
DeepMotion | GeSdA
Torch7
• Facebookの参入など成長著しい
• 強力なパッケージ管理機能
• 非常に簡潔にネットワークの定義が可能
• Deep Learningのパッケージが充実
• 強力なLua言語→C言語バインディング
Torch7
• Facebookの参入など成長著しい
• 強力なパッケージ管理機能
• 非常に簡潔にネットワークの定義が可能
• Deep Learningのパッケージが充実
• 強力なLua言語→C言語バインディング
luarocks
• パッケージ管理ツール
– pip, cpan, pearみたいなもの
• 各種のパッケージが公開されている
– image, csvigo
• Deep Learning系パッケージ
– nn, unsup, dp
• Usage
$ luarocks install [package]
Torch7
• Facebookの参入など成長著しい
• 強力なパッケージ管理機能
• 非常に簡潔にネットワークの定義が可能
• Deep Learningのパッケージが充実
• Lua言語
MLPを作ってみよう
動かしてみよう
• まずはダウンロード
– $ wget
knakayama.com/tmp/exercise/mlp_xor.lua
• 二つの実行方法
– コマンドラインから実行
$ th mlp_xor.lua
– インタプリタから実行
$ th
> dofile(‘mlp_xor.lua’)
Torch7のSequential
直感的な理解
• Sequentialで入れ物を作る
• nn.Moduleの組み合わせ
– Tanh, Linear
– SpatialConvolutionMM
– ReLU
• nn.Moduleの持つ関数
– Forward, backward
CNNの例
Torch7
• Facebookの参入など成長著しい
• 強力なパッケージ管理機能
• 非常に簡潔にネットワークの定義が可能
• Deep Learningのパッケージが充実
• Lua言語
Deep Learning系パッケージ
• nn
– 非常に簡潔にMLPが書ける
– ある程度レイヤー,評価関数などがそろっている
– CNNまでは非常に簡潔に書ける
• dp
– nnの拡張パックに近いイメージか
– Alexnet,CNN,RNNなど最近のアルゴリズムを中心に,
カスタマイズしやすいネットワークや便利機能を提供
– 言語モデル,顔認識など
• unsup
– Autoencoder系の実装がある
– k-means, PCAなども
• fbcunn
– Facebook製のCUDA対応nn
– 高速(らしい)
– インストールが大変だが...
今日の目次
• Deep Learning基礎
• 環境構築
• Pylearn2 基礎編
• Pylearn2 応用編
• ライブラリ比較
• Torch7
• まとめ
今日のポイント
+ いいたいこと
• Deep Learningはまだ発展途上の技術
• まだまだ拡張・ハックが必要
• Caffe,Pylearn2に続く期待のTorch7も紹介
• GeSdA開発中
• 新しいライブラリも続々登場中
• まだノウハウの蓄積が必要
Deeplearning.jp
ご静聴
ありがとうございました

Contenu connexe

Tendances

NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA Japan
 
Convolutional Neural Network @ CV勉強会関東
Convolutional Neural Network @ CV勉強会関東Convolutional Neural Network @ CV勉強会関東
Convolutional Neural Network @ CV勉強会関東Hokuto Kagaya
 
Introduction to Chainer and CuPy
Introduction to Chainer and CuPyIntroduction to Chainer and CuPy
Introduction to Chainer and CuPyKenta Oono
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装Shinya Akiba
 
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料Kenta Oono
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較Ryota Suzuki
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep LearningTadaichiro Nakano
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~NVIDIA Japan
 
Chainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM についてChainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM についてRetrieva inc.
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learningRetrieva inc.
 
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26Takashi Abe
 
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例Yahoo!デベロッパーネットワーク
 
Kerasで深層学習を実践する
Kerasで深層学習を実践するKerasで深層学習を実践する
Kerasで深層学習を実践するKazuaki Tanida
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編Daiyu Hatakeyama
 
進化するChainer
進化するChainer進化するChainer
進化するChainerYuya Unno
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説suckgeun lee
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJun-ya Norimatsu
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-Yasuyuki Sugai
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術Preferred Networks
 

Tendances (20)

NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
 
Convolutional Neural Network @ CV勉強会関東
Convolutional Neural Network @ CV勉強会関東Convolutional Neural Network @ CV勉強会関東
Convolutional Neural Network @ CV勉強会関東
 
Introduction to Chainer and CuPy
Introduction to Chainer and CuPyIntroduction to Chainer and CuPy
Introduction to Chainer and CuPy
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
日本神経回路学会セミナー「DeepLearningを使ってみよう!」資料
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
 
Chainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM についてChainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM について
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learning
 
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
 
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
 
Kerasで深層学習を実践する
Kerasで深層学習を実践するKerasで深層学習を実践する
Kerasで深層学習を実践する
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
進化するChainer
進化するChainer進化するChainer
進化するChainer
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 

Similaire à JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7

再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法智志 片桐
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015Masahiro Nagano
 
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...Shotaro Suzuki
 
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Satoshi Nagayasu
 
DLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI UpdateDLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI UpdateHirono Jumpei
 
Watson summit 2016_j2_5
Watson summit 2016_j2_5Watson summit 2016_j2_5
Watson summit 2016_j2_5Tanaka Yuichi
 
最近のRのランダムフォレストパッケージ -ranger/Rborist-
最近のRのランダムフォレストパッケージ -ranger/Rborist-最近のRのランダムフォレストパッケージ -ranger/Rborist-
最近のRのランダムフォレストパッケージ -ranger/Rborist-Shintaro Fukushima
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Hiroyuki Wada
 
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learnedエンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons LearnedDaiki Kawanuma
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624Yusuke Suzuki
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03ManaMurakami1
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Yasuyuki Sugai
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎Preferred Networks
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみたHiroki Nakahara
 
0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料Yasuhiro Horiuchi
 

Similaire à JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7 (20)

JAWS DAYS 2022
JAWS DAYS 2022JAWS DAYS 2022
JAWS DAYS 2022
 
再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法再考: お買い得物件を機械学習で見つける方法
再考: お買い得物件を機械学習で見つける方法
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
 
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
 
JAWSUG 20210128
JAWSUG 20210128JAWSUG 20210128
JAWSUG 20210128
 
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
 
DLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI UpdateDLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI Update
 
Watson summit 2016_j2_5
Watson summit 2016_j2_5Watson summit 2016_j2_5
Watson summit 2016_j2_5
 
最近のRのランダムフォレストパッケージ -ranger/Rborist-
最近のRのランダムフォレストパッケージ -ranger/Rborist-最近のRのランダムフォレストパッケージ -ranger/Rborist-
最近のRのランダムフォレストパッケージ -ranger/Rborist-
 
elixir in production
elixir in productionelixir in production
elixir in production
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
 
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learnedエンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
0730 bp study#35発表資料
0730 bp study#35発表資料0730 bp study#35発表資料
0730 bp study#35発表資料
 

JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7

Notes de l'éditeur

  1. Simard et al. (2003)が,クラス分類では交差エントロピー誤差関数のほうが二乗和誤差関数より良いことを示した(訓練速度・汎化能力共に)
  2. 2 phases: Pre-training, feature extraction, Tuning Unsupervised, supervised.