深層学習ライブラリの
プログラミングモデル
1
2015-12-19 @Chainer Meetup
今日の内容
• 自己紹介
• プログラミングモデル
• ただ結局…
2
自己紹介
3
自己紹介
• バクフー株式会社 柏野 雄太 (かしの ゆうた)
• Zope3の開発
• Python 13年
• いくつかの本
• バックグラウンドは宇宙物理学
• 深層学習ライブラリウオッチャー
4
自己紹介
• バクフー株式会社 柏野 雄太 (かしの ゆうた)
• 大規模リアルタイムデータのプラットフォーム
5
http://socio.bakfoo.com/
socio@bakfoo.com
Closed Beta
プログラミングモデル
7
汎用高機能DLライブラリ
• Theano
• Torch
• Chainer
• neon
• TensorFlow+ / Cloud Vision API
• MXNet
DL lib 機能差・競争優位
theano torch chainer neon TF MXNet
single
speed
○ ○ ○*
multi gpu ○ ○ ○ ○ ○ ○
multi
machine
○* ○
model zoo ○ ○ ○ ○
community ○ ○ ○
DLライブラリの共通点
• 神経回路網の数理表現をモデルとする
• 有向非巡回グラフ(DAG): 計算グラフ
…
…
…
1
1
1
b(3)
b(2)
b(1)
W (1)
W (2)
W (3)
x1 x2 xd
a(1)
(x)
a(2)
(x)
a(3)
(x)
h(2)
(x)
h(1)
(x)
f(x) = h(3)
(x)
g
g
o
b(1)
W (1)
b(3)
b(2)
W (2)
W (3)
x
数理表現の実装に差がある
• 手続き的: Torch, Chainer, neon
• シンボル的: Theano, TensorFlow
• 手続きかつシンボル: MXNet
_ + _
A
_ + _
_ **2 B
1
A2
+ B + 1
モデル実装の差
_ + _
A
_ + _
_ **2 B
1
A2
+ B + 1
手続き的モデリング
• ノードにデータ(とgrad)が格納される
_ + _
A
_ + _
_ **2 B
1
A2
+ B + 1
ノードに格納されるとは
• Chainerのカスタム関数
手続きは柔軟で動的
• 全ノードに値とgradが格納されているのでデ
バグが容易
• forなどの制御が容易
• Chainerのように実行しながら,計算グラフを
組み替えることもできる
シンボル的モデリング
• 変数ノードはシンボル
• 計算グラフをコンパイ
ル・実行して結果を得
る
A2
+ B + 1
_ + _
A
_ + _
_ **2 B
1
シンボルはメモリを再利用する
• 結果が欲しいだけなら入力と最後だけメモリ
にあればいい:メモリの再利用
• A, B: 120byte
• 手続き: 5*120 = 600 byte
• シンボル:3*120 = 360 byte
_ + _
A
_ + _
_ **2 B
1
シンボルは計算グラフを効率化
• 計算グラフの畳みこみ
_ + _
A
_ + _
_ **2 B
1
A B 1
op
op = A ⇤ ⇤2 + B + 1
シンボル:資源分散を体系化
• TFのデバイス間計算,マシン分散機能
手続き vs シンボル
• 手続きは柔軟で動的
• デバグが容易でモデリングの開発効率がいい
• モデルに制御構文,計算グラフを動的にも
• シンボルは効率的
• メモリの再利用
• 計算グラフの構造を畳みこみできる
• 計算資源の分散に体系的に対応できる
参考:http://mxnet.readthedocs.org/en/latest/program_model.html
ただ結局…
TF開発エコシステム
• TensorDebugger (TDB) https://github.com/ericjang/tdb
TF開発エコシステム
• skflow https://github.com/google/skflow
• Pretty Tensor https://github.com/google/prettytensor
• Keras http://keras.io/backend/
• Deep Learning Robot https://www.autonomous.ai/deep-learning-robot
結局,七難隠すのは…
開発エコシステムの大きさ
Chainerコミュニティはどこ?
http://jrvis.com/red-dwarf/?user=pfnet&repo=chainer
Rubyの成功に学ぼう
• まずは日本で開発エコシステムのコアを育てる
• 本体コード外のコミュニティ開発者の養成
• 正式ドキュメントに日本語
• 日本語による頻繁なミートアップ・年一回の
Chainerカンファレンス
• 日本語のQAコミュニティ
ご質問・ご意見
kashino@bakfoo.com
27
@yutakashino
DL学習リソース
28
動画講義 (全力でオススメ)
• Deep Learning Summer School 2015
• Hugo Larochelle (Twitter/U of Sherbrooke)
• Nando de Freitas (Oxford)
• CS231n: CNN for Visual Recognition
• CS224d: DL for Natural Language Processing
http://videolectures.net/deeplearning2015_montreal/
http://cs231n.stanford.edu/
http://cs224d.stanford.edu/index.html
https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/
https://goo.gl/UWtRWT
29
書籍
• 古典: Bengio et.al. 2015 DLBook
• Theano Tutorial
• Neural Networks and Deep Learning
• 岡谷貴之著 深層学習 (機械学習プロ)
• 神嶌敏弘編 深層学習: Deep Learning
http://www.iro.umontreal.ca/~bengioy/dlbook/
http://neuralnetworksanddeeplearning.com/
http://deeplearning.net/tutorial/deeplearning.pdf
30
例:手続きback prop
• 手続きだと簡単実装

