查看原文
其他

【综述专栏】深度生成式模型

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

作者:知乎—Ziyue Wu

地址:https://www.zhihu.com/people/tinky2013


01

VAE进展概述(2018)
文章:Recent Advances in Autoencoder-Based Representation Learning
作者:Michael Tschannen, Olivier Bachem, Mario Lucic
来源:NIPS workshop 2018
本节文章总结了基于AutoEncoder的Representation Learning方法,对于下游任务,可以通过引入meta-priors进行分类。VAE的改进主要可以从三个方面入手:
(1)后验分布的regularization;
(2)编码和解码分布的分解;
(3)引入先验的问题。

1 Introduction

VAE主要解决的是这样一类问题:从数据中学习表征,通常是无监督的。通过Bengio的理论中我们可以引入meta-priors,即对于世界的一种比较general的猜想,比如层级机构,解释变量的解纠缠等。
VAE就是希望能够学到一个从高维数据到低维表征的一个映射,这个映射能将原始数据近似重构出来。
如图,进来的一些模型都可以根据meta-prior进行归类,比较重要的meta-priors有如下几种:
Disentanglement:假设数据由相互独立的因子生成,这是一种直接而简洁的假设。
Hierarchical organization of explanatory factors:这种假设认为世界万物可以由一层一层不断抽象的概念去分类与描述,就比如各种生物可以通过“界门纲目科属种”进行层次化的归类。
Semi-supervised learning:监督和非监督的任务可以使用同一个representation,适用于标签数据较少难以学到好的predictor的情况。
Clustering structure:现实中很多数据集存在multi-category的结构,这类数据往往会产生聚类式的representation。
在对“世界”作出假设之后,我们应该用什么方式去保证得到我们想要的meta-priors呢?文章主要讨论了三种方式:编码分布的正则化,编码和解码分布的选择,representation先验分布的选取:比如说编码分布的正则化往往能得到disentangle的潜在表示,选择可因子分解的编码-解码分布可以捕捉hierarchical的结构,混合概率分布作为先验可以捕捉聚类性等。

2 Preliminary

关于VAE的介绍不再多讲,这里要注意我们可以从哪些方面入手去改进一个VAE模型:
(1)隐空间的先验
(2)近似后验的的分布类型(选什么分布族去近似);
(3)解码器的分布
接下来我们会讨论用什么方式去衡量两个分布的距离,常见的有如下两种:
MMD适用于多元正态分布的情况,当然缺陷就是需要指定kernel的参数k和bandwidth参数;而f-divergence能够处理更为复杂的分布。
Deterministic autoencoders:有一部分方法是用一个给定的encoder或decoder,常用的一个损失函数是L2-loss:
可以看到,当都是Linear map(并且潜在表示z比x的维度小),这个就是PCA。当然我们也可以看到其实这个相比于只是去掉了一项。


3 Regularization-based Methods

如果我们想要对潜在表示加入meta-prior,通常我们会加入对approximate posterior或者aggregate posterior的正则化,即目标函数为:

可以看到,需要依赖于整个数据集,而对于deterministic autoencoders来说,损失函数就为:
不同的正则化方式选择如下。Y那一列打钩代表有标签(监督),O代表可选标签(监督或半监督)
从上面的图我们也能看到,大多数方法侧重于对集合后验进行正则化,并在测量与先验的“距离”方式上有所不同。

3.1 Unsupervised methods targeting disentanglement and independence

Disentanglement的假设就是数据是由几个独立的因子生成的(我们希望去发掘这些因子来做一些下游任务)

3.1.1 Reweighting the ELBO: Beta-VAE

Higgins等提出了直接对加入正则化系数的方法,这种正则化方法使得能更好符合(可分解的)先验

3.1.2 Mutual information of x and z

上面公式中的第二项还可以如此分解:
其中表示关于分布的互信息。
FactorVAE:Kim和Mnih发现,对于上面公式的第二项进行惩罚,有助于确保可分解,然而若对第一项(互信息)也进行惩罚,则不利于潜在表示拥有更多的信息。因此我们可以将目标函数改造如下:
该公式中后一项就是total correlation:
-TCVAE:Chen等人将项继续分解为,则目标函数可以改为:
可以看到当时就是FactorVAE。公式中的TC项需要使用重要性采样的方式进行采样。
InfoVAE:Zhao等人将VAE的loss写为另一种形式:
其中。相似地可以通过对上式第一项reweight并添加正则化项。重新排列之后,InfoVAE的目标函数为如下形式:
为了易于处理,KL-divergence可以换为JS-divergence,Stein Variational Gradient和MMD等。
DIP-VAE(Disentangled Inferred Prior):Kumar提出在优化的过程中匹配aggregated posterior的矩(比如covariance)

