Xu Cai、Ziliang Chen作者

反思基于能量的生成式模型:中山大学研究者从粒子演化角度改进经典的FRAME

生成式建模指给定一定量数据观察下,学习其潜在的数据分布。经过学习后的生成模型可以合成类似真实的数据样本,从而赋予智能体模仿人类的创造能力。来自中山大学的研究者们从粒子随机演化的角度重新看待基于能量的经典生成式模型——FRAME模型中样本的生成过程,他们利用Jordan-Kinderlehrer-Otto(JKO)离散流代替KL离散流,改进了采样粒子的演变以及参数估计的迭代方式,且不破坏原模型的统计连续性。

背景:基于能量的生成模型

提到生成式建模,读者们总是第一时间想到生成对抗网络 (generative adversarial network, GAN)。GAN 采用隐式的生成式建模方法 [8],其先假定一个较为简单的随机变量的分布如高斯分布,后使用可学的非线性转换函数(一般为神经网络)将其映射到数据空间X(如下图所示)。

图片来源:Princeton Machine Learning Summer School 2018

GAN 对近年的生成模型发展具有重大的贡献。但其使用对抗学习额外引入辅佐判别网络,带来了复杂的优化问题。而且其隐式建模方法最近也在某些研究上受到质疑 [9,10],因为其学到的分布未必能对真实数据的潜在分布构成有效的逼近关系。因此,各类生成模型范式如变分推动自编码器 (variational auto-encoder, VAE),基于能量生成模型 (energy-based generative models, EBM),流模型 (flow-based generative models, FBM) 等也是方兴未艾。

值得注意的是,早在 GAN 风靡的十多年前,EBM 便被成功引入到了纹理合成、风格迁移等计算机视觉生成问题中。不同于 GAN,EBM 采用显式的似然函数进行学习。其基于数据驱动的学习方式来刻画能量表面,即那些可以被该模型正确描述的样本会被分配到低能量区域,反之会被分配到较高能量的区域。它们通常直接通过显式的对数密度函数来给定复杂数据的分布,一般型为

其中为配分函数。与 GAN 相比,EBM 不需要引入额外的辅助网络,这使得其在算法上更容易直接优化;而显式建模的特点也让学的模型能够对数据分布进行有效逼近。相应地,EBM 通常需要使用 Markov Chain Monte Carlo(MCMC)从对数配分函数中采样。如下图,深色区域代表低能量区域,反之为高能量区域,黑点表示样本或者粒子,黑线表示粒子迭代的路线。和 SGD 一样,这些粒子需要经过多步长的随机游走至低能量表面才能代表当前模型参数下被采样的样本。

图片来源:Princeton Machine Learning Summer School 2018

因此从 EBM 的计算效率上来说,其多步长的采样算法不如基于平摊变分推断 (amortized variational inference) 的 VAE 或者直接建模隐式映射的 GAN 高。但得益于 MCMC 方法的高精度特性,EBM 生成的样本往往比 GAN 等模型更具有明显的结构特征,且实践中往往表现出极强的小样本学习生成能力,因此值得进一步深挖研究。

基于能量的生成模型代表:FRAME

稀疏 FRAME(Filters, Random fields, And Maximum Entropy)模型 [1] 是 UCLA 朱松纯教授从统计的角度提出的 EBM,顾名思义,是滤波器,随机场和最大熵理论的融合。如图 1 所示为该模型的图模型表达。

图 1. FRAME 图模型

可以很明显地看出该模型主要由两部分组成,即,将数据空间映射为隐空间的滤波器 f 以及建立在隐空间 h 上的马尔可夫随机场(MRF)。FRAME 模型建模的主要目的在于寻找对应于数据 x 的隐空间h的最优表达θ, 所以 FRAME 更像是一种描述数据隐空间表达的的描述性生成模型。值得注意的是 h 与 θ 的关系是纯线性的,早期的 FRAME 模型直接使用最小化隐空间直方图误差和最大化模型熵的方式进行训练,可看为一个对抗的 mini-max 游戏 [11]。即使模型完全线性且采用诸如 Gabor filter 或者 Gabor wavelet 的传统手工滤波器,其在早期的计算机视觉研究中仍是一个强有力的无监督模型。

