土曜日 2:40 p.m.–3:10 p.m.

Room 202 #pyconjp_202

ディープニューラルネット確率的プログラミングライブラリEdward

Yuta Kashino

対象レベル:
中級
カテゴリ:
Useful libraries
スライド:
slide https://www.slideshare.net/yutakashino/pycon2017-79579096
ビデオ:
video https://youtu.be/e5ENML3MEV8

説明

ディープニューラルネットで計算を行う,スケーラブルな確率的プログラミングライブラリEdwardの画期的な意義と使い方を本トークで紹介します.EdwardはTensorFlowの上に確率変数とベイズ推定を実装したPythonライブラリです.計算において確率的な情報を常に保持する確率的プログラミングライブラリですので,確率事象であるこの世の現象を合理的かつうまく計算することができます.

概要

深層学習の怒濤の発展が続いています.2012年の世界的な画像認識コンペILSVRCにて,当時の最先端の機械学習アルゴリズムを押さえて圧倒的な性能を披露したあと,2015年には人間の認識性能をも凌駕する性能を発揮するようになっています.また2016年,2017年には囲碁のトップ棋士との対決,さらには将棋の名人との対決で圧倒的な勝利を収めました. 2012年以降,深層学習の分野に世界中の優秀な才能が殺到し,さらには巨大IT企業や政府の巨額投資が行われ,深層学習の研究,応用が爆発的な勢いで発展しています.しかし,この深層学習,どうして性能が出るのかという点について,合理的に納得できる説明ができず,今は若い大学院生・ポスドクの勘と根性でガムシャラに試行錯誤して,個々の目的となる課題(オブジェクト認識,自然言語の応答,多言語機械翻訳等)に対して性能を上げあれれば勝利という,山勘ゲームになっている様相を呈しています. この風潮に再考を促す流れの一つが,ベイズ推定の考え方を深層学習に取り入れていこうというものです.2016年12月に行われた深層学習研究のトップカンファレンスであるNIPS 2016のシンポジウム “[Bayesian Deep Learning][1]” でもその問題意識は明かになってます.ベイズ推定に基づいた確率モデルを構築することで,深層ネットワークの振る舞いをコントロールしようというのが狙いです. [Edward][2]はこのような文脈で開発が進んでいるPythonライブラリです.ベイズ推定を行う「確率的プログラミングライブラリ」というものの一種ですが,計算部分にはGoogleの深層学習フレームワーク[TensorFlow][3]を使っています.このことにより,計算機を複数使った分散計算や,複数GPUによる並列計算や,Google Cloud Platformを利用した専用プロセッサTPUによる並列計算など,大規模にスケールする計算が可能になります.このTensorFlowの上に確率変数とベイズ推定の計算アルゴリズムを導入し,できるだけ確率的な情報を保持したまま,合理的な計算を行うのがEdwardです. 本トークでは,ベイズ推定と確率的プログラミングの基礎を与えながら,このEdwardの性質と使い方を,実際のPythonコードで示しながらかつ実行しながら,紹介します. [1]: http://bayesiandeeplearning.org/ [2]: http://edwardlib.org/ [3]: https://www.tensorflow.org/
  • このエントリーをはてなブックマークに追加
CONTACT