赞
踩
《生成模型简介》
翻译自:A Brief Introduction to Generative Models. Alex Lamb.
目录
变分自动编码器 Variational Autoencoders
人类认知最独特和最强大的方面之一是想象的能力:合成不受现实中立即出现的限制的心理对象。人类进化这种能力有很多潜在原因。一是它允许人类通过想象他们的动作如何影响未来来进行规划。另一个是通过想象未来将如何展开,人类可以测试关于世界动态的假设,并在没有明确监督的情况下了解其属性。
机器学习的一个子领域,旨在赋予机器这种相同的基本能力来想象和合成新实体,称为生成建模。除了这些崇高的雄心外,生成模型也有许多实际动机。一个常见的论点是,人类可以使用生成模型作为在使用较少标记数据的同时进行监督学习和强化学习的一种方式。考虑儿童学习新语言的任务。虽然孩子们确实偶尔会收到明确的监督反馈,即从他们的父母告诉他们拼写错误一个词或他们过度概括一个词,但这种反馈相对较少。奖励信号可能只是很少见。正因为如此,认知科学家好奇人类如何能够以相对较少的过度拟合进行学习。它们将其称为“刺激的贫困”问题。一个吸引人的假设是,人类使用无监督生成模型来构建世界的稳健表示,然后使用这些相同的表示从少量显式标记数据中进行监督学习和强化学习。由于人类不断吸收感知数据(声音、视觉、触摸),人类应该有大量的未标记数据,可用于训练生成模型而不会过度拟合。我们还可以想象,其中许多生成模型需要学习特征,这些特征对于监督学习也很有用。例如,一个潜在的生成模型将学会构建以过去视觉刺激 窗口为条件的未来视觉刺激序列。能够很好地执行此任务的模型需要对世界的工作方式(即事物形成对象、事物靠近和远处的东西、事物大而小的东西、某物是否活等)有一个强大的模型。
生成模型的另一个实际动机是它们可以更好地评估机器学习模型的有效性。由于分类器为广泛的输入产生相同的输出,因此很难评估分类器对一种类型的数据真正学习了什么。假设我们有一个数据集,其中模型从图像中生成文本标题。考虑一个长颈鹿的图像,该模型被描述为“长颈鹿在高绿草旁边行走”。模型已经足够学会能够识别有长颈鹿,长颈鹿正在行走(不跑步或坐着),并且有高绿色草地。然而,另一种可能性是该模型识别长颈鹿,但简单地说长颈鹿是行走的,因为长颈鹿通常是行走的,并且说长颈鹿在高草附近,因为长颈鹿通常靠近高草,并且说草是绿色的,因为草通常是绿色的。因此,很难知道模型是否真正理解图像,或者仅仅根据不同类型的图像做出合理的猜测。但是,如果我们有一个生成模型,该模型生成以标题 P (X|C) 为条件的样本图像,则可以做什么。由于人类可以通过手生成任意文本,我们可以很容易地为模型提供反事实,例如“在短红草旁边跑步长颈鹿”或“长颈鹿躺在高蓝草旁边”。由于人类很容易在文本中生成详细的反事实,因此很容易验证模型理解世界的程度。
到目前为止,我们已经定性地讨论了生成建模。我们希望可以从世界的动态中模拟的模型。我们希望能够合成真实查看数据的模型。然而,在更进一步之前,理解生成模型的概率解释很有用,这为研究生成模型提供了一个正式的框架。基本思想是,我们将来自世界的观察视为来自分布 x ∼ p(x) 的样本。例如,我们可以将现实中出现的所有人脸的分布视为 p(x),并将每个人脸视为一个样本。如果我们可以访问记录的数据集(例如一组人脸),我们也可以选择将这些点视为来自该分布的有限样本集合。
同时,我们可以将生成模型解释为估计分布 ,它由一组参数 θ 描述。然后我们可以构建生成建模,试图确保
和
尽可能相似。统计差异为这提供了一个自然的数学框架。散度是一个函数
,将分布 S 空间上的两个分布 p 和 q 作为输入,具有属性:
值得注意的是,没有对称假设,因此一般来说 。生成建模帧学习的概率方法是一个优化问题,其中损失对应于给定的散度。
在这一点上,值得注意的是,并非所有生成模型都使用概率生成模型框架。深度风格转移和纹理合成(Gatys et al., 2015a,b)搜索使用固定神经网络定义的具有“风格特征”的图像,匹配真实图像。深度图像先验搜索产生单个真实图像(或真实图像的一部分)的网络参数。其中许多方法具有独特的属性,即它们定义了修改单个真实图像的规则(Gatys 等人,2015a;Ulyanov 等人,2017),这限制了它们的泛化能力。也有一系列具有竞争目标的工作:一种是鼓励世代具有新颖的特征,另一种是鼓励世代看起来现实的。一个例子是创造性对抗网络 (Elgammal et al., 2017),它有一个目标鼓励生成的图像与数据中出现的风格不同,另一个目标鼓励生成的图像遵循数据分布。这些方法与概率框架完全不同,因为它们鼓励在任何观察到的分布 p(x) 下产生没有密度的数据点。
我们简要概述了用于深度学习概率生成建模的两个主要方法。第一个和相当古老的方法定义了生成模型的密度,并直接最大化该密度在观察到的数据点上的值。一种更新且相当独特的方法涉及对给定生成模型和真实数据之间的差异进行建模,然后鼓励生成模型最小化该距离。
感觉这里有点像频率派与贝叶斯派的区别,前者根据当前样本的频率估计样本的概率分布,后者在频率的基础上加上人工对分布的先验假设,然后通过极大释然估计来最大化当前样本出现的概率。
寻找分布 qθ(x) 的正确算法是什么,它最小化了自身和 p(x) 之间的差异。在选择分歧类型以最小化之前,一个自然的问题是考虑我们能够优化的表达式类型,并向后工作以找到合适的分歧。一般来说,我们只能从分布 p(x) 中获取样本,而不是任何有关分布的附加信息。同时,qθ(x) 是我们控制的模型,因此有理由相信我们将能够设计它,使其具有我们可以计算的密度以及绘制样本的能力。
KL 散度可以重写为表达式,其中唯一依赖于参数的项是对 p(x) 样本上的 qθ (x) 的期望。从两个分布 p(x)(经验分布)和 q(x)(模型分布)开始,我们写出 KL 散度(Nowak,2009)。
然后我们可以证明一组 N 个数据点的最大似然估计。
最大似然的目标是在从分布 p(x) 采样的真实数据点上最大化对数密度 。
因此,我们可以看到 KL 散度分解为两项 1.12:交叉熵项(似然)和真实数据分布熵项。由于真实数据分布的熵不依赖于估计量,因此通过最大化似然可以最小化 KL 散度。这样做的另一个有用结果是,如果真实数据分布最大化似然,则可以通过这样的生成模型来估计。
现在我们已经建立了一个统计散度,我们可以通过优化分布 的参数来最小化,我们转向决定使用什么作为 Q 的问题,这将占据我们对最大似然方法其余部分的关注。
最大似然方法只需要我们能够从真实数据中均匀采样并评估我们在这些点处估计分布 qθ(x) 的对数密度。q 的最简单选择是什么,如果我们想在优化函数方面构建问题。事实上,q 不能简单地是一个任意函数,因为它可以简单地为空间中的每个点分配一个高值。对于 q 对应于实际概率分布的密度,它只需要满足两个简单的属性 1.14:它在任何地方都是非负的,并在定义其值的区域上积分为 1.0(称为分布的支持)。为了简化,我们将使用实数 R 编写定义作为支持。
满足 1.14 和 1.15 最直接的方法之一是解析证明具有特定参数的函数满足这些属性。虽然这种方法非常有限,但已经衍生了许多这样的有用功能,并且被广泛使用。最突出的之一是正态分布,其密度由 μ 和 σ 参数化。
高斯积分有一个简单的价值,允许对涉及变量 x 上的指数的各种分布进行 1.15 的直接证明,其中包括指数族。
大多数封闭形式密度的一个主要限制是它们是单峰的,这使得它们不适合非常不同的点可能具有高密度的问题,而低密度区域将它们分开。例如,几乎所有的自然分布,如图像和音频数据集都是多模态的。此外,这些易于处理的封闭形式密度大多要么假设维度之间的独立性,要么假设成对依赖(例如,多元高斯)。这进一步限制了对真实数据的适用性,其中密度通常集中在特定的低维流形上(Bengio et al., 2012)。
了解这些限制的一种直接方法是将任何密度替换为具有不同参数密度的混合。这可以极大地提高模型的容量,并已用于深度生成模型(Graves,2012;Salimans 等,2017)。它有一个简单的封闭形式,其中混合中的每个分量都有一个加权 和一个分布
。
这种形式的保证用 和为 1.0 的唯一条件进行归一化。这种方法具有明显的优势,因为它允许更高的容量模型,但实现更多模式的唯一方法是添加更多混合组件。事实证明,这是一个重大限制,当混合分量是单峰分布时,将混合模型的效用限制为相对简单的低维分布。
考虑了1.14和1.15中分布的性质,一条潜在的路径前进是认识到非负性非常容易通过构造执行,而对积分的约束通常需要非平凡的证明。在此基础上,我们可以定义一个称为能量的函数,该函数通过构造是非负的,但在支持上不一定总和为 1.0。定义这种能量的一种方法是使用指数(指数函数非负)。
然后我们可以计算 x 占据的空间的总和,我们将其称为 。
当 = 1 时,我们的能量函数已经定义了一个概率分布。否则,我们可以将能量除以
,得到一个满足1.15的概率分布。对于神经网络定义的能量函数,没有一种通用的方法来确定整个空间上的积分。通常,神经网络在某些分布的特定点(例如数据分布)上进行评估,这不足以计算整个空间的积分。
然而,计算基于能量的模型的对数似然梯度揭示了一个有趣的形式。
(式子1.24根据式子1.19推理,式子1.24-1.25看不懂了)
当我们考虑多个数据样本上梯度的期望值时,得到的梯度有一个特别优雅的形式,由一个正阶段组成,其中函数在真实数据的样本上最大化,以及一个负阶段,其中函数的值被推到模型分布的样本上。
尽管这为梯度提供了一种简单的形式,但它假设我们能够从我们的模型分布中采样并计算其能量。在实践中,这是使用基于能量的概率生成模型的主要障碍。一些研究探索了使用波尔兹曼机器和一种称为对比散度的近似,它将1.28中的模型分布qθ(x)替换为从真实数据分布开始的短吉布斯采样链。发现使用深度网络定义能量函数的通用方法,这也允许快速和精确的采样将使基于能量的模型更具吸引力。
基于能量的模型的另一个挑战是这种直接形式仅适用于似然相对于参数的梯度。由于分区函数是整个空间的积分,计算似然本身仍然相当困难,而神经网络通常只在特定点进行评估。已经提出了两种解决方案来估计分区函数、退火重要性采样 (Neal, 1998) 和反向退火重要性采样 (Burda et al., 2014),但是两者都只是近似值并且需要迭代过程。
我们之前为似然最大化探索的方法试图增加 的表现力,但对于复杂的多元分布来说,这已被证明是困难的。实现增加多元分布表达能力目标的另一种方法是将联合分布分解为一系列条件。通常,这可以在序列建模的上下文中使用 RNN 来完成。密度通过完全观察到的有向图模型表示:它将离散时间序列 x1, x2, ... , xT上的分布分解成为 tokens 上条件分布的有序乘积
当使用这种自回归方法在实践中训练 RNN 时,它被称为 教师强制(Williams 和 Zipser,1989),因为使用地面实况样本 yt 被反馈到模型中以预测后期输出为条件(类似于教师直接用正确完成的步骤替换解决方案中的学生尝试步骤,以便他们可以继续学习)。这些反馈的后向样本迫使 RNN 在训练期间保持接近真实序列。
当从自回归模型中采样时,ground-truth 序列不能用于条件化;因此我们在给定先前生成的样本的条件分布下采样每个 yt ,从而实现序列的联合分布中采样。不幸的是,此过程可能会导致在条件上下文中生成小预测误差化合物的问题。这可能会导致较差的预测性能,因为条件上下文(先前生成的样本序列)与训练期间看到的分布不同。
Bengio等人(2015)提出通过在训练过程中有时将模型的预测值反馈到网络中作为输入来解决这种暴露偏差问题(就像从自回归模型采样期间所做的那样)。然而,当模型生成几个连续的 yt 时,尚不清楚正确的目标(就其分布而言)仍然是地面实况序列中的目标。一般来说,这些采样值可能与为输出提供目标的基本事实序列完全不一致。这以各种方式得到缓解,通过使自生成的子序列短并退火使用自生成与地面实况样本的概率。然而,正如 Husz ́ar (2015) 所指出的,计划采样会产生有偏差的估计器,即使示例数量和容量趋于无穷大,此过程也可能不收敛到正确的模型。尽管如此,在某些实验中,计划采样仍然具有作为正则化器的价值。Lamb 等人提出了一种通过使用对抗训练 1.2.3 来改进自回归模型的一致方法。 (2016)。
一般来说,自回归模型的优势在于它们在定义密度和直接最大化可能性方面具有直接和通用的统计公式。此外,如果序列中的每一步都是一个标量,它只需要我们定义单变量条件分布,并且具有封闭形式密度的单变量分布集是相当普遍的。例如,单变量多项式分布可以是多模态的,可以非常接近广泛的分布,并且很容易处理。
自回归模型的主要缺点是,提前一步损失往往不能很好地适应长期误差测量(由于训练过程中没有观察到的复合误差效应),直接在单个步骤空间中表示不确定性可能非常不自然。这可能与“作者区块”人类的现象有关,很难从头开始写作任务。在自回归模型的上下文中,前几个步骤通常包含大量的熵,因为它们实际上限制了要遵循的所有文本的内容,但弄清楚文本的开头如何 将会导致 所需的主题 或 主题在长文档中的分布 是一项具有挑战性的任务。也许出于这个原因,写作通常通过迭代或分层过程进行,而不是作为纯粹的顺序过程。
增加学习密度函数表达能力的另一种方法是引入概率潜在变量 z,它捕获大部分学习的不确定性,然后表示分布 。然后可以通过边缘化 z 来实现来自 p(x) 的样本。
这种方法的关键吸引力是,学习的潜在空间的统计结构通常比可见空间中的统计结构简单得多。具有潜在变量的密度具有直接的形式,从概念的角度来看,导致直接最大似然估计。
如果 z 变量是离散的并且具有相对较少的值,那么计算这个密度非常简单和合理。但是,如果 z 是连续的或具有许多潜在值,那么在每个更新上计算这个总和/积分要么很慢,要么是不可能的。为每个更新采样几个 z 值可能很诱人,并将表达式视为对 x 和 z 的期望。然而,这既有偏见又非常误导,因为它忽略表达式中 log 与 sum 之间的交互。如果只有少数 z 值会产生较大的 p(x, z),则足以给出 log(∑z p(x, z))) 较大的值。但是,如果我们在每次更新上简单地采样单个 z 或少量 z,那么我们基本上需要每个 z 都会导致具有大值的 p(x, z)。直观地说,如果潜在变量的几个甚至单个值解释了我们观察到的数据的话也是不错的,并且没有必要用所有 z 值来解释所有数据点。
变分界提供了一种数学工具,用于将涉及对数和结构的似然项分解为对 x 和 z 的易于处理的期望。
引入近似后验 允许我们根据变分自由能和近似后验与真实后验之间的 Kullback-Leibler 散度分解生成模型下数据的边际对数似然:
其中Kullback-Leibler散度由下式给出:
变分自由能由下式给出
由于 测量 qφ(z | x) 和 pθ (z | x) 之间的差异,因此保证是非负的。因此,变分自由能 L(θ, φ; x) 始终是似然的下界,有时被称为变分下限。
在 VAE 框架中,L(θ, φ; x) 通常重新排列为两项:
其中
Lx 可以解释为 x 在关于 qφ(z | x) 的条件似然下的(负)预期重建误差。
最大化这个下界促使模型最小化重构误差,最小化近似后验qφ(z | x)和先验pθ(z)之间的KL散度。
使用实值 x,重新参数化技巧 Kingma 和 Welling (2013); Bengio 等人。 (2013)可用于将梯度从解码器网络传播到编码器网络。x 的平均值计算为 x 的确定性函数以及噪声项 ε ∼ N(0, I),使得 z 具有所需的分布。通常,高斯分布用于后验。
重新参数化技巧允许样本的值是根据网络估计的分布和噪声变量ε的参数编写的。
这会产生具有所需分布的值,同时允许梯度通过 μφ(x) 和 σ2φ(x) 传播到编码器网络。
在最大似然方法下,量化模型成功的一种直接方法是计算模型在保留分布(通常称为测试数据集)的数据点上的平均似然 qθ (x)。这个标准有一些理想的品质:它能够检测过度拟合,并且具有一致性保证。另一方面,它有很大的局限性。(Arjovsky et al., 2017) 讨论的一个问题是 qθ(x) 在 p(x) 的值大于零的任何点上都有一个接近 0 的值,对数似然接近负无穷(直观地说,这可以通过观察到 log(x) 在 x 接近 0 时接近负无穷来看出)。此属性不太可能适用于大多数应用程序。
似然最大化方法的替代方法涉及研究候选生成模型以及该模型的样本与原始数据之间的差异。在实践中,这通常采用估计生成分布 qθ (x) 和真实数据分布 p(x) 之间的密度比的形式。
这种方法背后的一个关键动机是 Dθ(x) 的学习过程相当于学习真实数据和模型分布之间的分类器。在深度学习中分类器和成功训练分类器的方法方面非常成功,已知对分类的良好归纳偏差也可以很好地确定生成对象的质量。对模型和数据之间差异的另一个动机是它允许模型对真实样本和生成样本之间的任何明显差异变得敏感,这可能比简单地确定给定点的分布密度要容易得多的任务。
(Gutmann and Hyv ̈arinen, 2010) 提出使用固定的生成模型 qθ(x),并学习分类器来区分这些样本和真实数据分布。一旦学习了这个密度比 Dθ(x),估计器可以通过使用重要性采样从中采样。马尔可夫链蒙特卡罗方法也可用于采样。
这种方法的一个重要限制是必须选择一个与 p(x) 非常相似的 qθ(x)。例如,如果 qθ(x) 在 p(x) 支持的地方没有支持,则表达式甚至没有很好地定义。如果 qθ (x) 具有非常小的值,其中 p(x) 具有较大的值,这将 Dθ(x) 推向 1.0,这导致非常重要的权重和高方差采样。直观地说,在像图像这样的高维空间中,随机先验,例如 qθ(x) 的高斯分布,没有现实的机会产生逼真的图像,即使它在理论上可能会发生。
生成对抗网络 (GAN) (Goodfellow et al., 2014) 旨在利用使用分类器生成的优势,同时避免噪声对比估计的主要缺点。GAN 框架从博弈论启发的角度解决了生成建模问题。该模型涉及以对抗方式训练两个网络。训练生成器网络不是使用固定的 ,而是生成与训练示例相似的样本,并训练鉴别器网络
对训练集中的示例和生成器生成的示例进行分类。生成器被优化以最大化鉴别器将生成的示例分类为“真实”的概率。这种设置被描述为对抗性的,因为生成器损失的损失与鉴别器损失中的术语相反。
对于通常的交叉熵分类目标,可以直接重写。
(Goodfellow et al., 2014) 的一个实际观察结果是,优化生成器网络以最大化 V (G, D) 的值在实践中表现不佳,尤其是当 p 和 q 的支持不重叠时。相反,经常使用非饱和的目标函数。
也可以在对抗框架中联合学习潜在变量 的推理网络(Dumoulin 等人,2017;Lamb 等人,2017)。
Arjovsky and Bottou, 2017) 表明,当 qθ(x) 和 p(x) 的支持不重叠时,GAN 生成器的梯度表现不佳。更具体地说,他们表明 1.38 导致生成器的饱和和消失梯度,1.39 在这种情况下会导致不稳定和缺乏有用的梯度信号。
他们建议将噪声注入 p(x) 和 qθ(x) 作为理论上克服这个问题的一种方式,同时仍然学习数据分布的估计量。
在这个模型中,生成器还使用来自注入噪声的样本的梯度进行训练。只要注入足够的噪声,这提供了密度比的生成器,即使真实数据和生成器分布的支持不重叠,该生成器也是明确定义的。还表明,注入噪声的分布之间的差异给出了真实分布和估计分布之间的 Wasserstein 距离的上限,其中边界的紧密度取决于噪声的方差,这可以通过在训练期间退火噪声来控制。
GAN 训练的一个严重的问题,即使在其原始公式 (Goodfellow et al., 2014) 中指出,在困难问题上,尤其是在训练早期,很难选择一个与真实数据分布重叠的生成器,并且不会添加噪声(容易降低样本质量)。当生成器和真实数据分布没有重叠支持时,KL 散度未定义,Jensen-Shannon 散度可以在这些点周围不连续。虽然 (Roth et al., 2017) 提出了噪声注入的解析近似,但 Wasserstein GAN 提出了一种替代方法,其中使用统计散度,即使生成分布和真实数据分布不重叠,它也是连续的和可微的。
(Arjovsky et al., 2017) 的主要贡献是 GAN 目标的制定,对应于优化 Earth Mover 距离或wasserstein 度量。这是基于 Kantorovich-Rubenstein 对偶性,它根据所有 1-Lipschitz 连续函数 f 的上确界给出了 wasserstein 度量的定义。
在实践中,这是通过使用神经网络鉴别器作为函数 f 来实现的。(Arjovsky et al., 2017) 通过在每次更新后将所有权重裁剪到指定范围内,在 (Arjovsky et al., 2017) 中强制执行对 f 的 lipschitz 约束。(Gulrajani et al., 2017) 提出使用对鉴别器输出相对于其输入的梯度范数的惩罚。与原始 WGAN 中使用的裁剪方法相比,这取得了显着的改进。(Roth et al., 2017) 表明,对原始 GAN 公式应用梯度惩罚在实践中也可以取得良好的效果,并且可以作为分析近似将噪声注入样本中,如 (Arjovsky and Bottou, 2017) 中所述。
(Miyato et al., 2018) 基于两个主要批评提供了对梯度惩罚的进一步细化:
(1)梯度惩罚只保证数据点的唇裂itz 连续性或应用它的地方,而不是输入空间中的任何位置,
(2)梯度惩罚具有推动权重矩阵排名并降低鉴别器表现力的效果。
(Miyato et al., 2018) 表明鉴别器函数的唇希茨常数是函数唇希茨常数的上限。
单个线性层g的Lipschitz常数‖g‖Lip: hin 7→hout等于权矩阵A的谱范数,等价于其最大奇异值(A * A的最大特征值)。
因此,对于线性层 g(h) = W h,范数由‖g‖Lip =suph σ(∇g(h)) = suph σ(W ) = σ(W ) 给出
光谱归一化直接归一化权重矩阵 W 的谱范数,使其满足 Lipschitz 约束 σ(W ) = 1:
通过以这种方式对所有线性层进行归一化,不等式 (1.42) 和 σ (W SN(W )) = 1 的事实,以查看‖f ‖Lip 有界于高于 1。
在实践中,每个权重矩阵的最大奇异值的特征值是通过使用幂方法来维护的,该方法对对应于最大特征值的特征向量进行持久估计。幂方法包括乘以矩阵并重新归一化的迭代过程。幂方法导致特征值最大的特征向量可以通过考虑其在矩阵的Jordan-Normal形式上的应用来看出,其中包含特征值的对角矩阵具有除最大特征值随连续迭代衰减的相对值。
由于特征向量只是一个值,权重变化相对较慢,因此与梯度惩罚不同,谱归一化方法几乎没有计算成本。
除了计算优势之外,光谱归一化相对于梯度惩罚有两个主要优势。第一个是谱归一化仅基于最大特征值的大小来惩罚,因此没有压力来减少权重矩阵的秩。此外,将矩阵除以非零常数不会改变其秩。另一方面,(Miyato et al., 2018) 表明,权重归一化和梯度惩罚都具有降低权重矩阵排名的效果。这可能会使网络更难学习表达功能。光谱归一化的第二个优点是它在空间中的所有点上强制执行唇纹itz约束,而梯度惩罚只在应用它的点上强制执行唇纹itz约束,通常在数据点周围或数据点之间的线性插值。
到目前为止,我们研究了改进 GAN 训练方法,该方法考虑了对鉴别器及其训练目标的修改。(Odena et al., 2018) 中探索了另一种和潜在的互补方法,该方法由一个额外的目标组成,该目标鼓励生成器的输出不会变化太多或太少,因为潜在值 z 被少量更改。特征值 λ1、λ2、。.. 和相应的特征向量 v1, v2,... 与 G(z) 相关的度量张量及其 jacobian 可以写成如下 (Odena et al., 2018)。
条件数由 λkλ1 的比率给出。如果条件数具有高值,则认为度量张量的条件很差。(Odena et al., 2018) 提出避免计算完整频谱的问题,这可能非常具有挑战性,有利于采样随机方向(本质上是对 εvk 的小随机值进行采样并根据经验计算 1.45,然后添加一个惩罚来鼓励这些值落在特定范围内。在实践中,他们通过将 λmin 设置为 1.0,λmax 设置为 20.0 取得了很好的效果。使 λmax 太小可能会影响使模型对潜在变量的响应太难,并且设置 λmin 太大可能会产生使模型不可能学习在空间相对恒定的密度中给出大区域的效果。在实践中,这些超参数可能需要根据这些问题根据数据集进行调整。
最大似然方法提供了一种直接的方法,如果不是完全动机的话,可以在其家族中定量评估生成模型。对于对抗性方法,没有明显的此类标准。为什么这。鉴别器的分数提供了对模型密度与给定点的真实数据密度相差多少的估计。如果鉴别器能够可靠地正确地对真实数据点和生成的数据点进行分类,并且以一种泛化的方式,那么很明显表明生成器质量较差。然而,如果相反为真,判别器无法对真实和虚假进行分类,那么这可能是因为生成器质量很高,或者这可能是因为判别器在某种程度上是有限的(在架构、训练过程或其他特征中)。这意味着鉴别器的分数不能可靠地用作辨别生成模型质量的一种方式(尽管在 Wasserstein GAN 的情况下,至少足以衡量训练进度的信息(Arjovsky 等人,2017;Gulrajani 等人,2017)。
这种基本限制激发了探索对抗性家族生成模型的新定量评估标准。尽管出于他们的发展动机,但我们将讨论的两个标准都与生成模型的实际形式无关,并且同样可以应用于使用最大似然训练的模型。
两种不同但非常密切相关的方法已被广泛采用作为定量评估对抗训练生成模型的方法。在这两种情况下,固定的预训练分类器都被用作评分指标的基础。第一个是 Inception Score (Salimans et al., 2016),其定义如下:
其中 x 是 GAN 样本,p(y|x) 是预训练分类器在 x 上给出的标签 y 的概率,p(y) 是生成样本中标签根据分类器的边际分布。更高的分数被认为更好。该指标背后的直觉是生成器应该从许多不同的类生成样本,同时确保每个样本都可以清楚地识别为属于单个类。例如,仅生成单个类样本的生成器将具有较低的初始分数,因为 p(y) 和 p(y|x) 将非常相似,因为它只会反映单个类。同样,生成不给分类器明确类信息的样本往往会使 p(y|x) 不确定且更类似于 p(y),从而导致初始分数不佳。
虽然 Inception 分数已被证明与视觉样本质量高度相关(真实数据样本比任何当前模型获得更好的初始分数),并且往往会给明显不足的 GAN 模型(以及训练早期的模型),但 Inception 分数的三个限制很容易明显。
一是Inception 分数可以被模型推到真实数据可实现的值之外,该模型仅生成分类器所知道的每个类的单个且明显可识别的示例。这将使 p(y|x) 与 p(y) 非常不同,因为在 p(y) 中具有高熵,但由于模型显然缺乏真实数据的多样性,并且从统计发散的角度来看是一个糟糕的生成模型。
另一个限制是,如果分类器对对抗样本是脆弱的,这假设可用于实现不自然的高 Inception 分数。这在 (Barratt and Sharma, 2018) 的实验中直接证明了这一点。虽然如果研究人员没有破坏且在竞争环境中,这可能是一个问题,但如果研究人员没有故意设置来为初始分数分类器生成对抗性示例,则不清楚是否会发生这种情况。
最后,Inception 分数的一个简单问题是,只需从训练集中返回样本即可获得非常高的分数。因此,仅记忆训练数据的生成模型将实现高初始分数,而无需进行任何学习。对于欠拟合并未能实现清晰的样本,Inception 分数会给模型提供低分,但它根本不会惩罚模型以记住训练数据或无法泛化。
Frechet Inception Distance (Heusel et al., 2017) 被提议用于解决初始分数中固有的一些限制。它分享了使用固定的预训练分类器作为基础的想法,但它不是评估样本 p(y|x) 的质量,而是从分类器的末尾获取隐藏激活。关键思想是,当生成的样本这些激活的分布接近这些激活对真实数据点的分布时,分数很高。我们如何确定这些分布是否确实彼此接近,而不是简单地再现必须训练生成模型的问题。虽然这仍然是一个悬而未决的问题,但 FID 中的提议是假设这些隐藏状态遵循多元高斯分布(但不一定具有各向同性方差)。由于这些隐藏状态来自深度分类器的末尾,因此这种多元高斯假设比可见空间中的假设更合理。
为了计算 FID 分数,将多元高斯 N(m, C) 拟合到真实测试样本的激活,并将单独的多元高斯 N(mw, Cw) 拟合到生成样本的激活。由此,分布之间的 Frechet 距离具有令人惊讶的易于处理的形式,它不需要反转协方差矩阵 C 或 Cw。
(Heusel et al., 2017) 研究了数据的几个人工变形,并表明随着腐蚀的增加,FID 分数逐渐变差。更具体地说:他们研究了在图像中注入独立噪声,去除图像的随机区域,旋转图像,椒盐噪声,并从另一个数据集中注入示例。在所有这些不断增加的腐败中,FID 分数更差,而仅注入不相关的样本会导致较差的初始分数。
也许最重要的是,FID 可以在测试数据上进行评估,因此它可以直接测试过度拟合,这与Inception 分数不同。此外,为每个类生成一个高质量的示例(以整体多样性为代价),通过给出生成样本的隐藏状态和不自然分布仍然会损害 FID。虽然这些指标现在被广泛用于衡量生成模型的质量(Odena et al., 2018; Miyato et al., 2018; Karras et al., 2017),但它们仍然高度依赖于分类器的选择进行评估和缺乏统计一致性保证。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。