機械学習とかコンピュータビジョンとか

CVやMLに関する勉強のメモ書き。

Spherical Latent Spaces for Stable Variational Autoencodersを読んだのでメモ

はじめに

Spherical Latent Spaces for Stable Variational Autoencodersを読んだのでメモ.VAEのKL collapse(latent variable collapse)をpriorに\kappa固定のvon Mises-Fisher分布 (vMF) を使う事で回避するというもの.

論文自体は自然言語に寄って書かれていて自分は興味ないので簡潔に

von Mises-Fisher VAE

Von Mises-Fisher分布(vMF)は\mathbb{R}^d空間の超球上での分布で方向ベクトル\mu,\:||\mu||=1と集中度パラメータ\kappa\geq 0を持つ.vMFのPDFは次の様に定義される.

\displaystyle
f_d(x;\mu,\kappa)=C_d(\kappa)\exp(\kappa\mu^Tx)\\ \displaystyle
C_d(\kappa)=\frac{\kappa^{d/2-1}}{(2\pi)^{d/2}I_{d/2-1}(\kappa)}

ただし,I_vは第1種ベッセル関数.

priorとして\mathrm{vMF}(\cdot,\kappa=0)を使い,変分事後分布としてはq_\phi(z|x)=\mathrm{vMF}(z;\mu,\kappa)を使う.ただし,\muはencoderの出力,\kappaは定数として定める.以上からVAEのevidence lower boundにおけるKL項は次の様になる.

\displaystyle
KL(\mathrm{vMF}(\mu,\kappa)||\mathrm{vMF}(\cdot,0))=\kappa\frac{I_{d/2}(\kappa)}{I_{d/2-1}(\kappa)}+\left(\frac{d}{2}\right)\log\kappa-\frac{d}{2}\log(2\pi)-\log I_{d/2-1}(\kappa)+\frac{d}{2}\log\pi+\log 2-\log\Gamma\left(\frac{d}{2}\right)

別な論文のAppendixに丁寧な証明があったので導出は省略.この式は\kappaのみに依存していて,\kappaが定数であることからKL項はfixとなりKL collapseを起こさなくなるという主張.自分の理解が間違ってなければ学習はreconstractionのみで行われるのでその辺りどうなのか.一応\kappaを変えた時のKLの値をプロットして簡単な考察をしてたけども.

vMFからのサンプルは,"change magnitude"と呼ばれるwをrejection samplingによりサンプリングし,超球上のmuに接する単位ベクトルvをサンプリングすれば,z=w\mu+v\sqrt{1-w^2}として得ることができる.

まとめ

KL項が固定になるというのがとても気持ち悪い気がするけど実験ではそれなりにうまく行ってるっぽい.