Upload
-
View
542
Download
0
Embed Size (px)
Citation preview
PyMC3による潜在表現の推定
吉岡 琢
• 言いたいこと:PyMC3を使うと確率モデルに基づくデータの潜在表現を自動的に推定できます。
• PyMC3:ベイズ推定を自動的に実行できるPythonのライブラリ
• 本発表で扱う確率モデルの例:トピックモデル
• 言いたいこと:PyMC3を使うと確率モデルに基づくデータの潜在表現を自動的に推定できます。
• PyMC3:ベイズ推定を自動的に実行できるPythonのライブラリ
• 本発表で扱う確率モデルの例:トピックモデル
28x28=784次元
[Kingma andWelling2014]
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 etal.,2003]
遺伝
生物
神経
IT
各文書のトピックの分布
各トピックの単語の分布
各文書の単語の分布
⇒ 各文書の潜在表現
• トピックモデルの確率モデル:文書の生成過程を表現します。
エンコーダMLP トピックモデル
トピック分布
エンコーダMLP
デコーダMLP
2次元ベクトル
• 言いたいこと:PyMC3を使うと確率モデルに基づくデータの潜在表現を自動的に推定できます。
• PyMC3:ベイズ推定を自動的に実行できるPythonのライブラリ
• 本発表で扱う確率モデルの例:トピックモデル
各文書のトピックの分布
各トピックの単語の分布
各文書の単語の分布
⇒ 各文書の潜在表現
• PyMC3で(上記のような)確率モデルを記述すると、自動的に未知変数(トピック分布と単語分布)が推定されます。
–推定方法:自動微分変分ベイズ(ADVI;[Kucukelbir etal.,2015])• 多くの場合で実用的な精度、かつ(MCMCと比べて)高速
確率モデルの定義
(トピックモデル)
エンコーダーの定義
(文書->トピック分布)
変分ベイズ推定
(ADVI関数の呼び出し)
EvidenceLowerBound (ELBO)変分ベイズの目的関数
Topic#0:york mr yearyearswm pl st wonworkingmaTopic#1:0010new251220151630eduTopic#2:yearteamgameplaywingamesplayersseasonhockeyleagueTopic#3:god jesus peopledoesbelievewordchristian saythinkbibleTopic#4:don thinkjustlikeknowpeople rightgoingve sayTopic#5:keychipuseencryption clippergovernmentkeyssecuritylawpublicTopic#6:edu spaceuseprogramavailableinformation filecommailftpTopic#7:peoplegovernmentyearsstatesaidarmenian gunarmenians warworldTopic#8:cargood likenewusedworkjustyearsusepowerTopic#9:windowsthanksdriveusedoesdoscardproblemscsi using
• 現時点ではエンコーダ部分はPyMC3にマージされていません(ADVIは実装済みです)。
• ドキュメントとテストを書いてからPRを送る予定です(できれば今月中)。
– https://github.com/pymc-devs/pymc3
ご清聴ありがとうございました。