3.1.3 Independence between groups of latents: HSIC-VAE, HFVAE

这一部分方法的基本想法是将数据中可能有的groups/clusters以及层级关系纳入考量。
HSIC-VAE:Lopez等人利用了Hilbert-Schmidt Independence Criterion使得不同组的潜变量之间保持独立:
HFVAE:之前提到过分解方式,Esmaeili等人提出将项继续分解为组间隐变量的正则化项和组内变量的正则化项,因此目标函数如下:

3.2 Preventing the latent code from being ignored: PixelGAN-AE and VIB

PixelGAN-AE:Makhzani和Frey提出了丢弃并优化:
VIB, information dropout:Alemi, Achille和Soatto等使用变分近似InfoVAE中的Information bottlenect objective,目标函数为:

3.3 Deterministic encoders and decoders: AAE and WAE

Adversarial Autoencoders(AAEs)通过加入隐变量的先验(利用GAN惩罚之间的divergence)将一般的AutoEncoder改造为生成式模型,并使用负对数似然作为重建损失:

3.4 Supervised methods: VFAEs, FaderNetworks, and DC-IGN

VFAE(Variational Fair Autoencoders):这种模型假设了形式的似然函数,其中s为我们希望移除的隐变量而z为其余隐变量。使用近似并使用可分解的先验可以使得z尽可能独立于s。然而z还是有可能含有s的信息。Louizos提出了基于MMD的正则化方法:
Fader Network:Lample和Hadad等人提出了一个相似的监督学习框架:给定数据和相应的binary属性信息,encoder可以对抗地学习特征一个不随属性值改变的特征表示,而decoder则从中重建原始的图片。


4 Factorizing the encoding and decoding distributions

除了正则化,我们也可以通过对编码/解码分布进行因式分解达到符合meta-prior的效果。

Semi-supervise VAE:Kingma等人在VAE中使用半监督的方法,即对于训练数据的一个子集观测其标签,并将标签信息加入潜在表示中,这样inference model就可以写为:
VLAE:Chen等人希望让存储所有想要的信息(而不是解码分布),比如让存储全局的high-level的信息而让存储局部信息(如图片的纹理),这便是VLAE(Variational Lossy AutoEncoder)的想法。
PixelVAE:这种模型使用了前馈卷积编码器和解码器,并带有多层隐变量。其编码和解码分布可以分解为
LadderVAE:和上面的PixelVAE相反,LadderVAE有一个自顶向下的推断过程,即编码分布可以分解为(解码分布的分解和PixelVAE相同)。
Variational Ladder AutoEncoders:这种模型对于的分解没有确切的表示,而是直接使用前馈神经网络实现(解码分布的分解和PixelVAE相同)。
关于上述模型的总结如下图所示,可以看到,我们可以为隐变量加入离散或连续的先验,每幅图中右边的表格现实了不同的encoder和decoder(default:全连接或卷积前馈神经网络),先验分布(N:标准高斯,C:类别分布,M:混合分布,G:图模型,L:已学到的先验),是否需要监督(打钩代表需要监督)


5 Structured Prior Distribution

5.1 Graphical model prior

SVAE:Johnson等人使用完全的贝叶斯方法对似然或decoding distribution加入hyperpriors。这种方法适用于指数族的似然,但是不能处理神经网络的模型。为了将图模型的inference与VAEs的灵活性结合起来,可以输出共轭图解模型的potential,而不是近似后分布的参数。这些potential的选择使分布具有指数族的共轭形式,这就是Structured VAE。这种模型能运用于多种场景,比如具有高斯混合先验的SVAE的潜在表示能反映数据中的聚类关系,具有LDS先验的SVAE能反映行为状态的转换。

5.2 Discrete Latent Variables

JointVAE:这种模型在Beta-VAE上进行衍生,隐变量分为离散的和连续的两种,近似后验为(为了保证categorical distribution可微需要Gumbel-Softmax estimator)。
VQ-VAE:Oord等人使用vector quantization方法使得隐空间离散(每个隐变量都是一个类别随机变量,即属于1-K类中的其中一种)。


6 Other Approaches

这一部分主要讨论了关于VAE建模的其他方法,比如处理时间序列数据,在pixel space里使用判别器,使用Encoder-Decoder结构在两个不同域之间进行传输等。


7 Rate-distortion tradeoff and usefulness of representation

