CMMA: 条件多模态学习的变分方法.
- paper:Variational methods for Conditional Multimodal Learning: Generating Human Faces from Attributes
1. 条件变分自编码器
变分自编码器(VAE)将对数似然的变分下界作为代理目标函数:
\[\text{ELBO} = - KL[q(z|x)||p(z)]+\mathbb{E}_{z \text{~} q(z|x)} [\log p(x | z)]\]上述VAE是无监督训练的,如果数据有对应的标签$y$,则可以把标签信息加进去辅助生成样本,从而构造条件变分自编码器Conditional VAE:
\[\text{ELBO} = - KL[q(z|x,y)||p(z|y)]+\mathbb{E}_{z \text{~} q(z|x,y)} [\log p(x | z,y)]\]在处理标签$y$和隐变量$z$之间的关系时,有以下两种假设:
一些Conditional VAE假设标签$y$和隐变量$z$是相互独立的,此时有$p(z|y)=p(z)$,对应变分下界:
\[\text{ELBO} = - KL[q(z|x,y)||p(z)]+\mathbb{E}_{z \text{~} q(z|x,y)} [\log p(x |z,y)]\]本文作者则假设隐变量$z$是由标签$y$决定的,此时有$p(x|y,z)=p(x|z)$,对应变分下界:
\[\text{ELBO} = - KL[q(z|x,y)||p(z|y)]+\mathbb{E}_{z \text{~} q(z|x,y)} [\log p(x | z)]\]作者将该模型称为条件多模态自编码器(conditional multimodal autoencoder, CMMA),将标签信息$y$编码到隐变量$z$中。
2. CMMA
对于标准VAE,假设先验分布$p(z)$为标准正态分布,即$x$编码后到$z$的分布具有零均值和单位方差。如果引入标签信息$y$,可以希望具有相同标签的样本编码后具有相同的均值$\mu_y$和方差$\sigma_y^2$,$\mu_y$和$\sigma_y^2$可以设置为可训练参数。
VAE中后验分布$q(z|x)$和先验分布$p(z)$的相似程度是通过KL散度衡量的:
\[KL[q(z|x)||p(z)] = \frac{1}{2} (-\log \sigma^2 + \mu^2+\sigma^2-1)\]对于CMMA,KL散度计算为:
\[KL[q(z|x,y)||p(z|y)] = \frac{1}{2} (-\log \frac{\sigma^2}{\sigma_y^2} + (\mu-\mu_y)^2+\frac{\sigma^2}{\sigma_y^2}-1)\]