こんにちは、CCCMKHDテックラボの佐藤(智)です。 久しぶりの投稿です!
LDA の論文「Rethinking Collapsed Variational Bayes Inference for LDA *1 」を読んで、Collapsed variational Bayes Inference for LDA とその近似について考えてみましたので、 備忘もかねて記事にしておきたいと思います。
LDAとは、Latent Dirichlet Allocationの略で、日本語では「潜在的ディリクレ配分法」と呼ばれています。 LDAのアルゴリズムにはいくつかありますが、 今回は、論文*1における、以下の種類について考えたいと思います。
- VB: 2003年 Blei らによって提案された(オリジナルの) LDA *2
- CVB: 周辺化*3 した VB の 次までのテイラー展開による近似 *4
- CVB0: 周辺化した VB の 次までのテイラー展開による近似
モチベーション
今回の記事執筆のモチベーションは、佐藤一誠氏のLDAに関する著書*5における、 CVB のテイラー展開による近似は CVB0 の近似よりも正確であるにもかかわらず、 CVB0 が CVB より近似精度*6が高くなるという、 テイラー展開の理論とは逆行するような(実験的な)結果の理由を知りたい、ということにあります。
このモチベーションついては、以前のブログの最後のほうでも少しご紹介した内容になります。 本ブログでは、この理由ついて KL-divergenceの拡張である -divergence () の観点 *7 から考えてみたいと思います。 techblog.cccmkhd.co.jp
テイラー展開による近似について(上記ブログ記事の補足)
話を簡単にするために、 周辺化したVBを変数 の関数 *8とおくと、 CVB は、点 におけるテイラー展開の 次近似であり、
の形で表されます。 ただし は を満たす点となります。 そして、CVB0 は、点 におけるテイラー展開の 次近似であり、
となります*9。 ここで は に十分近い点を考えています。 このとき、テーラー展開の一般論から考えると、 CVB は CVB0 と比べて、より近似精度が高いことが想定されます。
確率分布空間について
機械学習において、損失関数は、 真の値と推定値の間の距離(のようなもの)を表す指標として使われます。 今回考えているつのLDAについては、データの集合を、確率分布空間
()の点の集合と考えます。 このような場合、 KL-divergence をベースに損失関数を定義することが多く *10 、 に双対平坦性 *11を導きます。 -divergence () 全体の集合の中で考えると、双対平坦性を導く、 不変で分解不可能な -divergence は、 -divergence (KL-divergenceに等しい) またはその双対(-divergence)だけであり、 それ以外には存在しないことが証明されています (例えば *12 )。
VBでの損失関数は、KL-divergence で定義されます *13。 ですので、VBは双対平坦な空間上にあるデータを観測しているように考えることができ、 テイラー展開の一般論より、CVB2 は CVB より精度が高いのは(個人的に)自然のように思えます。
空間が「平坦」であること
空間が「平坦」であるとは、 その空間が「曲がっていない」かつ「ねじれていない」ということです。
まず、「曲がっていない」とはどういうことかについて考えてみます。 例えば、 次元Euclid空間において、 点 における接ベクトルと点 の接ベクトルは 向きと長さが等しければ同じベクトルと考えることができ、 点 における接空間(接ベクトル全体の集合)と点 の接空間は 自然に対応がつき、同一のものと考えることが出来ます。 ですので、 次元Euclid空間上では任意の点における 接空間を同一視することができます。 一方、別の例として、次元Euclid空間内における、 中心から半径 の 次元球面を考えます。 下図のように「(赤道方向を周進む)→(赤道から北極方向へ周進む)→(北極から赤道方向へ周進む)」 ことを考えた場合、スタート地点の接ベクトルはゴール地点(=スタート地点)に戻って来たときに ベクトルの向きが変わってしまっています。 この場合、球面上における異なる 点における接空間は、 全体として(自然な)対応付けができません。 次元球面上では、異なる点 を取ったとき、 点 の接空間を点 の接空間に対応付けようとすると、 その対応付けは点 を結ぶ曲線のとり方に依存してしまいます。 ある空間がどれだけ「曲がっているか」を表した指標を「曲率」と呼びます。 「曲がっていない」は (曲率) と定義されます。
次に、「ねじれている」とはどういうことかを考えてみます。 またも、次元Euclid空間を例に考えてみます。 平行四辺形 を考えてみます。 下図も参照してください。 平行四辺形なので、、 となります ここで、Euclid空間内では なのですが、 以下の説明のため別の記号を使います。 ここでは当然、ベクトル と ベクトル が一致します。 しかし一般の 次元空間*14では、 ベクトル と ベクトル が一致しません。(平行四辺形が作れません) これが「ねじれている」いうことをイメージ化したものになります。 ある空間がどれだけ「ねじれているか」を表した指標を「捩(ねじれ)率」と呼びます。 「ねじれていない」場合、 (捩率) と定義されます。
ですので、
平坦でない空間内でデータの探索をおこなうと、 観測結果が、探索経路に依存してしまうはずなのです。。。
感想
今回の記事はここまでです。 一気に最後まで書こうと(最初のうちは)意気込んでいましたが。。。一旦公開することにしました。 最終的には、CVB0 推論が ()-divergenceの射影で構成され、 が LDA の に類似していることを示せるということまで理解して、記事にしたいと思います。 これは、CVB0 が LDA のゼロフォーシング効果の影響を受けないことを意味します。
*1:I. Sato and H. Nakagawa, Rethinking Collapsed Variational Bayes Inference for LDA, Proceedings of the th International Conference on Machine Learning, Edinburgh, Scotland, UK, 2012.
*2:変分ベイズ推論を使って定義されています。論文 「D.M. Blei, A.Y. Ng, and M.I. Jordan, Latent Dirichlet allocation. Journal of Machine Learning Research, 3: 993–1022, 2003.」で提案されたLDA
*3:周辺化とは、確率変数を積分消去すること。 または、例えば、つの確率変数 について、 その同時確率 と周辺確率 の間に等式 が成り立つこと:
*4:論文「Teh, Yee Whye, Newman, David, and Welling, Max. A collapsed variational Bayesian inference algorithm for latent Dirichlet allocation. In Advances in Neural Information Processing Systems 19, 2007.」でのLDA
*5:佐藤一誠 (著), 奥村学 (監修), トピックモデルによる統計的潜在意味解析 (自然言語処理シリーズ), 2015年, コロナ社、 (初版90ページ目に記載)
*6:perplexityの意味で
*7:KL=Kullback-Leibler divergence。 パラメータ の取り扱いは研究者により様々ありますが、 本プログ記事では「Minka, Thomas. Divergence measures and message passing. Technical report, Microsoft Research, 2005.」の定義を採用します。 そのとき、のときは KL-divergence、 のときは 逆向きの KL-divergence、 のときは 距離、 のときは 逆向きの 距離、 のときは Hellinger距離 になっています。
*8:正しくは級関数
*9:周辺化した VB のテイラー展開の次近似 CVB1 については、 なので、CVB0 に等しくなります。
*10:KL-divergenceは距離の公理を満たさないため、厳密には 距離とは言えません。
*11: 微分可能多様体に定義された座標系の接続が「平坦」であるだけでなく、 その双対接続も「平坦」であるということ
*12:甘利, 情報幾何学の新展開, 別冊数理科学 新展開2014, 定理4.4
*13:また論文 *1 によると、CVB0 もKL-divergence で構成されていると考えることができます。
*14:正しくは 級微分可能多様体