GRAN论文翻译
GRAN论文链接
注意:该翻译只是一部分,需要和原文对照着看,只是起到辅助的效果。
part one
摘要
Gatys等人 (2015)提出,优化像素以匹配卷积网络中的特征是渲染高视觉质量图像的一种方式。 展开这种基于梯度的优化可以被认为是一种循环计算,通过逐渐添加到视觉“画布”上创建图像。 在这种观点的启发下,我们提出可以通过对抗性训练进行训练的循环生成模型。 为了定量比较对抗网络,我们还提出了一种新的性能测量,即基于两个模型的发生器和鉴别器相互竞争。
1.介绍
生成逼真的图像一直是机器学习的长期目标。 生成图像的早期动机主要是作为一种诊断工具,基于这样的信念,即一个良好的生成模型可以被视为对模型对视觉世界的“理解”程度的证据(见例如[6] [7]或[16]和这些中的参考文献)。 最近,由于过去两年的质量改善(例如[5,1,15,2]),以及整体辨别模式的成功,图像生成已经成为自己的目标,工业应用在 近距离。
目前,大多数常见的图像生成模型可以大致分为两类:第一类是基于概率生成模型,如变分自动编码器[11]和同时引入的各种等效模型。 这些模型的思想是训练一种自动编码器,其潜在表示满足一定的分布特性,这使得从隐藏变量以及数据分布(通过插入样本到解码器)中可以很容易地进行采样。
第二类生成模型是基于对抗抽样[4]。 这种方法放弃了通过训练一个简单的前馈神经网络来生成“类似数据”的例子来鼓励特定的潜在分布(并且实际上使用编码器)的需要。 “数据相似”由同时训练的,但是另外分离的鉴别神经网络来判断。
对于两种类型的方法,最近引入了序列变体,其在视觉质量方面表现更好:例如,DRAW网络[5]是变分自动编码器的顺序版本,其中通过累积生成图像使用循环网络将其更新为画布。顺序对抗网络的一个例子是LAPGAN模型[1],通过在多个步骤中生成和上采样,以粗略到精细的方式生成图像。
受到顺序生成成功的驱动,本文提出了一种基于循环网络的新型图像生成模型。类似于[1],我们的模型以一系列结构相同的步骤生成图像,但与此相反,我们不会在生成过程中强加粗略(或任何其他)结构。相反,我们让经常性网络本身学习最佳过程。与[5]相反,我们获得了非常好的样本,而不采用注意机制,没有变体训练标准(例如,Hedens上的KL惩罚)。
我们的模型主要受到[2]最近提出的第三种图像生成方法的启发。在这项工作中,目标是通过产生一个新的图像来改变给定参考图像的纹理(或“样式”),该新图像匹配预先训练的卷积网络层内的图像特征和纹理特征。如[2]所示,忽略了这种方法中的风格成本,并且仅匹配图像特征,可以渲染与参考图像相似的图像。如我们将要显示的那样,展开生成目标图像的基于梯度下降的优化产生一个循环计算,其中“编码器”卷积网络提取当前“画布”的图像。所得到的代码和参考图像的代码被馈送到“解码器”,该“解码器”决定对“画布”的更新。
这种观点以及经过训练的顺序生成网络的成功表明,经过训练以将更新累积到视觉画布上的迭代卷积网络通常应该很好地生成图像,而不仅仅是显示为参考图像。我们在本文中显示的确是这样。
为了定量比较对抗生成模型的相对绩效,我们还引入了一种基于两者的歧视者和发电机之间的“交叉”战斗的新的评估方案。
3模型
我们建议使用图像上的GAN进行连续建模。 在介绍我们提出的方法之前,我们将讨论我们的方法的一些动机。 模型的一个有趣的方面,例如深层次复杂写作者(DRAW)[5]和拉普拉斯生成对手网络(LAPGAN)[1],它们是以顺序过程生成图像样本,而不是一次生成图像样本。 两者都显示出优于其祖先模型,分别是变分自动编码器和GAN。 这种顺序模型的明显优点是重复产生以先前状态为基础的输出,简化了将复杂数据分布映射到更简单问题的顺序上的问题。
连续生成与反向输入(BI)之间存在着密切的关系。 BI是一种众所周知的技术,其目标是获得最小化从网络导出的给定目标函数的神经网络输入。 例如,[2]最近通过优化输入图像来引入风格渲染模型,以同时匹配参考内容图像的高层特征和参考样式图像的相同特征的非线性,纹理敏感函数。 他们还表明,在没有风格成本的情况下,这种优化产生了内容图像的渲染(依赖于所选要素层的质量)。
有趣的是,以这种方式进行特征匹配的渲染本身与DRAW紧密相关:使用backprop优化相对于输入像素的匹配成本,首先使用通过网络的向前路径提取所选层上的当前图像特征fx(向上到那层)。计算特征重建误差的梯度然后相当于将fx-fI的差异反馈到像素。这相当于遍历“解码器”网络,定义为计算后向通过的线性化反向网络。然后,将此导数的负值添加到生成的图像的当前版本x中。因此,我们可以将图像x视为缓冲区或“画布”,依次累积更新(见图2左侧)。像DRAW模型一样,使用(前进)传递通过编码器网络计算更新的位置,随后通过解码器网络进行(向后)传递。这种方法与DRAW网络几乎相同,除了两个微妙的差异(见[5]):(i)在DRAW中,当前图像和要渲染的图像之间的差异用于正向传递,而在这里这个差异是在特征空间中计算的(编码后); (ii)DRAW使用基于注意力的学习解码器和编码器而不是(固定的)卷积网络。 (见图2的右侧)。我们详细说明补充材料中两种方法之间的关系。
在这项工作中,我们探索一个生成的复发对抗网络作为基于生成对象目标函数的DRAW和基于梯度的优化之间的中间。
因此,我们得到表1所示的组合。表中的每个条目包含两个分数,一个来自区分训练或测试数据点,另一个来自区分生成的样本。 在测试时,我们可以看出以下两种模式的判别分数之间的比例:
测试比率rtest告诉我们哪个模型更好地概括,因为它基于区分测试数据。 注意,当鉴别器过载到训练数据时,发生器也将受到此影响。 这将增加向训练数据产生偏倚样本的机会。
样本比率, 告诉我们哪个模型可以更容易地愚弄其他模型,因为判别模型正在对其对手产生的样本进行分类。严格来说,由于我们的目标是产生良好的样本,所以样本比例决定了哪个模型在产生好的数据(“数据”)样本方面更好。
我们建议使用样本比率来确定获胜模型,并使用测试比率来确定结果的有效性。 使用后者的原因是由于抽样比率有时候有可能出现偏差,在这种情况下,当胜利者仅由样本比率决定时,战斗不完全公平。判别模型中的一个可能比另一个(即,过度装配在训练数据上)更偏向训练数据。为了解决这个问题,我们提出的评估指标将按照测试比率来判断样本比例如下:
这就产生了一种条件 ,其中确保没有一个鉴别器比另一个更适合。如果 ,那么这意味着 有偏见,因此样本比率不再适用。
我们把这个评估指标称为生成对抗指标(GAM)。 GAM不仅可以将生成的对抗模型相互比较,而且能够部分比较其他模型,如VAE或DRAW。这是通过根据其他生成模型的样本作为评估标准观察GRAN鉴别器的错误率。例如,在我们的实验中,我们用其他生成模型的样本报告了GRAN鉴别器的误码率,即err(D(z)),其中z是其他生成模型的样本,D(•)是GRAN的鉴别器。
5实验
为了评估连续生成的延伸是否提高了性能,我们在三种不同的图像数据集下进行了定量和定性的评估。我们在第4节讨论的模型选择指标下对GRAN进行了几项实证研究。有关完整实验细节,请参见补充资料。
在下文中,我们通过回答一系列关于我们实验的问题来分析结果。
问:GRAN如何表现?
GRAN的性能如表4所示。我们集中在比较GRAN与1,3和5个时间步长。对于所有三个数据集,GRAN3和GRAN5优于GRAN1,如表4所示。此外,我们提供了图3,图6和Supp中的MNIST,cifar10和LSUN的GRAN样本。图23.图23和图5似乎是可辨别的,并且被人类合理分类。此外,图6的LSUN样本似乎涵盖了各种教堂建筑物,并且包含精细的细节纹理。两个实际图像数据集的“图像统计”被嵌入到两种类型的样本中。
问:与非生成对抗模型相比,GRAN和其他GAN类型的模型如何执行?
我们将我们的模型与其他生成模型进行比较,如对MNIST数据集进行去噪VAE(DVAE)[8]和DRAW。虽然这可能不是评估这两个模型的最佳方法,因为GRAN的发生器不被使用,表3显示了应用GAM的结果,如第4节末尾所述。错误率均低于50%,而对于DVAE的样品尤其低。令人惊讶的是,即使来自DRAW的样本看起来非常好,他们的样品的错误率也相当低,与GRAN3。这表明生成对抗模型的鉴别者很好地区分DVAE和DRAW产生的样本。我们的假设是,由于在其目标中具有均方误差的平滑效果,样本看起来更好,但是它们并没有捕获真实手写图像统计的所有相关方面。
问:GRAN是否适应了培训数据?
由于天真地检查像GRAN的输出类似的图像的训练数据是不可行的,所以查看k个最近的邻居进行基本的理智检查是很常见的(尽管有些疑问)。如图7和图8所示,没有发现训练数据案例的任何重复。实际上,我们确实注意到,GRAN倾向于通过在训练数据之间进行插值来生成样本。例如,Supp。图26说明,教会建筑物由入口类似的结构组成,但教堂的整体结构具有不同的形状。基于这样的例子,我们假设在最坏的情况下,GRAN的过度拟合可能意味着模型学习在训练示例之间合理地插值。这不是术语过拟合的典型方法用于生成模型,通常是指记忆数据。事实上,在通常的对抗训练中,目标函数不是基于像素的均方误差,这使得不清楚如何记住训练样本。然而,这可能意味着这些模型难以生成从训练数据插值的图像。
问:中间时间步骤中样品的外观是什么?
当步骤总数为3时,图9和图10显示了中间样品。从图中可以观察到样品随时间逐渐发展。中间样本的常见观察是,图像变得更细粒度,并且从上一个时间步长图像中引入细节。补充材料中也可以找到总时间步长为5的模型的中间样品。这个行为有些类似于[1],正如人们所期望的那样(尽管填充颜色细节表明该过程比简单的粗略到一代更复杂)。请注意,在我们的情况下,这种行为并不执行,因为我们在每个时间步长都使用相同的架构。接下来,我们测试了使用经5级步骤训练的GRAN5生成7和9步样品。与GRAN3&GRAN5相比,这些样品更亮(见图34和35)。但样品的质量或多或少在视觉上相似。当我们用GAM进行评估时,胜利者是GRAN7,如下所示:
问:当我们对每个步骤使用不同的噪音时会发生什么?
我们对噪声矢量z〜p(Z)采样,并对每个时间步长使用相同的噪声。这是因为z作为[2]中的参考帧,如图2所示。另一方面,样本在DRAW中的作用是在每个步骤z1注入噪声; z2; •••zT; 〜p(Z),由变分自动编码框架规定。我们还在开始时对两个采样z进行了一次实验,而且在每个时间步长中都对采样zi进行了实验。这里我们描述这两种方法的优点和缺点。在图11和图12中示出了通过在每个时间步长处注入不同噪声而产生的cifar10和LSUN的样品。注意,图5和图6是使用相同噪声注入时的输出样本。样品似乎是可辨别的,并且人类也可以合理地分类。但是,我们观察到一些看起来非常相似的样本。在实验中,我们发现当使用不同的噪声时,需要更多的努力才能找到一组产生良好样品的超参数。此外,长时间的培训样本往往会崩溃。因此,我们必须仔细选择迭代次数。这表明,培训变得更加困难,并且通过在鉴别器不能分类的样本上放置大量概率来引发GRAN“欺骗”,这样就产生了看起来非常相似的样本。另一方面,当我们看到使用多个噪声产生的样本的中间时间步长时,我们发现在每个时间步长中有更明显的变化,如图29所示和图30所示.例如,图29中列车颜色的改变,在Supp中画出一个部分教会。图30。
6结论
我们提出了一种基于[2]启发的复发神经网络的对抗训练的新生成模型。我们展示了模型表现良好的条件,并且还表明它可以产生比等效的单步模型更高质量的视觉样本。我们还引入了一个新的衡量标准来定量比较对抗网络,并提出了循环生成模型比现有的最先进的生成模型产生了更好的性能。
part two
BI的目标是通过相对于输入反向传播目标函数来找到最佳输入。 令J(x)是一个可微的目标函数,它接受一个输入x。 那么,根据目标函数是否是非线性函数,我们迭代
其中t表示时间,链规则产生
其中f(•)是一个中间函数,可以由诸如神经网络的许多非线性函数组成,在目标函数J(•)中。
相对于输入使用反向传播的示例方法是[2]。 我们将仅考虑该方法的基于内容的目标,并将其与众所周知的顺序发生器DRAW [5]进行比较。 图21显示展开版本。 BI的目标函数定义为kfx-fIk2,其中fx是输入x(t)的隐藏表示,hI是卷积网络f(•)的参考内容图像的隐藏表示。 网络层显示为红色块。 此外,图21中的蓝色块(或上半部分)是相对于输入@ @ x x的反向传播梯度的展开部分。
DRAW在时间t取输入和画面之间的输入,并通过编码器和解码器传播。 在每个时间段结束时,DRAW通过在时间t更新前一个画布C(t-1)来输出更新的画布C(t),这相当于画布中的变化ΔC(t) 。
我们可以立即注意到两种架构之间的相似性。 绘制的更新程序,表示为
类似于等式18中BI的更新规则。此外,DRAW,enc(•)的编码器可以被看作是一些函数f(•),它将是BI中的卷积神经网络。 类似地,DRAW,dec(•)的解码器可以被看作BI的展开版本,对应于@@ f x(t( - t)1)。 主要区别在于BI在f(•)的隐藏表示空间中有所不同,DRAW与原始输入空间有差异。
总的来说,我们通过检查抽象来链接两个模型的每个组件,如图所示:
所有数据集被归一化,使得每个像素值的范围在[0,1]之间。 对于我们所有的结果,我们使用ADAM优化了模型[10]。 批量大小设置为100,并且从基于验证集选择的离散范围中选择学习速率。 重要的是,我们使用不同的学习率来区分网络和生成网络。 在整个实验中,我们发现具有不同的学习率对于获得成功训练的生成对抗模型是有用的。 由于我们提出的模型是顺序生成器,因此我们必须选择步骤数T来运行模型来生成。
我们比较了不同数量的时间步长,f1; 3; 5g。 注意,当T = 1时,GRAN相当于DCGAN,直到一个额外的完全连接的层。 我们将其表示为GRAN1。
在整个实验中,我们使用了类似的生成和区分网络架构,如图2和图3所示。
用于鉴别器和发生器的网络的卷积层被共享。根据数据集,卷积层数和每层隐藏单元数量有所不同。表5显示了卷积内核的数量和每个卷积层处的滤波器的大小。阵列中从左到右的数字对应于卷积神经网络的每个底层到顶层。可以将GRAN的编码器和解码器中的卷积和卷积转置权重与DCGAN和GRAN具有相同数量的参数。
样品的质量取决于几个技巧[15],其中包括:
1.去除完全连接的隐藏层,并在发生器上对鉴别器[17]和分数阶卷积(上采样)进行跨度卷积替换池层。
2.对生成和区分模型使用批量归一化[9]。
3.在除最后一层之外的生成模型的每个层中使用ReLU激活,并在辨别模型的所有层中使用LeakyReLU激活[12]。
总体而言,这些建筑技巧使得更容易生成平滑而逼真的样本。我们依靠这些技巧将其并入GRAN。