Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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は既知...
79
6
1
8
3 5
0
2
64
• 言いたいこと:PyMC3を使うと確率モデルに基
づくデータの潜在表現を自動的に推定できま
す。
• PyMC3:ベイズ推定を自動的に実行できる
Pythonのライブラリ
• 本発表で扱う確率モデルの例:トピックモデル
• トピックモデル:文書をトピックの確率的な合
成で表現する確率モデル。
• トピック:テーマに沿った単語の確率分布。
https://www.cs.princeton.edu/~blei/topicmodeling.html
[Blei et...
各文書のトピックの分布
各トピックの単語の分布
各文書の単語の分布
⇒ 各文書の潜在表現
• トピックモデルの確率モデル:文書の生成過
程を表現します。
エンコーダ
MLP
トピックモデル
トピック分布
エンコーダ
MLP
デコーダ
MLP
2次元ベクトル
• 言いたいこと:PyMC3を使うと確率モデルに基
づくデータの潜在表現を自動的に推定できま
す。
• PyMC3:ベイズ推定を自動的に実行できる
Pythonのライブラリ
• 本発表で扱う確率モデルの例:トピックモデル
各文書のトピックの分布
各トピックの単語の分布
各文書の単語の分布
⇒ 各文書の潜在表現
• PyMC3で(上記のような)確率モデルを記述す
ると、自動的に未知変数(トピック分布と単語
分布)が推定されます。
– 推定方法:自動微分変分ベイズ(...
確率モデルの定義
(トピックモデル)
エンコーダーの定義
(文書->トピック分布)
変分ベイズ推定
(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	1...
• 現時点ではエンコーダ部分はPyMC3にマージ
されていません(ADVIは実装済みです)。
• ドキュメントとテストを書いてからPRを送る予
定です(できれば今月中)。
– https://github.com/pymc-devs/pymc3...
Upcoming SlideShare
Loading in …5
×

20160611 pymc3-latent

793 views

Published on

Google I/O Extended 報告会 2016 in 関西のLTで使用したスライドです。

Published in: Technology
  • Be the first to comment

20160611 pymc3-latent

  1. 1. PyMC3による潜在表現の推定 吉岡 琢
  2. 2. • 言いたいこと:PyMC3を使うと確率モデルに基 づくデータの潜在表現を自動的に推定できま す。 • PyMC3:ベイズ推定を自動的に実行できる Pythonのライブラリ • 本発表で扱う確率モデルの例:トピックモデル
  3. 3. • 言いたいこと:PyMC3を使うと確率モデルに基 づくデータの潜在表現を自動的に推定できま す。 • PyMC3:ベイズ推定を自動的に実行できる Pythonのライブラリ • 本発表で扱う確率モデルの例:トピックモデル
  4. 4. 28 x 28 = 784次元 [Kingma and Welling 2014] 784次元 2次元 エンコーダ MLP デコーダ MLP • X -> (エンコード) -> Z -> (デコード) -> X’ • XとZ:確率変数(Xは既知の画像、Zは未知の潜在表現) • X’がXと近い⇒Zは画像の情報を保持している! ‘
  5. 5. 79 6 1 8 3 5 0 2 64
  6. 6. • 言いたいこと:PyMC3を使うと確率モデルに基 づくデータの潜在表現を自動的に推定できま す。 • PyMC3:ベイズ推定を自動的に実行できる Pythonのライブラリ • 本発表で扱う確率モデルの例:トピックモデル
  7. 7. • トピックモデル:文書をトピックの確率的な合 成で表現する確率モデル。 • トピック:テーマに沿った単語の確率分布。 https://www.cs.princeton.edu/~blei/topicmodeling.html [Blei et al., 2003] 遺伝 生物 神経 IT
  8. 8. 各文書のトピックの分布 各トピックの単語の分布 各文書の単語の分布 ⇒ 各文書の潜在表現 • トピックモデルの確率モデル:文書の生成過 程を表現します。
  9. 9. エンコーダ MLP トピックモデル トピック分布 エンコーダ MLP デコーダ MLP 2次元ベクトル
  10. 10. • 言いたいこと:PyMC3を使うと確率モデルに基 づくデータの潜在表現を自動的に推定できま す。 • PyMC3:ベイズ推定を自動的に実行できる Pythonのライブラリ • 本発表で扱う確率モデルの例:トピックモデル
  11. 11. 各文書のトピックの分布 各トピックの単語の分布 各文書の単語の分布 ⇒ 各文書の潜在表現 • PyMC3で(上記のような)確率モデルを記述す ると、自動的に未知変数(トピック分布と単語 分布)が推定されます。 – 推定方法:自動微分変分ベイズ(ADVI; [Kucukelbir et al., 2015]) • 多くの場合で実用的な精度、かつ(MCMCと比べて)高 速
  12. 12. 確率モデルの定義 (トピックモデル) エンコーダーの定義 (文書->トピック分布) 変分ベイズ推定 (ADVI関数の呼び出し)
  13. 13. 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
  14. 14. • 現時点ではエンコーダ部分はPyMC3にマージ されていません(ADVIは実装済みです)。 • ドキュメントとテストを書いてからPRを送る予 定です(できれば今月中)。 – https://github.com/pymc-devs/pymc3 ご清聴ありがとうございました。

×