プロポーザル
これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。
talk
Pythonicで高速・クリーンな深層学習ライブラリ PyTorch(ja)
スピーカー
Yuta Kashino
対象レベル:
中級
カテゴリ:
Useful libraries
説明
現在,赤丸人気急上昇中の深層学習ライブラリであるPyTorchの特徴と基本について解説します.老舗ライブラリであるTorchの資産をそのまま利用できる拡張性,CPU計算とGPU計算とほぼ同じコード書くことができるテンソル,高速で効率的な自動微分,そして長大なニューラルネットモデルであっても非常に簡潔にかつPythonicに記述できる気持ちよいシンタックス,これらの特徴をもつライブラリがPyTorchです.
目的
参加者はPyTorchの特徴と基本を学び,自分の深層学習ツールとして利用できる切っ掛けを得ます.
概要
深層学習の爆発的ブームにより,数々の深層学習ライブラリが生まれては消えて行きました.そして2017年現在でメジャーに利用されている深層学習ライブラリは,Googleの[TensorFlow][1]を筆頭に,この分野の草分けであるモントリオール大の[Theano][2], [Caffe][3], FaceBookの[Torch][4], Microsoftの[CNTK][5], AWSが採用した[mxnet][6],そして日本のプリファード・ネットワークスの[Chainer][7],というように収斂されてきました.[PyTorch][8]は2016年後半にその一角に突然割り込んできたライブラリです.
PyTorchは元々,TorchをPythonで利用するという目的で2012年からひっそりと開発されていましたが,パッとしない存在でした.それがChainerの登場により,全面的に実装を書き換えてました.つまり,Chainerが提唱した”define-by-run”のパラダイムと実装を「パク」ったのです.それがターニングポイントになり,2016年後半から急速にユーザ数を伸ばしてきました.Torchの豊かな深層ニューラルネット資産,ニューラルネットモデルや最適化アルゴリズム,を利用でき,CPUとGPUのコードをほぼ同じように書けるテンソル,更には高速で効率的な自動微分ライブラリ,巨大なニューラルネットモデルであってもクリーンで簡潔にPythonicに書けるシンタックス,これらの特徴を持つライブラリに進化しました.講演者本人も現在一番利用しているのはPyTorchです.コードを気持ちよく速く簡潔に書け,デバグも容易なのに,学習もテストもそこそこ速い,それがPyTorchです.
また,クリーンに簡潔に書けるという特徴から研究者が実際の研究に利用していることが多いことがPyTorchの利点の一つとなっています.実際に論文公開と同時に公開されるPyTorchコードが多いと共に,例え研究者がソースコードを公開しなくても,arXivなどのプレプリントサーバで発表され話題になった論文の実装は,有志の手によりPyTorchのコードとして1週間程度でGitHub等で公開されることが多いのです.このためにPyTorchを読めれば研究の最前線にキャッチアップすることが容易になります.
本トークでは,PyTorchの特徴と基本について,わかりやすい実例をPythonコードで示しかつ実行しながら,解説いたします.TensorFlowやChainerなどの他の深層学習ライブラリとの比較についても取り上げます.
[1]: https://www.tensorflow.org/
[2]: http://deeplearning.net/software/theano/
[3]: http://caffe.berkeleyvision.org/
[4]: http://torch.ch/
[5]: https://www.microsoft.com/en-us/cognitive-toolkit/
[6]: http://mxnet.io/
[7]: https://chainer.org/
[8]: http://pytorch.org/