狠狠撸

狠狠撸Share a Scribd company logo
PyMC3による潜在表現の推定
吉岡 琢
? 言いたいこと:PyMC3を使うと確率モデルに基
づくデータの潜在表現を自動的に推定できま
す。
? PyMC3:ベイズ推定を自動的に実行できる
Pythonのライブラリ
? 本発表で扱う确率モデルの例:トピックモデル
? 言いたいこと:PyMC3を使うと確率モデルに基
づくデータの潜在表現を自動的に推定できま
す。
? PyMC3:ベイズ推定を自動的に実行できる
Pythonのライブラリ
? 本発表で扱う确率モデルの例:トピックモデル
28	x	28	=	784次元
[Kingma and	Welling	2014]
784次元
2次元
エンコーダ
MLP
デコーダ
MLP
? X	-> (エンコード) ->	Z	->	(デコード) ->	X’
? XとZ:確率変数(Xは既知の画像、Zは未知の潜在表現)
? X’がXと近い?Zは画像の情報を保持している!
‘
79
6
1
8
3 5
0
2
64
? 言いたいこと:PyMC3を使うと確率モデルに基
づくデータの潜在表現を自動的に推定できま
す。
? PyMC3:ベイズ推定を自動的に実行できる
Pythonのライブラリ
? 本発表で扱う确率モデルの例:トピックモデル
? トピックモデル:文書をトピックの確率的な合
成で表現する確率モデル。
? トピック:テーマに沿った単語の確率分布。
https://www.cs.princeton.edu/~blei/topicmodeling.html
[Blei et	al.,	2003]
遺伝
生物
神経
IT
各文書のトピックの分布
各トピックの単語の分布
各文書の単語の分布
? 各文書の潜在表現
? トピックモデルの確率モデル:文書の生成過
程を表現します。
エンコーダ
MLP
トピックモデル
トピック分布
エンコーダ
MLP
デコーダ
MLP
2次元ベクトル
? 言いたいこと:PyMC3を使うと確率モデルに基
づくデータの潜在表現を自動的に推定できま
す。
? PyMC3:ベイズ推定を自動的に実行できる
Pythonのライブラリ
? 本発表で扱う确率モデルの例:トピックモデル
各文書のトピックの分布
各トピックの単語の分布
各文書の単語の分布
? 各文書の潜在表現
? PyMC3で(上記のような)確率モデルを記述す
ると、自動的に未知変数(トピック分布と単語
分布)が推定されます。
– 推定方法:自動微分変分ベイズ(ADVI;	
[Kucukelbir et	al.,	2015])
? 多くの場合で実用的な精度、かつ(MCMCと比べて)高
速
確率モデルの定義
(トピックモデル)
エンコーダーの定義
(文書->トピック分布)
変分ベイズ推定
(ADVI関数の呼び出し)
Evidence	Lower	Bound (ELBO)
変分ベイズの目的関数
Topic	#0:	york mr year	years	wm pl st won	working	ma
Topic	#1:	00	10	new	25	12	20	15	16	30	edu
Topic	#2:	year	team	game	play	win	games	players	season	hockey	league
Topic	#3:	god	jesus people	does	believe	word	christian say	think	bible
Topic	#4:	don	think	just	like	know	people	right	going	ve say
Topic	#5:	key	chip	use	encryption	 clipper	government	keys	security	law	public
Topic	#6:	edu space	use	program	available	information	file	com	mail	ftp
Topic	#7:	people	government	years	state	said	armenian gun	armenians war	world
Topic	#8:	car	good	like	new	used	work	just	years	use	power
Topic	#9:	windows	thanks	drive	use	does	dos	card	problem	scsi using
? 現時点ではエンコーダ部分はPyMC3にマージ
されていません(ADVIは実装済みです)。
? ドキュメントとテストを書いてからPRを送る予
定です(できれば今月中)。
– https://github.com/pymc-devs/pymc3
ご清聴ありがとうございました。

More Related Content

20160611 pymc3-latent