随着研究问题越来越实际和数据维度越来越高,稀疏 FRAME 模型在复杂问题上的表达能力和泛化能力受到限制,一度被人们所忘记。然而随着深度卷积网络的兴起,通过使用大量预训练的非线性滤波器来替换传统的线性滤波器,并对理论做出恰当的改进,Lu 等人于 2015 年提出的深度 FRAME 模型 [2] 很大程度缓解了这一问题,且仍然为如图 1 所示的 MRF。即使这样,深度 FRAME 模型仍然过于线性,缺乏更强的泛化能力。

一个直观的解决方案便是像堆叠 RBM 那样堆叠 FRAME 模型并引入非线性激活函数,最好可以将已经研究成熟的 CNN 中的卷积滤波器参数像 MRF 那样也看为对当前层隐空间的表达,不过前提条件是要约束每个卷积层的激活函数和模型的参考分布,就这样 Xie 等人将深度 FRAME 模型拓展为多层的 FRAME 模型 [3],该模型本质上是一个自底向上的深度卷积判别网络。为了提升采样和学习的效率,该模型的多栅版本于最近被提出 [4],即多层多栅的 FRAME 模型。以上模型均采用最大似然估计来学习网络参数以及使用随机梯度 Langevin dynamics 的迭代方法从已知的对数似然中采样。

采样和学习算法有效果,但仍存在不足

即使这样,以上的类 FRAME 模型仍存在一些不尽人意的地方。其中最直接的问题在于,当引入深度滤波器导致参数过多的情况下,最大似然的参数估计方式是否还适用于该模型?原有的采样算法是否因参数更新的不合理而变得不鲁棒?因为这样的参数估计方式并未给出合理的约束来防止模型过拟合或崩溃。

为了解决这样的问题,往往需要跳出传统的理论框架,来自中山大学的研究者们便从粒子随机演化的角度重新看待基于能量的经典产生式模型——FRAME 模型中样本的生成过程,论文如下。

论文:FRAME Revisited: An Interpretation View Based on Particle Evolution

论文链接:https://arxiv.org/pdf/1812.01186

简单概括就是他们利用 Jordan-Kinderlehrer-Otto(JKO)离散流 [5] 代替 KL 离散流,改进了采样粒子的演变以及参数估计的迭代方式,且不破坏原模型的统计连续性。

首先,众所周知的是,最大似然估计是通过一步步最小化需要优化的分布 P_θ 和目标分布 P_r 之间的 Kullback-Leiber(KL)距离来使 P_θ 逼近 P_r 的。事实上,最小 KL 距离实际上就是做垂直投影,这种垂直投影的方式事实上并不平滑,可能会导致训练的不稳定甚至模型退化。为了解释这种现象,我们可以从模型的熵 H(P_θ) 出发:在物理学中熵可以描述系统能量的耗散。P_θ 从覆盖所有支撑集的高斯分布作为起始,这时模型的熵值最大,随即 P_θ 需要逐渐演化为并不存在的目标分布 P_r,这个过程中熵是会随着能量耗散而减少的。然而为了能完美地描述 P_r,熵值需要最大化以至于能包含所有 P_r 的可能性,所以实际上模型的能量耗散是一个 min-max 函数。可以看出,如果模型的能量很高则意味着模型很混乱,可能性太繁杂;模型的能量很低则代表模型退化,包含的信息微乎其微,因此训练得当的模型的能量应该为一个适中值。

将样本看作布朗粒子

大量的实验表明,通过迭代最小化 KL 距离的方式会让能量的耗散过程极其不稳定,体现为深度 FRAME 模型的能量对诸如预设迭代步长、样本更新速率、参数学习率等超参数异常敏感,以致于能量往往降的非常低,即模型退化,称之为 KL-vanishing。为了解决这个问题,可以将每个样本视为布朗粒子,可以证明,若这些粒子都由一个具有马尔可夫随机场性质母函数所生成,则它们的经验分布满足大偏差原理,其速率函数为,称 I_t 为离散 KL 流。还可以证明的是,在 I_t 的驱动下,深度 FRAME 模型中样本 x 和参数 θ 的如图 2 的迭代过程实际上在履行变分推断,以逼近真实概率分布,类似的思想也在 ICLR2018 的一篇关于深度神经网络随机梯度下降(SGD)在进行变分推断的文章中被提及 [12]。

图 2. 样本和参数的交替迭代过程