More Related Content

PDF
Chainer meetup lt
PDF
Deep Learningライブラリ 色々つかってみた感想まとめ
PDF
Lighting talk chainer hands on
PDF
Py datameetup1
PDF
TensorFlowをざっくりLTしてみた
PPTX
初心者が Python で戸惑ったところ
PDF
グラフデータベース「Neo4j」の 導入の導入
PDF
グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
Chainer meetup lt
Deep Learningライブラリ 色々つかってみた感想まとめ
Lighting talk chainer hands on
Py datameetup1
TensorFlowをざっくりLTしてみた
初心者が Python で戸惑ったところ
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-

What's hot (20)

PDF
PythonでPodcastを聴く
PDF
最近思った機械学習(PyTorch)のベストプラクティス
PPTX
Python による 「スクレイピング & 自然言語処理」入門
PDF
Pythonで自動化した話1
PDF
Pythonのすすめ
PDF
Python3でwebアプリ
PDF
S09 t0 orientation
PPTX
鳥取Python勉強会 第7回
PPTX
鳥取python勉強会 第1回
PDF
Rubyと機械学習の現状
PPT
14対話bot発表資料
PPTX
鳥取python勉強会 第2回
PDF
本気でPythonで宛名書きした話
PPTX
S13 t0 introduction
PDF
S10 t0 orientation
PDF
S16 t1 python学習奮闘記#6
PDF
DBエンジニアに必要だったPythonのスキル
PDF
S18 t0 introduction
PDF
Chainerのテスト環境とDockerでのCUDAの利用
PDF
Python札幌 2012/06/17
PythonでPodcastを聴く
最近思った機械学習(PyTorch)のベストプラクティス
Python による 「スクレイピング & 自然言語処理」入門
Pythonで自動化した話1
Pythonのすすめ
Python3でwebアプリ
S09 t0 orientation
鳥取Python勉強会 第7回
鳥取python勉強会 第1回
Rubyと機械学習の現状
14対話bot発表資料
鳥取python勉強会 第2回
本気でPythonで宛名書きした話
S13 t0 introduction
S10 t0 orientation
S16 t1 python学習奮闘記#6
DBエンジニアに必要だったPythonのスキル
S18 t0 introduction
Chainerのテスト環境とDockerでのCUDAの利用
Python札幌 2012/06/17
Ad

Viewers also liked (20)

PDF
Chainer Development Plan 2015/12
PPTX
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
PPTX
ディープラーニングにおける学習の高速化の重要性とその手法
PDF
ボケるRNNを学習したい (Chainer meetup 01)
PDF
Chainer入門と最近の機能
PDF
Chainer Contribution Guide
PDF
Introduction to DEEPstation the GUI Deep learning environment for chainer
PDF
CuPy解説
PPTX
Deep parking
PDF
Towards Chainer v1.5
PDF
A Chainer MeetUp Talk
PPTX
Chainer Meetup LT (Alpaca)
PPTX
Chainer meetup
PDF
LT@Chainer Meetup
PDF
Chainer meetup20151014
PPTX
Chainerを使って細胞を数えてみた
PDF
Chainer Update v1.8.0 -> v1.10.0+
PDF
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
PDF
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
PDF
On the benchmark of Chainer
Chainer Development Plan 2015/12
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
ディープラーニングにおける学習の高速化の重要性とその手法
ボケるRNNを学習したい (Chainer meetup 01)
Chainer入門と最近の機能
Chainer Contribution Guide
Introduction to DEEPstation the GUI Deep learning environment for chainer
CuPy解説
Deep parking
Towards Chainer v1.5
A Chainer MeetUp Talk
Chainer Meetup LT (Alpaca)
Chainer meetup
LT@Chainer Meetup
Chainer meetup20151014
Chainerを使って細胞を数えてみた
Chainer Update v1.8.0 -> v1.10.0+
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
On the benchmark of Chainer
Ad