在先前提到的方法大部分是为了对比较粗略的meta-priors进行建模,这种方法往往只能适用于非常结构化的、人工合成的、低精度的数据。而完全监督的方法(比如FaderNetworks)则能处理高精度数据。因此,适用于对下游任务有一定了解的方法和基于meta-priors的方法之间存在相当大的gap。这里从rate-distortion tradeoffs的视角来讨论这个问题。

Rate-distortion tradeoff for unsupervised learning:可以证明,如果模型只去优化边缘似然,则在representation learning中是完全没有用处的,这里引入Alemi等人在论文中的推导:
下图中展示了Alemi等人提出的R-D曲线(Rate-distortion Curve),可以看到在这条线上模型有着相同的ELBO。Alemi提出通过限制一个desire rate 来优化(最小化)。然而这么做,即便能取到所有想要的rate-distortion tradeoff point,仍然不能用于下游任务,原因有以下两点:
(1)我们不知道total information(entropy)哪一部分存在,哪一部分存在decoder中。
(2)即使和下游任务相关的信息存在于,也不能保证信息存储的形式可以被下游任务相关的模型利用。
因此,传统的R-D权衡只考虑了信息储存的多少,而没有考虑存储了什么样的信息以及信息的存储形式。
更好的方式如图(c)所示,即多考虑一个维度——潜在表示的 “usefulness”,当然,这个维度仍然和对下游任务的先验信息了解程度紧密相连。

8 Conclusion and Discussion

在使用VAE时,将meta-priors纳入考量有利于设计适用于特定下游任务的模型。对meta-priors建模的方法包括(1)对后验分布正则化;(2)分解编码或解码的分布;(3)引入结构先验。当然这些方法可以结合使用。模型应用时,是否需要“监督”,使用多少程度的“监督”进行训练取决于模型设计以满足meta-priors的机制。显然训练时监督越多,潜在表示就能捕捉越多有用的信息,从这一点来讲其实我们需要在两者之间进行trade-off。


02

动态VAE最新研究简要概述(2021)
文章:Dynamical Variational Autoencoders: A omprehensive Review
作者:Laurent Girin, Simon Leglaive, Xiaoyu Bie, Julien Diard, Thomas Hueber, Xavier Alameda-Pineda
来源:arxiv 2020
本节文章总结了关于Dynamic VAE的最新研究,主要是第4-12章中提到的各种Dynamic VAE的模型。(读这篇总结需要对于VAE有基本的了解)
该文章的第一部分主要是介绍DVAE的基本想法,即对于VAE这种深度生成式模型的结构进行修改,从而方便对时序数据进行建模。前面还有介绍RNN,State Space Model等经典的模型,这里便不再叙述。第4章主要对于动态VAE的模型进行了定义。5-11章介绍了六种比较重要的DVAE模型,12章对于其他和动态VAE相关的内容进行了介绍和补充。


4 Definition of Dynamical VAEs

4.1 Generative Model

4.2 Inference Model

前面提到的DVAE中序列的后验分布为,在标准VAE中这个后验是intractable的,因此我们需要用inference model去近似。不过对于近似分布的选取,很多先前的工作并没有考虑到真实后验的结构。

4.3 Variational Lower Bound and Training of DVAEs

4.4 DVAE Summary

总结一下,在一个DVAE模型中通常有以下两种关系:
  • Decoding link:的父节点,即有从指向的路径(图模型视角),这是标准VAE的特征。
  • Temporal link:的父节点,比如,这是标准一阶SSM的特征。
另外DVAE模型也可以写成driven mode或者predictive mode,当然也可以同属于两种或同不属于,这种关系通常使用如下方式建模:
  • Driving link:的父节点(或者同时是二者的父节点)
  • predictive link:(或其中的一小段)是的父节点(或者同时是二者的父节点)


5 Deep Kalman Filters (DKF)

这一章介绍的模型是将神经网络和SSMs简单结合起来,即SSM的deep版本,在论文中被称为Deep Kalman Filters (DKF)或Deep Markov Model (DMM)。
Generative Model的部分和离散时间连续值的SSM是相同的:
只不过这里的都是DNN(比如MLP)。DKF可以看做VAE decoder的temporal(Markovian)版本。另外这种deep版本的SSM也可以看做RNN的“全随机”版本——RNN中确定性的隐层被随机状态所代替。
Inference Model的部分具体如下推导:
如果我们的Inference Model使用,则DKF的概率图模型如下图所示(左边是完整版,右边是简介版),如果是特列DKS(后验为),则只要移除前向RNN,即移除右图中蓝色的箭头。
DKF的具体训练过程如下:
第二项也可以用相似的技巧导出一系列tractable的期望(用Monte Carlo近似),我们需要对采样。


6 Kalman Variational Autoencoders (KVAE)