只不过对于 FRAME 模型来说,作者考虑的模型更加特殊和具体,因此证明过程也更加简洁。除此之外,作者从粒子演化角度导出的结果和深度 FRAME 模型基于数理模型推导的结果恰好一致,说明从粒子演化的角度看待这个模型是完全合理且正确的。

引入离散 JKO 流

容易观察到,在不同离散流的驱动下,迭代的过程会产生差异。那么是否可以用其他更平滑的离散流来代替呢?他们的工作给出了肯定的答案。得益于 Jordan[3] 等人在 1998 年对富克—普朗克方程的研究,他们发现这种复杂的偏微分方程的解析解可以通过逐步迭代离散 JKO 流的方式来逼近,如下所示。

因此,作者选择了特定的方程系数以及项来使得其解析解满足型如式 1 的深度 FRAME 模型型式,这样便可通过计算来学习它,并能维持其统计型式。此外,计算的好处在于,可以将原目标分布 P_θ 在 Wasserstein 空间中优化,相当于在最小化 Wasserstein 距离。Montavon 等人 [4] 在一文中指出,有时候 P_θ 在 KL 距离的情况下和经验分布 p_t 很接近,但在 Wasserstein 的度量下更远;WGAN[5] 的作者同样也表明由于 Wasserstein 度量定义的拓扑较弱,我们往往能获得更加理想的收敛情况和逼近结果。剩下的问题便是如何求导这个棘手的 Wasserstein 距离,与其它直接使用对偶 Wasserstein 距离的方式不同,这篇文章考虑的问题是微观的且需要粒子的传输路径更平滑,因此 Benamou-Brenier 型式的 Wasserstein 距离必不可少,如式 2 所示。

 


之后作者便对巧妙地运用了积分中值第二定律,给出了其估计型式,且得到经验分布 p_t 的函数导数。最后经过简单的推导,以驱动的深度 FRAME 模型的样本和参数的迭代过程为:

到这里,作者的工作便完成了,简单地说,就是优化了原始模型中的迭代过程。新的 wFRAME 模型通过计算 JKO 流关于 Wasserstein 距离的梯度,使迭代过程更加平滑且避免了 KL-vanishing 问题。但到底是否真的平滑了呢,还需要实验来验证。

稳定性实验

图 3 所示的是两个算法在生成航天飞船时的样本的迭代过程及能量耗散曲线,可以明显的看出,第二行的 wFRAME 生成的图片品质更高,随着 FRAME 生成图片的质量变差,我们可以从右侧的能量曲线中观察到其能量降的非常之低,模型此时已经退化甚至坍塌。就像之前提到的,能量曲线的不稳定意味着迭代的不稳定以及其能量值的不合理,也印证了作者的算法是着实有效的。

图 3. 两种算法生成样本稳定性实验

常用数据集实验

文章中还有更详细的模型坍塌实验对比,感兴趣的同学可以阅读原文。确认并改进了模型的坍缩问题之后,作者又在诸如 Cifar-10,CelebA 等常用数据集上做了实验,结果如图 4 所示,其中左图为 FRAME 模型的结果,右图为文中算法的结果。

图 4. CelebA 及 Cifar 图片合成效果展示,其中 Cifar 为条件生成。

除了能解决 FRAME 模型训练坍塌的问题,wFRAME 还能略微改善生成图片的质量,加速模型的收敛。譬如他们的 Inception Score 相比 FRAME 提升了 1.1,以及生成图的特征距离也和原图更加接近,如图 5 所示。

图 5. 不同数据集上的平均学习曲线

小样本学习

许多实验和文章都曾指出 GAN 在学习小样本数据分布的实验中往往表现得差强人意,甚至在不同的小数据集中需要设置特定的网络结构以及使用特殊的超参数才能取得一定的效果。然而 EBM 模型不仅可以在常用的大数据集中有着与 GAN 相当的效果,其在小样本上的生成更是游刃有余,如图 6 所示。为了对比,DCGAN 使用默认的参数和网络结构,对于仅仅 5 张输入图片,DCGAN 完全不能收敛并学习到更加具体的数据分布。然而作者改进后的模型仅仅几十个 epoch 之后就能呈现如下的效果。

图 6. 小样本生成结果对比

结语

