Generating Images with Perceptual Similarity Metrics based on Deep Networks
图像生成机器学习模型通常采用基于图像空间距离的损失函数进行训练。这通常会导致过度平滑的结果。我们提出了一类损失函数,我们称之为深度感知相似度量(DeePSiM),来缓解这个问题。我们不需要计算图像空间中的距离,而是计算由深神经网络提取的图像特征之间的距离。
该度量更好地反映了图像的感知相似性,从而得到更好的结果。我们展示了三个应用:自动编码器训练、变分自动编码器的改进和深卷积网络的反演。在所有情况下,生成的图像看起来都很清晰,与自然图像相似。
1. Introduction
通常使用的图像之间的欧几里得距离的平方往往产生模糊的结果,见图1b。当预测中存在固有的不确定性时,情况更是如此。例如,假设我们的目标是通过图像的特征表示来重建图像。所有细节的精确位置可能不会被保留在特征中。图像空间的损失会导致所有可能的细节位置的平均化,因此重建看起来很模糊。
然而,所有细节的精确位置对于图像的感知相似性并不重要。但这些细节的分布起着关键作用。我们的主要见解是,通过在适当的特征空间中测量距离,可以实现对t invariance to irrelevant transformations and sensitivity to local image statistics。实际上,卷积网络提供了一种具有理想特性的特征表示。它们对小的平滑变形是不变的(invariant to small smooth deformations),但对感知上重要的图像属性(例如锐利的边缘和纹理)是敏感的。
然而,仅在特征空间中使用距离并不能产生良好的损失函数;见图1d。由于特征表示通常是压缩的,许多图像,包括非自然图像,被映射到同一个特征向量。因此,我们必须引入自然图像prior.To 为此,我们以Goodfello等人(2014)提出的对抗性训练为基础。
最后,用我们的方法从AlexNet的高级激活中获得的重构比用现有的方法得到的重构要好得多。他们证明,即使预测的类概率也包含丰富的纹理、颜色和位置信息。
3. Model
其目的是学习一个可微分的生成器函数Gθ(-)的参数θ: R I → R W × H × C \mathbb R^I\rightarrow\mathbb R^{W\times H\times C} RI→RW×H×C根据损失函数L(Gθ(x), y)最佳地逼近输入-目标依赖关系。 典型的选择是平方欧氏(SE)损失 L 2 ( G θ ( x ) , y ) = ∣ ∣ G θ ( x ) − y ∣ ∣ 2 2 L2(G_θ(x), y) =||Gθ(x)-y||_2^2 L2(Gθ(x),y)=∣∣Gθ(x)−y∣∣22或l1 损失 L 1 ( G θ ( x ) , y ) = ∣ ∣ G θ ( x ) − y ∣ ∣ 1 L_1(Gθ(x), y) = ||Gθ(x) - y||_1 L1(Gθ(x),y)=∣∣Gθ(x)−y∣∣1。正如我们在本文中所证明的,这些损失对于某些图像生成任务来说是次优的。
我们提出了一类新的损失,我们称之为DeePSiM。这些损失超越了图像空间中的简单距离,可以捕捉到图像的复杂和感知上的重要属性。这些损失是三个项的加权和:特征损失 L f e a t \mathcal L_{feat} Lfeat、对抗性损失 L a d v L_{adv} Ladv和像素空间损失 L i m g L_{img} Limg:
它们对应于一个网络结构,其概述见图2。该架构由三个卷积网络组成:实现生成器功能的生成器G,将生成的图像与自然图像区分开来的判别器 D φ D_{\varphi} Dφ,以及从图像中计算特征的比较器C。
图2:我们模型的示意图。黑色实线表示前传。两端带箭头的虚线是损失。细虚线表示梯度的流动。
C可以是固定的,也可以是经过训练的;例如,它可以是生成器或鉴别器的一部分。
单纯的 L f e a t \mathcal L_{feat} Lfeat并不能为训练提供一个好的损失。众所周知(Mahendran & Vedaldi,2015),仅仅优化特征空间中的相似性通常会导致高频伪影的出现。这是因为对于每个自然图像来说,有许多非自然图像被映射到相同的特征向量。因此,自然图像先验是必要的,可以将生成的图像限制在自然图像的流形中。
对抗性损失。我们没有像Mahendran和Vedaldi(2015)那样手动设计先验,而是用类似于Goodfellow等人(2014)的生成对抗网络(GANs)的方法学习它。也就是说,我们引入了一个鉴别器 D φ D_{\varphi} Dφ,旨在将生成的图像与真实的图像区分开来,并与生成器Gθ同时训练。生成器被训练成“欺骗”鉴别器网络,将生成的图像分类为真实图像。
Loss in image space。对抗性训练是众所周知的不稳定和敏感的超参数。我们发现在图像空间中添加一个损失
3.1. Architectures
Generators. 在所有的网络中,我们使用泄漏的ReLU非线性,即LReLU(x) = max(x, 0) + α min(x, 0) 。我们在实验中使用了α=0.3。所有生成器都有线性输出层。
Comparators. We experimented with four comparators:
-
AlexNet(Krizhevsky等人,2012)是一个有5个卷积层和2个全连接层的网络,是为图像分类而训练的。
-
Wang & Gupta (2015)的网络与AlexNet的结构相同,但使用三倍损失在视频训练集上进行训练,这使得一个视频的帧在特征空间中很接近,而不同视频的帧则相距甚远。我们把这个网络称为VideoNet。
-
AlexNet with random weights.4. Exemplar-CNN(Dosovitskiy等人,2015a)是一个具有3个卷积层和1个全连接层的网络,在识别不同图像块的代理任务上进行训练。
Discriminator. 鉴别器的结构在所有实验中几乎相同。用于自动编码器实验的版本如表1所示。鉴别器必须保证图像的局部统计是自然的。因此,经过五个卷积层和偶尔的步幅,我们执行全球平均池。
结果由两个全连接的层处理,然后是一个双向(2-way)softmax。我们在全局平均池层和第一个全连接层之后执行50%的dropout。
这个基本架构有两个修改。首先,当处理大型ImageNet(Deng等人,2009)图像时,我们将第一层的跨度从2增加到4。 其次,当训练网络反转AlexNet时,我们另外将特征送入判别器。我们用两个全连接层处理它们,分别有1024和512个单元。然后,我们将结果与全局平均池的输出相连接。
3.2. Training details
我们修改了caffe(Jia等人,2014)框架来训练网络。对于优化,我们使用Adam(Kingma & Ba, 2015),动量β1 = 0.9,β2 = 0.999,初始学习率为0.0002。为了防止鉴别器在对抗性训练中过度拟合,如果 L d i s c r \mathcal L_{discr} Ldiscr和 L a d v L_{adv} Ladv的比率低于某个阈值(在大多数实验中为0.1),我们暂时停止更新它。我们在所有的实验中都使用了批量大小64。我们训练了500,000-1,000,000次小批量迭代。
4. Experiments
在定量比较中,我们报告归一化的欧氏误差 ∣ ∣ a − b ∣ ∣ 2 / N ||a-b||_2/N ∣∣a−b∣∣2/N。归一化系数N是测试集中所有不同样本对之间的欧氏距离的平均值。
4.1. Autoencoder
在这里,生成器的目标与它的输入重合(即y=x),生成器的任务是将输入编码到一个压缩的隐藏表示中,然后再解码回来的图像。其结构如表2所示。所有层都是卷积或上卷积的。
隐藏的表示是一个比输入图像小8倍的8通道特征图。我们在STL10(Coates等人,2011)未标记的数据集上进行训练,该数据集包含100,000张96×96像素的图像。为了防止过度拟合,我们在训练过程中通过裁剪随机的64×64的斑块来增加数据。
我们用四个损失函数进行了实验。图像空间的SE和l1,以及DeePSiM与AlexNet CONV3或Exemplar-CNN CONV3作为比较器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BhD4qYm0-1619334877998)(011.jpg)]
定性结果见图3,定量结果见表3。虽然在欧氏损失方面表现不佳,但我们的方法可以保留更多的纹理细节,从而使重建物看起来自然不模糊。有趣的是,作为比较器的AlexNet倾向于破坏精细的细节(花瓣、船帆),也许是因为它在第一层的步幅为4。
作为比较器的Exemplar-CNN并不保留确切的颜色,因为它被明确地训练为对颜色变化不敏感。我们相信,通过精心挑选或专门训练的比较器,还可以获得更好的结果。
我们强调,较低的欧氏误差并不意味着更好的重建。例如,想象一个黑白条纹的 "斑马 "图案。一个单调的灰色图像的欧氏误差将比同样的图案移位一个条纹宽度小一倍。
Classification. 基于重建的模型通常用于无监督特征学习。我们检查了我们的损失函数是否比通常的l1和SE损失导致学习更有意义的表征。为此,我们在用不同损失训练的自动编码器所提取的8通道隐性表征上训练了线性SVM。我们只是对相对性能感兴趣,因此,不与技术水平进行比较。我们在STL-10训练集的10折上进行训练,并在测试集上进行测试。
结果显示在表4中。正如预期的那样,用DeePSiM学习的特征表现明显更好,表明它们包含更多有语义的信息。这表明,除了标准的l1和SE之外,其他的损失可能对无监督学习有用。请注意,Exemplar-CNN比较器是以无监督的方式训练的。
4.3. Inverting AlexNet
对所学到的表征进行分析是一个重要的但在很大程度上尚未解决的问题。一种方法是对表征进行反转。这可以让我们了解到哪些信息在表征中被保留下来,以及它的不变性是什么。然而,反转一个 non-trivial的特征表征Φ,如一个大型卷积网络所学到的表征,是一个困难的不确定问题。
我们提出的方法非常成功地反转了AlexNet卷积网络。令人惊讶的是,关于图像的丰富信息被保留在网络的深层,甚至在预测的类别概率中。这本身就是一个有趣的结果,同时也说明了在处理非常困难的图像修复任务时,DeePSiM是一个优秀的损失函数。
Mahendran & Vedaldi(2015),以及Simonyan等人(2014)和Yosinski等人(2015),应用基于梯度的优化来寻找一个损失最小的图像 I ~ \widetilde I I 。
其中P是一个简单的自然图像先验,如总变分(TV)正则器。这种方法产生的图像大致上是自然的,具有与输入特征相似的特征,对应于 Φ R − 1 Φ^{-1}_R ΦR−1。然而,先验是有限的,所以来自AlexNet的全连接层的重建看起来不太像自然图像。
Dosovitskiy & Brox (2015)在大量的自然图像训练集上训练向上卷积网络来执行反转任务。他们使用图像空间中的SE距离作为损失函数,这导致了对 Φ L − 1 Φ^{-1}_L ΦL−1的近似。网络学会了很好地重建物体的颜色和大致位置,但产生了过度平滑的结果,因为他们平均了所有潜在的重建。
我们的方法可以被看作是结合了两者的优点。特征空间的损失有助于保留感知上重要的图像特征。对抗性训练保持了重建的真实性。请注意,与Dosovitskiy & Brox (2015)类似,与Mahendran & Vedaldi (2015)不同,我们的方法不要求被倒置的特征表示是可微的。
Technical details. 这个设置中的生成器采用AlexNet提取的特征,并从这些特征中生成一个图像,即x=Φ(I),y=I。总的来说,我们遵循Dosovitskiy & Brox (2015)来设计生成器。唯一的修改是,我们插入了更多的卷积层,使网络有更多的容量。我们从CONV5-FC8层的输出进行重建。在每一层中,我们还包括该层之后的处理步骤,即池化和非线性。因此,例如CONV5意味着汇集的特征(pool5),FC6意味着矫正的值(relu6)。
用于反转FC6的架构与表5中所示的VAE的解码器相同。其他层的结构类似,只是在从CONV5重建时,全连接层被卷积层所取代。鉴别器与VAE使用的相同。我们在ILSVRC-2012训练集上进行训练,在ILSVRC-2012验证集上进行评估。
Ablation study. 我们测试了我们损失的所有部分是否都是必要的。图7显示了去除部分这些成分后的结果。显然,完整的模型表现最好。下面我们将给出一些直观的解释。
在图像空间中仅仅用损失进行训练,会导致所有潜在的重建的平均化,从而导致过度平滑的图像。人们可能会想象,对抗性训练可以使图像变得清晰。这确实发生了,但所产生的重建并不对应于图像中最初包含的实际物体。原因是,任何大致符合模糊预测的 "自然外观 "的图像都能使这种损失最小化。如果没有对抗性损失,预测看起来非常嘈杂。如果没有图像空间损失,该方法效果很好,但人们可以注意到图像边界上的假象,而且在这种情况下,训练的稳定性较差。
Sampling pre-images. 给定一个特征向量φ,有趣的是对多个图像 I ~ \widetilde I I 进行采样,使 Φ ( I ~ ) = φ Φ(\widetilde I)=φ Φ(I )=φ。一个直接的方法是将噪声与特征一起注入发生器,这样网络就可以随机化其输出。
这并没有产生预期的结果,因为损失函数中没有任何内容迫使生成器对每个特征向量输出多种不同的重建。一个主要的问题是,在训练数据中,我们每个特征向量只有一个图像,即每个调节向量只有一个样本。我们在论文中没有攻击这个问题,但我们认为这是一个重要的研究方向。