KVAE可以看作DKF的一种变种:在latent vector 和observed vector 之间多加了一层,其图模型如下图所示:
这种Inference的方式能够结合不同模型的优点:VAE方法上的优势和LG-LDS捕捉数据动态的能力。


7 STOchastic Recurrent Networks (STORN)

STORN是第一个在模型内部结合了确定性状态和随机状态的的DVAE模型。
STORN的图模型也可以表示出来,其中左图是完整形式,右图是省去了的简略版
Inference过程的图模型如下图所示,其中左边为完整的图模型,右边金色的箭头代表建模中未考虑到的条件依赖性。在STORN中,近似推断的模型和真实的后验在结构上是有所不同的。




8 Variational Recurrent Neural Networks (VRNN)

VRNN直接将传统VAE与RNN进行结合,其图模型的完整版和简化版分别如下:
我们可以看到,同一个internal state 被encoder和decoder所共享,然而相比真实的后验,模型中同样没有加入未来的observation(近似后验是causal的而真实后验是non-causal的),具体的inference过程如下图所示,黄色箭头表示模型中忽略的future observation。
对比DVAE的一般形式,可以看出VRNN在generative model中没有对条件依赖性做出假设,在inference model的部分模型和真实后验并不一致(由于的假设),因此,Variational Lower Bound可以写为:


9 Stochastic Recurrent Neural Networks (SRNN)

SRNN将RNN和state space model拼接起来形成带随机性的序列生成网络。
其完整版和简化版的图模型为:
Inference Model图模型的两种形式如下图所示,可以看到这种模型同时利用了历史和未来的信息,相比于真实后验,近似后验中也使用到了所有的条件依赖性。


10 Recurrent Variational Autoencoders (RVAE)

RVAE结合了高斯白噪声模型,并且使用贝叶斯框架,模型提出时首先应用于语音信号处理的领域(Short-Term Fourier Transform,STFT)
模型的两种形式:Causal和Non-causal,可以分别使用前向RNN和双向RNN进行实现,其中前者输入而后者输入,具体过程如下:


11 Disentangled Sequential Autoencoders (DSAE)

DSAE模型提出了向隐变量序列加入sequence-level的隐向量,从而捕捉数据的sequence-level特征(可以认为编码输入对象的dynamics而编码输入对象的其他特征)
该Generative Model的图模型如下图所示:
Inference部分的图模型如下图所示,其中金色的箭头代表模型没有考虑的真实后验中的条件依赖性,银色的箭头代表真实后验不存在的条件依赖性(但是在模型中被纳入了的)
DSAE的Variational Lower Bound如下:


12 A rapid tour of other models

这一章主要介绍其他和VAE相关的模型,当然这里不细致展开讲,其中很多模型不一定和序列建模相关。

12.1 Models connected to the DKF model

Latent (switching) LDS and Structured VAE:DKF模型可以进行简化:隐变量模型设为Linear-Gaussian,而observation model为DNN这类非线性模型,当然结合动态模型之后也能捕捉序列中的数据特征。
Black-box deep SSM:这种模型主要对Inference部分进行了改进——使用协方差阵为分块三对角矩阵的多元高斯对于后验分布进行近似。
Deep Variational Bayesian Filters:DVBFs是对传统SSM-based DVAE模型的一种拓展,DVBFs中原先DVAE模型的参数也被视作一个随机变量。
Disentangled SSM:DSSM和DSAE类似,将sequence level上对content/object的编码与在time frame level对dynamics的编码分开。和DSAE不同的是,DSSM中sequence-level的隐变量是以dynamical model而不是observation model为条件的。

12.2 Models connected to STORN, VRNN and SRNN

VRAE:这种模型可以看作STORN的简化版本,这里的编码(encoding)是sequence-to-one,而解码(decoding)是one-to-sequence。
HFVAE:这种模型将连续的时序数据划分为多个片段,并引入两个隐变量,一个用于捕捉片段内部的时序依赖关系,另一个用于捕捉片段之间的关系。
DRAW:全称为Deep Recurrent Attentive Writer,这个模型中有attention的那种思想:更关注时间上较为接近的observation。
NASMC:全称为Neural Adaptive Sequential Monte Carlo。可以看做VRNN或SRNN的简化版本。这个模型链接了DVAE的推断框架和序列蒙特卡洛抽样。
RSSM:这个模型实际上是VRNN的driven mode。这个模型被用于强化学习的框架当中。

12.3 Other models

FVAE:Factorized VAE结合了张量分解。这个模型中有体现“动态”建模,然而抽样和解码的时候都是独立的,因此尚不清楚数据中的动态信息是如何被编码的。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。



“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存