点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
现有的生成式模型方法通常基于用最大似然训练的显式概率模型,或者用对抗训练学习的隐式采样模型。前者需要变分推理,或者模型具有特殊设计的结构。后者的训练通常极不稳定。
在 AI TIME PhD NeurIPS 专场二中,我们有幸邀请到斯坦福大学计算机系博士生宋飏,他们提出了一种基于估计数据分布梯度的新方法,来克服以上两种模型的缺点。
宋飏:本科毕业于清华大学物理系,现为斯坦福大学计算机系博士生,导师为Stefano Ermon教授。致力于研究具有灵活的模型结构,稳定的训练方式,优异的样本质量,以及能够自由控制的新型生成式模型。
一、背景
近些年来,生成式模型经历了迅猛的发展。目前在图像生成方面,生成式模型可以生成极为逼真的图片。
图1 生成式模型生成的人脸图像
在自然语言处理方面,生成式模型也能够产生非常连贯和通顺的句子。如图2所示的句子补全,输入the best generative model is(最好的生成模型是),生成式模型给出了“最好的生成式模型是能够随着时间不断的演化,并且可以预测大脑整体的结构与功能。”这样的完整句子。
图2 生成式模型句子补全
1.1 生成式模型的工作方式
生成式模型本质上是一组概率分布。如下图所示,左边是一个训练数据集,里面所有的数据都是从某个数据pdata中独立同分布取出的随机样本。右边就是其生成式模型(概率分布),在这种概率分布中,找出一个分布pθ使得它离pdata的距离最近。接着在pθ上采新的样本,可以获得源源不断的新数据。
图3 生成式模型的工作方式
1.2 现有的生成式模型
由于生成式模型是一组概率分布,根据模型如何去表示这个概率分布,模型可以被分为隐式生成式模型和显式生成式模型。
1.2.1 隐式生成式模型
GAN生成式对抗网络就是隐式生成式模型,通过直接对采样过程进行建模来隐式地表示数据分布。隐式模型的优点是模型结构非常灵活,通常能够给出比较高的样本质量。而隐式模型的缺点在于需要进行对抗训练,训练过程困难不稳定,并且模型的似然函数难以计算,同时不同模型也难以作对比。
图4 隐式生成式模型
1.2.2 显式生成式模型
显式模型是直接表示一个概率函数或者概率密度函数。常见的显式模型包括贝叶斯网络,马尔科夫随机场,自回归模型,归一化流模型。与隐式模型相反,显式模型更方便计算似然函数,同时训练时也可以用最大似然的方法来做训练。但就是缺点是概率密度函数需要进行归一化,导致模型结构的灵活性不足。
图5 显式生成式模型
由于隐式模型和显式模型都有各自的优缺点,那么有没有一种模型可以摆脱隐式函数训练不稳定的缺点又能拥有更灵活的模型结构呢?
二、基于估计数据分布梯度的生成式模型
对于概率密度函数的而言,无论怎么样选取模型的结构和参数,概率的模型必须要归一化,也就是概率函数的积分必须要为一,这制约了模型选择的范围。所以可以通过更改数据分布的表示方法来去除这个制约。
2.1 数据分布的表示方法
使用计分函数(Score)来表示概率分布,计分函数即概率密度函数对数的导数。图6展示的是一个双高斯混合模型的概率密度函数和计分函数,可以看到计分函数它是一个梯度场,并且指向概率密度函数增长最快的方向。
图6 概率分布的表示方法
相比概率密度函数模型,计分函数并没有归一化的要求,因而模型选择可以做到更加的灵活。以能量模型举例,使用密度函数表示的概率分布时,由于归一化的常数是未知的,所以密度函数计算起来非常困难。然而计分模型却完全不受归一化的影响,如下图右边等式所示在计分函数中归一化常数导数为0。
图7 能量模型概率分布的两种表示方式
2.2 计分估计
密度函数是可以直接从数据中学习出来,那么计分函数是如何学习的呢?这个学习任务被称为计分估计(score estimation)。首先使用一个可学习的向量值函数来做计分函数模型。其次为了让计分函数模型尽量的接近数据分布的计分函数,需要一个目标函数来比较两个向量场之间的差别。比较自然的是使用Fisher散度作为目标函数。
图8 计分估计
但是Fisher散度的计算中,log p(x)的导数是未知的。那么如何去除这个未知量?
计分匹配(Score Matching)方法能解决这个问题,通过用分部积分把Fisher散度转化成了图9中的计分匹配目标函数。
图9 计分匹配
然而计分匹配的目标函数需要计算计分函数模型雅可比矩阵的迹,对于大规模的模型和高维的数据而言都是非常难实现的。为了解决计算上的困难,讲者提出了切片计分匹配(sliced score matching)。
图10 切片计分匹配
切片计分匹配的基本思想是把高维的计分函数向量场投影到随机方向,变成一维的标量场。如果两个向量场在所有投影方向上标量场都是相同的,那么向量场相同。如图10展示的目标函数就是切片Fisher散度,使用切片计分匹配后得到了最终的目标函数。在能量模型上,切片计分匹配远超计分匹配的计算效率。
图11 切片计分匹配在能量模型上的实验结果
2.3 建立生成式模型
在学好计分函数后,如何从计分函数的向量场中快速采样从而获得样本呢?可以移动空间中随机分布的点,使得这些点最后形成对应数据分布的随机采样。沿着计分函数向量场的方向来移动点是最简单的方法,但是这种方法会使得所有的点都倾向于探索若干有限的区域。为了避免采样集中于有限区域,Langevin MCMC方法在每个移动过程中引入高斯噪声。
图12 Langevin MCMC方法
但仅仅使用Langevin MCMC方法并不能获得高质量样本。原因是在数据密度较低的区域,计分函数的估计会十分不准确。
图13 低数据密度区域计分函数估计不准确
估计不准确是由于数据密度低导致的。所以添加噪声之后,扰动的数据点可以填满原数据分布中概率密度比较低的区域。这样就能获得准确的计分函数估计。
图14 添加噪声后的计分函数估计
输入噪声就能提供给数据密度小的区域如何抵达密度高区域的信息。那么输入大量不断增加的噪声就能为低数据密度区域提供更多的信息(如图15)。
图15 使用多噪声扰动数据
将噪声大小作为输入的一部分,并估计数据被不同噪声扰动之后的目标函数,这就是条件计分函数模型。训练条件计分模型时,每个σ对应着一个单独的计分匹配目标函数。采样时先从噪声最大的分布开始,逐渐过渡到噪声小的部分。最终获得的最小样本就是条件计分函数模型的采样,这种采样方法被称为Annealed Langevin dynamics。
图16 Annealed Langevin dynamics
通过以上过程得到了下图显示的高质量样本。并且实验结果表明随着噪声数量的增加,样本质量会提高。
图17 生成的高质量样本
三、计分函数生成式模型的扩展
3.1 基于随机微分方程的生成式模型
样本的质量会随着噪声数量增加而提高,那么能不能使用无穷多个噪声来获得质量最好的样本?首先需要可以表示无穷多噪声的方法,随机过程就是一个很好的方法。通过选取合适的随机过程,就可以用每个时刻的随机变量分布来表示无穷多的噪声分布。那么如何选取合适的随机过程呢?随机微分方程本质上是受随机噪声干扰的微分方程,提供了无穷多的随机分布,可以用来表示随机过程。
图18 随机过程和随机微分方程
如图19所示,从噪声出发,通过模拟随机过程的逆过程就能获得样本。
图19 随机过程的逆过程
在CIFAR-10数据集上,模型打破了最低FID,和最高IS的记录。之前的记录由StyleGAN2加上自适应增强(adaptive augmentation)保持。但是这种基于随机过程的模型并不需要自适应增强,并且在没有标号信息的情况下的FID甚至超过了之前需要标号信息的最佳方法。
图20 CIFAR-10数据集上的实验结果
同时模型还能生成1024x1024高分辨率图片。目前能产生如此高分辨率的模型只有少数的GAN模型和VQ-VAE-2模型。
3.2 可控的生成式模型
在随机微分方程的框架之下,获得样本的过程是由数据分布xo通过随机的扰动得到噪声xt,再对这个过程求逆。如果数据分布xo是给定一个控制信号y的条件分布,那么获得的样本就是可控制的。模型可以生成同一类型的图片、填充图片空白的地方或生成特定颜色风格的图片(如以下3张图)。
四、结论
基于估计数据分布梯度的生成式模型比显式模型结构更加灵活,比隐式模型训练更稳定。并且能获得和GAN差不多或者更好的高质量样本。
相关资料
Song*, Garg*, Shi, Ermon. "Sliced Score Matching: A Scalable Approach to Density and Score Estimation." UAI 2019.
Song and Ermon. “Generative Modeling by Estimating Gradients of the Data Distribution.” NeurIPS 2019 (oral).
Song and Ermon. “Improved Techniques for Training Score-Based Generative Modles.” NeurIPS 2020.
Song, Sohl-Dickstein, Kingma, Kumar, Ermon, Poole. “Score-Based Generative Modeling through Stochastic Differential Equations.” ICLR 2021 (oral).
e m t
往期精彩
AI i
整理:蒋予捷
审稿:宋 飏
排版:岳白雪
AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你!
请将简历等信息发至[email protected]!
微信联系:AITIME_HY
AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。
更多资讯请扫码关注
(直播回放:https://b23.tv/s7HP2j)
(点击“阅读原文”下载本次报告ppt)