ModelCube(modelcube.cn)是博雅数智自主研发的一站式人工智能科研平台。为全国高校和科研机构的大数据和人工智能科研团队提供一站式科研服务。基于MLOps的实践和企业核心技术,实现了科研场景中全类型数据管理与标注,实验环境快速获取与灵活定制,模型的全生命周期管理,科研成果的管理与发布,以及 AI驱动的论文检索和学习等功能。
1 生成模型定义
生成模型(Generative Model)是一类机器学习模型,旨在对数据的分布进行建模,从而能够生成与训练数据类似的新样本。这些模型试图学习数据的概率分布,使其能够生成具有相似统计特性的新样本。生成模型的应用十分广泛,可以用来对不同的数据进行建模,比如图像、文本、声音等。
生成模型可以和贝叶斯概率公式进行结合,用于分类问题。原始贝叶斯概率公式为:
每个类别下的数据具有不同的规律,服从不同的分布,都有可能生成数据 。对于 属于每个类别的概率 通常利用极大似然估计计算——利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值,得到具体分布之后可以求出具体的概率。最终将出现在每类的概率相加,所以生成概率可以定义如下(以两类为例):
以下是一些常见的概率生成模型:
高斯混合模型 (Gaussian Mixture Model, GMM): GMM 假设数据是由多个高斯分布组合而成的混合体。每个高斯分布对应于数据的一个潜在子群。GMM 被广泛应用于聚类和密度估计任务。 变分自编码器 (Variational Autoencoder, VAE): VAE 是一种基于神经网络的生成模型,通过学习数据的潜在变量表示,实现对数据的生成。VAE 的训练过程涉及到最大化观测数据的边缘似然,同时最小化学习到的潜在表示与一个先验分布的散度。 生成对抗网络 (Generative Adversarial Network, GAN): GAN 由一个生成器和一个判别器组成,它们通过对抗训练来学习数据分布。生成器试图生成逼真的样本,而判别器试图区分真实样本和生成样本。GAN 被广泛用于生成逼真的图像。 自回归模型 (Autoregressive Model): 这类模型假设数据是按顺序生成的,每个维度的取值依赖于之前维度的取值。典型的自回归模型包括 PixelCNN 和 PixelRNN。 流模型 (Flow Model): 流模型通过一系列可逆变换,将一个简单的分布映射为复杂的数据分布。这些模型允许直接计算概率密度函数,并支持高效的样本生成。
由于不同的任务和应用场景可能需要关注不同的性能方面,生成模型的性能很难通过单一的评估指标来全面衡量。生成模型评估具有复杂性和多样性,在实际应用中可能需要考虑不同的评估策略。
2 评估方法总结
2.1 对数似然(Log-Likelihood)
对数似然性是评估生成模型对观测数据的拟合程度的一种指标。对于给定模型和观测数据,对数似然性表示观测数据在该模型下发生的概率的对数。在概率统计中,对数似然性通常用以下形式表示:
其中, 是观测数据的样本, 是模型的参数, 是模型对给定参数下观测数据的条件概率。在生成模型中,提高对数似然性意味着模型更好地拟合观测数据,生成的样本更接近真实数据分布。
平均对数似然性通常被视为量化生成模型性能的默认指标。在密度估计等任务中,它被广泛用于训练和评估生成模型。
连续数据与离散数据建模:由于自然图像通常以8位整数存储,但在建模时被视为连续分布的实例,为了避免在测试数据上产生任意高的似然性,建议对整数像素值添加实值噪声,实现去量化数据。连续模型在去量化数据上的对数似然性与离散模型在原始数据上的对数似然性密切相关。最大化连续数据上的对数似然性也最优化了离散模型在原始数据上的对数似然性。 半监督学习:在包含图像和相应标签的数据集中,通过最大化对数似然性是自然的,特别是在没有标签的情况下。对数似然性的优化可以看作是对生成模型参数进行贝叶斯推断的一种方法。 贝叶斯推断:在半监督学习背景下,对数似然性的优化可以视为在贝叶斯推断框架中的一部分,通过积分掉参数来推断标签的分布。
2.2 KL散度(Kullback-Leibler Divergence)
KL散度是衡量两个概率分布之间差异的一种方法。对于两个概率分布 和 ,它的KL散度定义如下:
KL散度表示在给定事件空间中,由使用概率分布 产生的事件与使用概率分布 产生的事件之间的差异。KL散度是非负的,当且仅当 和 相等时为零。因为KL散度的定义中包含对数似然性的项,最小化KL散度等价于最大化对数似然性。
对数似然和KL散度是经常用来评估生成模型的指标,但是很多模型的似然性是难以计算的,例如,未归一化的基于能量的模型的标准化常数通常难以计算,而具有潜在变量的模型通常需要解决复杂的积分才能计算似然性。
2.3 样本和对数似然
对于许多有趣的模型,平均对数似然性很难甚至无法准确评估。然而,生成样本通常比计算对数似然性容易得多。因此,使用生成的样本来推断模型对数似然性是有效的。
直观上,一个具有零KL散度的模型将生成完美的样本,而在低维度中,通过视觉检查可以很好地评估模型对数据的拟合程度。然而,在高维度中,这些直觉可能是误导性的。对数似然性和生成样本之间可能存在不一致。
对数似然性差但样本好:一个简单的查找表,存储足够的训练图像,可以生成令人信服的图像,但在未见过的测试数据上具有较差的平均对数似然性。这表明令人满意的样本并不足以获得良好的对数似然性。 对数似然性好但样本差:生成合理的样本,不是高对数似然性的必要条件。例如,通过混合模型,即使包含了一个差的模型,也能获得高对数似然性。 对数似然性好且样本好:可以通过选择适当的混合模型,使其生成的样本无法与真实图像区分,对数似然性仍然保持高水平。这表明对数似然性和样本的视觉外观在很大程度上是独立的。
2.4 最近邻(Nearest Neighbors)
最近邻方法是一种用于评估生成模型性能的常见手段,特别是在定性分析中。这种方法通过比较生成的样本与训练数据集中的最近邻来检查模型生成的图像是否与真实图像相似。
首先将图像表示为适当的特征向量或嵌入,这可以通过使用预训练的卷积神经网络(CNN)来提取图像特征。选择合适的距离度量,如欧氏距离或余弦相似度。欧氏距离通常用于特征空间中的点,而余弦相似度适用于方向性的特征向量。通过生成模型生成一批样本图像。这些样本将用于与训练数据集中的真实图像进行比较。对于每个生成的样本,计算其在特征空间中与训练数据集中所有图像的距离,并找到最近邻,然后分析生成样本和最近邻之间的相似性。
但是其存在如下几个局限性:
对数据表示的敏感度很高,可能无法捕捉微小的图像变化,特别是在高维空间中。 由于图像特征的高度抽象表示,最近邻方法可能过于关注局部细节,导致对模型的过拟合敏感。 最近邻通常基于欧氏距离确定,对于小的感知变化可能非常敏感,影响了可靠性。
2.5 Parzen窗估计
在评估生成模型性能时,当无法获取对数似然时,常用的替代方法之一是使用Parzen窗估计。Parzen窗估计是一种常用于密度估计的非参数方法。当无法直接获得数据分布的概率密度函数时,可以通过生成样本并利用这些样本构建概率密度估计器来近似真实分布。
Parzen窗估计使用一个固定形状(通常是高斯形状)的窗函数,将每个样本点周围的一小块空间视为一个窗口。这个窗口在空间中移动,并计算落入每个窗口的样本点的加权和,最终得到整体的密度估计。这些权重由窗口函数和距离决定。通过对所有窗口的加权和进行归一化,得到在每个数据点处的概率密度估计。
数学上,对于一个样本点 ,其附近的Parzen窗函数表示为 ,其中 是窗口的带宽, 是窗口函数。带宽控制了窗口的宽度,影响估计的平滑度。
在生成模型的上下文中,Parzen窗方法可用于估计对数似然。通过从模型生成样本,构建一个核密度估计器来近似模型的概率密度函数,将生成样本与训练数据集的窗口估计进行比较,以此作为对数似然的代理。
优点:
适用于非参数密度估计,不需要对数据分布进行假设。 灵活性较高,通过调整窗口宽度可以平衡估计的平滑度和准确性。
缺点:
对于高维数据,带宽的选择变得复杂。 在高维数据的情况下,需要大量样本才能接近真实模型的对数似然。 在边界处估计可能不准确,特别是当窗口不足以包含足够的邻近数据点时。
2.6 Inception Score(IS)
IS 从两个方面评价 GAN 生成的图片质量:
清晰度:将一张图片输入到Inception v3中,会输出1000维的张量 。对于一个清晰的图片,它属于某一类的概率应该非常大,而属于其它类的概率应该很小。即 的熵应该很小(因为熵代表了混乱度,分布的确定性越高,熵越低)。 多样性:从所有的图片的角度考虑,在生成的一堆图片中,如果这些图片是十分具有多样性的,那么应该是每个类别的数目是差不多一样的,也就是说 的熵应该很大。
所以要最小化 ,最大化 ,让这两个概率分布的差距越大越好,所以使用KL散度得到IS 公式:
根据转换推导可以发现,IS指标的含义是生成的所有样本在各类别的分布函数的熵,与每个样本在各类别可能性的分布的熵(期望)之差。
但是其存在如下几个局限性:
对神经网络内部权重十分敏感。尽管不同框架预训练的网络达到同样的分类精度,但由于其内部权重微小的不同,导致了 IS 很大的变化。 本身计算方式存在一定问题。计算通常会将 50000 张图片分成 10 份,但是5000个样本往往不足以得到准确的边缘分布 。 如果某一个物体的类别本身比较模糊,在几种类别中会得到相近的分数,或者类别在ImageNet中不存在,就不再是一个尖锐的分布,IS 无法检验这种情况,会引起模式崩溃。 无法反映出过拟合情况。
A Note on the Inception Score[1]. Shane Barratt, Rishi Sharma. ICML 2018.
2.7 模式分数(Mode Score)
模式分数(MS)是一种用于评估生成模型的分数,旨在解决 IS 的一个重要缺点,即忽略了标签的先验分布。MS 考虑了训练数据集的标签信息,定义如下:
表示经过训练数据集的样本得到的标签向量的类别概率, 表示经过GAN生成样本得到的标签向量的类别概率,MS同样考虑了生成样本的质量与多样性的问题,不过可以证明其与IS是等价的。
2.8 修正后的IS(Modifified Inception Score, m-IS)
m-IS重点关注了类内模式崩溃的问题,例如使用ImageNet训练好的GAN可以均匀生成1000类图像,但是在每一类中,只能产生一种图像,也就是生成的苹果图像永远长一个样子,但是GAN的生成质量和类别多样性是完全没有问题的。m-IS对于同一类样本的标签计算了交叉熵:
其中, 均为同一类别的样本,其类别由Inception v3的输出结果决定。将类内交叉熵考虑进IS可得m-IS,即:
可以看出,m-IS评价的是GAN的生成质量和类内多样性。当m-IS分数越大时,GAN生成性能越好。
2.9 AM Score
AM Score考虑的是:IS假设类别标签具有均匀性,生成模型GAN生成1000类的概率是大致相等的,故可使用 相对于类别的熵来量化该项,但当数据在类别分布中不均匀时,IS评价指标是不合理的,更为合理的选择是计算训练数据集的类别标签分布与生成数据集的类别标签分布的KL散度。
用 表示经过训练数据集的样本得到的标签向量的类别概率,关于样本质量的一项保持不变,则AMS的表达式为:
第一项衡量训练标签分布与模型输出分布之间的差异,第二项衡量在给定输入 $x% 的情况下,模型输出的类别标签的熵。当AM Score分数越小时,GAN生成性能越好。
2.10 Fréchet Inception Distance(FID)
IS 评价指标只考虑了GAN生成样本的质量,并没有考虑真实数据的影响,会将不像 ImageNet 的数据都认为是不真实的。IS 用Inception v3直接输出类别,而FID则用其输出的特征。FID 直接考虑生成数据和真实数据在特征层次的距离,不再额外的借助分类器。
在 GAN 中,FID 是一种基于 Fréchet 距离的生成图像质量评价指标,这是在特征空间中衡量两个多变量概率分布相似性的一种方法。Fréchet 距离代表两条曲线之间最短的最大距离,是两个曲线之间相似性的度量。这个距离的计算涉及两个分布的统计特征:真实数据分布和生成数据分布。可以使用协方差矩阵来衡量多个维度之间的相关性,所以使用均值和协方差矩阵来计算两个高维分布之间的距离。
FID 使用 Inception v3 全连接层前的 2048 维向量作为图片的特征向量,真实图片的特征均值和生成图片的特征均值为 。真实图片的协方差矩阵和生成图片的协方差矩阵为 。较低的FID表示两个分布更为接近。
其存在如下几个局限性:
距离是依照衡量多元正态分布的距离来定义的,但提取的图片特征不一定是符合多元正态分布。 无法解决过拟合问题,如果生成模型只能生成和训练集一模一样的数据,则无法检测出来。 FID 基于特征提取,也就是依赖于某些特征的出现或者不出现,因此无法描述这些特征的空间关系。
GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium[2]. Martin Hensel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, Sepp Hochreiter. NIPS 2017.
2.11 最大均值差异(Maximum Mean Discrepancy)
最大均值差异(MMD)是一种用于度量两个概率分布之间差异的方法,通过在特征空间中比较两个分布的均值来度量它们之间的距离。故可以考虑使用MMD度量训练数据集分布 和 生成数据集 的距离,然后使用这个距离作为评价指标。若MMD距离越小,则表示越接近,模型的性能越好。MMD可以被看作是两样本测试,类似于分类器两样本测试,它测试了一个模型是否比另一个更接近真实数据分布。
在实践中,使用从分布中抽取的有限样本来估计MMD距离:
由于MMD是使用样本估计的,即使 和 完全相同,估算得到MMD也未必等于零。
核MMD方法在预训练的卷积神经网络(CNN)的特征空间中运行时效果出奇的好。它能够区分生成的图像和真实的图像,而且它的样本复杂性和计算复杂性都很低。核MMD方法也被用于训练生成对抗网络。例如,生成矩匹配网络(GMMN)用核MMD替代了GAN中的判别器。
2.12 Wasserstein距离
Wasserstein距离与MMD类似,是两个分布差异的一种度量。若Wasserstein距离越小,则表示 和 越接近,GAN的性能越好。在性能优越的WGAN中,便是先通过判别器学习两个分布的Wasserstein距离,再以最小化Wasserstein距离为目标函数来训练生成器的。
当把Wasserstein距离作为评价指标时,需要先有一个已经训练好的判别器 D,Wasserstein距离的估算值为:
这个评价指标可以探测到生成样本的简单记忆情况和模式崩溃情况,并且计算比较快捷方便。但是,由于使用Wasserstein距离作为评价指标需要依赖判别器和训练数据集,故它只能评价使用特定训练集训练的模型,例如对使用苹果图像训练集训练得到判别器,它无法评价橘子图像生成器的性能,故也具有一定的局限性。
2.13 神经网络散度(Neural Network Divergence)
神经网络散度(NND)是通过训练神经网络来区分两个分布样本的损失来定义的,被用作评估生成模型性能的一种度量。通过训练独立的“评论家”网络,该网络的目标是区分真实样本和生成样本。训练足够后,评论家的损失可用作反映真实数据和生成数据可辨别性的分数。与传统的统计散度相比,NND能够整合有关任务的先验知识。使用卷积神经网络(CNN)作为评论家,可以得到适用于自然图像的平移不变散度。
首先,需要定义一个神经网络架构,即评论家网络。这个网络的目标是通过学习区分两个分布的样本。 定义一个损失函数 ,该函数用于度量评论家网络对两个分布样本之间的差异。这个损失函数的选择可能依赖于具体的任务和数据特性。 定义一组参数化函数 ,其中 是评论家网络的实例, 是网络的参数。 使用训练集样本,通过最小化损失函数来训练评论家网络。该网络的目标是学习对两个分布的样本进行有效区分的表示。 训练充分后,通过在生成模型生成的样本和测试集样本上应用评论家网络,计算损失作为评估分数。其公式表示为:
其中 表示对从 中采样样本的期望。
但是该指标也有以下不足:
评论家网络结构的相似性可能导致它们在评估中表现相对一致,评估的结果在一定程度上受到了模型架构的影响。 分数对于实现细节具有较强敏感性,需要在不同研究中保持一致。 由于测试集较小,可能存在来自测试集的偏差,需要更强的可靠性保证。
Towards GAN Benchmarks Which Require Generalization[3]. Ishaan Gulrajani, Colin Raffel, Luke Metz. ICLR 2019.
2.14 比赛胜率和技能评分(Tournament Win Rate and Skill Rating)
该方法灵感来自于类似于棋类或网球比赛中的技能评分系统。他们通过生成器和判别器之间的比赛,引入了两种总结比赛结果的方法:比赛胜率(Tournament Win Rate)和技能评分(Skill Rating)。比赛胜率主要用于单个模型的训练进展度量,而技能评分则用于比较不同训练的GANs之间的相对表现。
比赛胜率
每轮比赛中,生成器和判别器进行对抗。生成器尝试生成逼真的样本,而判别器尝试区分真实数据和生成的数据。对于每个生成器,计算其在整个锦标赛中的平均胜率,生成器的胜率定义为生成器成功欺骗判别器的次数除以总比赛次数。
通过比赛胜率,可以量化生成器在与多个判别器的对抗中的相对成功程度。这种方法能够在训练过程中监测单个模型的学习进展,同时在比较不同模型时提供相对性能的度量。
技能评分
通过使用 Glicko2 系统来对生成器进行评估。玩家的技能评分用高斯分布表示,包括均值和标准差,代表了关于其真实技能评分的当前状态的证据。Glicko2 是一种用于评估玩家技能水平的排名系统,它通过考虑每场比赛提供的新信息来维护玩家的技能评分,考虑了比赛的不确定性和新信息。
通过使用技能评分系统,可以更全面地考虑每场比赛提供的信息,并以一种动态的方式更新生成器的评估。这种方法允许在模型评估中引入更多的灵活性,以更好地捕捉生成器性能的变化。
优点
特征集的灵活性:得分不受固定特征集的限制,允许参与者(生成器)学习并适应任何有助于取得胜利的特征。 将人类判断融入评估的原则性方法:技能评分系统(如Glicko2)提供了一种将人类判断融入评估的原则性方法。技能评分可以根据比赛结果动态调整,反映对模型性能的不断演化的理解。
缺点
得分提供了模型能力的相对度量,仅在特定比赛的背景下具有解释性。无法直接与其他比赛中的得分进行比较。在不同情境中复现结果可能会具有挑战性且昂贵。
Skill Rating for Generative Models[4]. Catherine Olsson, Surya Bhupatiraju, Tom B. Brown, Augustus Odena, Ian J. Goodfellow. arXiv 2018.
下面是两篇关于生成式模型评估的综述文章共大家参考:
2.15 A note on the evaluation of generative models
概率生成模型可以用于压缩、去噪、修复、纹理合成、半监督学习、无监督特征学习以及其他任务。鉴于这些模型有如此广泛的应用,这些模型在形式化、训练和评估方面的多样性不足为奇。因此,直接比较这些模型通常是很困难的。文章回顾了关于生成模型评估和解释的许多已知但常常被低估的属性,重点是图像模型。作者表明,当数据是高维的时候,目前最常用的三个标准——平均对数似然、Parzen窗口估计和样本的视觉保真度——在很大程度上是相互独立的。因此,相对于一个标准的良好表现不一定意味着相对于其他标准也有良好的表现。作者的结果显示,从一个标准到另一个标准的推广是不合理的,生成模型需要直接根据它们旨在使用的应用进行评估。
A note on the evaluation of generative models[5]. Lucas Theis, Aäron van den Oord, Matthias Bethge. ICLR 2015.
2.16 Pros and Cons of GAN Evaluation Measures
论文中的工作是作者几年前发表的同一主题论文的更新(Borji, 2019)。随着生成建模的显著进步,出现了一系列新的定量和定性技术来评估模型。尽管有些度量如Inception Score、Fréchet Inception Distance、Precision-Recall和Perceptual Path Length相对更受欢迎,但GAN评估并不是一个已经解决的问题,仍有改进的空间。作者描述了在评估模型中变得越来越重要的新的维度(例如偏见和公平性),并讨论了GAN评估与深度伪造(deepfakes)之间的联系。这些是目前机器学习社区关注的重要领域,GAN评估的进展可以帮助缓解这些问题。
Pros and Cons of GAN Evaluation Measures[6]. Ali Borji. CVIU 2019.
A Note on the Inception Score: http://modelcube.cn/paper/detail/85
[2]GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium: http://modelcube.cn/paper/detail/2387960
[3]Towards GAN Benchmarks Which Require Generalization: http://modelcube.cn/paper/detail/2517784
[4]Skill Rating for Generative Models: http://modelcube.cn/paper/detail/87
[5]A note on the evaluation of generative models: http://modelcube.cn/paper/detail/2525645
[6]Pros and Cons of GAN Evaluation Measures: http://modelcube.cn/paper/detail/86
阅读原文,了解更多信息:ModelCube一站式人工智能科研平台
http://modelcube.cn/paper/reading-list-detail/43