Similar to 深層学習ライブラリのプログラミングモデル (20)

PDF
Deep learning Libs @twm
PDF
深層学習フレームワーク Chainer の開発と今後の展開
PDF
TensorFlow White Paperを読む
PPTX
Chainerで学ぶdeep learning
PDF
深層学習フレームワークChainerの紹介とFPGAへの期待
PDF
20171212 gtc pfn海野裕也_chainerで加速する深層学習とフレームワークの未来
PDF
Vulkan ML JP Translation
PDF
Introduction to Chainer (LL Ring Recursive)
PPTX
「機械学習とは?」から始める Deep learning実践入門
PPTX
2017-05-30_deepleaning-and-chainer
PDF
Deep Learning Lab: DIMo & Chainer
PDF
ChainerRL の学習済みモデルを gRPC 経由で使ってみる試み (+アルファ)
PDF
深層学習フレームワーク Chainerとその進化
PDF
深層学習フレームワークChainerの特徴
PDF
研究を加速するChainerファミリー
PDF
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
PPTX
2018/06/23 Sony"s deep learning software and the latest information
PDF
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
PDF
ディープラーニングフレームワーク とChainerの実装
PPTX
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
Deep learning Libs @twm
深層学習フレームワーク Chainer の開発と今後の展開
TensorFlow White Paperを読む
Chainerで学ぶdeep learning
深層学習フレームワークChainerの紹介とFPGAへの期待
20171212 gtc pfn海野裕也_chainerで加速する深層学習とフレームワークの未来
Vulkan ML JP Translation
Introduction to Chainer (LL Ring Recursive)
「機械学習とは?」から始める Deep learning実践入門
2017-05-30_deepleaning-and-chainer
Deep Learning Lab: DIMo & Chainer
ChainerRL の学習済みモデルを gRPC 経由で使ってみる試み (+アルファ)
深層学習フレームワーク Chainerとその進化
深層学習フレームワークChainerの特徴
研究を加速するChainerファミリー
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
2018/06/23 Sony"s deep learning software and the latest information
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
ディープラーニングフレームワーク とChainerの実装
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御

More from Yuta Kashino (20)

PDF
時系列データと確率的プログラミング tfp.sts
PDF
Python kansai2019
PDF
Mlse20190208
PDF
Ml15m2018 10-27
PDF
Pydata2017 11-29
PDF
私は如何にして心配するのを止めてPyTorchを愛するようになったか
PDF
Pycon2017
PDF
ベイジアンディープニューラルネット
PDF
深層学習とベイズ統計
PDF
Wasserstein GAN Tfug2017 07-12
PDF
確率的プログラミングライブラリEdward
PDF
PyConJP2016: 週末サイエンティストのススメ
PDF
機械学習ビジネス研究会 第01回
PDF
Chainer meetup2016 03-19pub
PDF
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
PDF
日本のオープンデータプラットフォームをPythonでつくる
PDF
Gunosy2015 09-16ts
PDF
Gunosy2015-08-05
PDF
Gunosy2015 07-07
PDF
Gunosy2015-06-03
時系列データと確率的プログラミング tfp.sts
Python kansai2019
Mlse20190208
Ml15m2018 10-27
Pydata2017 11-29
私は如何にして心配するのを止めてPyTorchを愛するようになったか
Pycon2017
ベイジアンディープニューラルネット
深層学習とベイズ統計
Wasserstein GAN Tfug2017 07-12
確率的プログラミングライブラリEdward
PyConJP2016: 週末サイエンティストのススメ
機械学習ビジネス研究会 第01回
Chainer meetup2016 03-19pub
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
日本のオープンデータプラットフォームをPythonでつくる
Gunosy2015 09-16ts
Gunosy2015-08-05
Gunosy2015 07-07
Gunosy2015-06-03

深層学習ライブラリのプログラミングモデル