综上便是对一类特殊的 EBM 生成式模型——FRAME 家族的简要介绍,感兴趣的同学可以详细阅读相关文献。为此我们还着重介绍了一篇改善该系列模型样本生成质量的文章,该文章的创新之处主要分为两点。首先作者从粒子演化的角度重新解读了之前 FRAME 模型研究历程中一直被忽略的模型易坍塌,样本生成质量差等问题。其次也是最重要的一个贡献便为他们从理论上合理地引入离散 JKO 流来改进 KL 流所存在的不足,并通过实验证实了他们的想法。经笔者尝试,新算法同样也适用于新提出的多栅或多层的 FRAME 模型,更重要的是,也许未来作者的这种采样和学习算法会被用到其他基于能量的模型中去,传统的 EBM 可能也会因此变得更加鲁棒。

参考文献

  • [1].Zhu, S. C., Wu, Y., & Mumford, D. (1998). Filters, random fields and maximum entropy (FRAME): Towards a unified theory for texture modeling. International Journal of Computer Vision, 27(2), 107-126.

  • [2].Lu, Y., Zhu, S. C., & Wu, Y. N. (2015). Learning FRAME models using CNN filters. arXiv preprint arXiv:1509.08379.

  • [3].Xie, Jianwen, et al. "A theory of generative convnet." International Conference on Machine Learning. 2016.

  • [4].Gao, Ruiqi, et al. "Learning Generative ConvNets via Multi-grid Modeling and Sampling." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.

  • [5].Jordan, R., Kinderlehrer, D., & Otto, F. (1998). The variational formulation of the Fokker--Planck equation. SIAM journal on mathematical analysis, 29(1), 1-17.

  • [6].Montavon, G., Müller, K. R., & Cuturi, M. (2016). Wasserstein training of restricted Boltzmann machines. In Advances in Neural Information Processing Systems (pp. 3718-3726).

  • [7].Arjovsky, M., Chintala, S., & Bottou, L. (2017, July). Wasserstein generative adversarial networks. In International Conference on Machine Learning (pp. 214-223).

  • [8].Bottou, L., Arjovsky, M. Geometrical insights for implicit generative modeling (https://leon.bottou.org/publications/pdf/geometry-2018.pdf)

  • [9].S Arora, R Ge, Y Liang, T Ma, Y Zhang. Generalization and equilibrium in generative adversarial nets (gans). In International Conference on Machine Learning 2017

  • [10].S Arora. Do GANs Actually Learn the Distribution?

  • [11].Zhu, Song Chun, Ying Nian Wu, and David Mumford. "Minimax entropy principle and its application to texture modeling." Neural computation 9.8 (1997): 1627-1660.

  • [12].Chaudhari, Pratik, and Stefano Soatto. "Stochastic gradient descent performs variational inference, converges to limit cycles for deep networks." (2018). 

理论小样本学习中山大学生成模型
4
相关数据
朱松纯人物

朱松纯是全球著名计算机视觉专家,统计与应用数学家、人工智能专家,现任美国加州大学洛杉矶分校 [UCLA] 统计系与计算机系教授,UCLA计算机视觉、认知、学习与自主机器人中心主任。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

变分推断技术

see Variational Bayesian methods (approximation)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习曲线技术

在机器学习领域,学习曲线通常是表现学习准确率随着训练次数/时长/数据量的增长而变化的曲线

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

最大似然估计技术

极大似然估计是统计学中用来估计概率模型参数的一种方法

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

马尔可夫随机场技术

具有马尔可夫性质的随机场。 随机场:当给每一个位置(site)按照某种分布随机赋予相空间(phase space)的一个值之后,其全体就叫做随机场

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

似然函数技术

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。 似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“ 似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

WGAN技术

就其本质而言,任何生成模型的目标都是让模型(习得地)的分布与真实数据之间的差异达到最小。然而,传统 GAN 中的判别器 D 并不会当模型与真实的分布重叠度不够时去提供足够的信息来估计这个差异度——这导致生成器得不到一个强有力的反馈信息(特别是在训练之初),此外生成器的稳定性也普遍不足。 Wasserstein GAN 在原来的基础之上添加了一些新的方法,让判别器 D 去拟合模型与真实分布之间的 Wasserstein 距离。Wassersterin 距离会大致估计出「调整一个分布去匹配另一个分布还需要多少工作」。此外,其定义的方式十分值得注意,它甚至可以适用于非重叠的分布。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

暂无评论
暂无评论~