Precise recovery of latent vectors from generative adversarial networks 翻译

Precise recovery of latent vectors from generative adversarial networks 翻译

摘要:

生成对抗网络(GAN)将潜在向量转换为视觉上合理的图像。 通常认为原始的GAN的构想没有提供开箱即用的方法来反向映射,将图像投射回潜在空间。 我们介绍一种简单的基于梯度的技术,称为随机剪切。 在实验中,对于由GAN生成的图像,我们在100%精确地恢复它们的潜在向量预图像。 另外的实验证明该方法对噪声具有鲁棒性。 最后,我们表明,即使是看不见的图像,我们的方法似乎恢复了独特的编码。

1 引言

深度卷积神经网络(CNN)现在是机器学习从业者的标准工具。 目前,它们在包括图像分类和目标检测在内的识别学习问题上优于所有其他计算机视觉技术。 生成对抗网络(GAN)(Goodfellow,2014; Radford等,2015)使确定的深度神经网络适应生成建模的任务。

GAN由生成器和鉴别器组成。 生成器将样本从低维潜在空间映射到图像空间。 鉴别器试图区分由生成器产生的图像和真实图像。 在训练期间,生成器试图愚弄鉴别器。 经过训练,研究人员通常会丢弃鉴别器。 然后可以通过从潜在空间中抽取样本并将它们传递通过生成器来生成图像。

虽然GAN的生成能力众所周知,但如何最好地执行反向映射(从图像空间到潜在空间)仍然是一个开放的研究问题。 Donahue et al.(2016) 建议对GAN的扩展,其中第三个模型明确地学习反向映射。 Creswell&Bharath(2016)认为反转生成器很困难,注意到原则上,单个图像\phi \left ( z \right )可以映射到多个潜在向量z。 他们提出了一种基于梯度的方法来恢复潜在的向量,并评估图像空间中重建误差的过程。

我们通过在潜在表示的组成上执行梯度下降来重建潜在向量,并引入称为随机剪切的新技术。 据我们所知,这是DCGANS可以反转为任意精度的第一个经验证明。 此外,我们证明这些重建对增加的噪声是稳健的。 在向图像添加少量高斯噪声之后,我们仍然恢复潜在向量z而几乎没有保真度损失。

在这项研究中,我们还寻求有关神经网络损失表面优化的见解。 我们寻求问题的答案:(i)优化是否会实现全局最小的0损失或陷入次优临界点? (ii)优化每次都会精确恢复相同的输入吗? 超过1000个实验,我们发现在预训练的DCGAN网络中,具有随机剪切的梯度下降将100%的真实潜在向量恢复到任意精度。

相关工作:

一些论文尝试基于梯度的方法来反演深度神经网络。 Mahendran和Vedaldi(2015)将判别CNN转换为理解隐藏的表示。 Creswell&Bharath(2016)反转了GANS的发生器,但没有报告在潜在空间中找到忠实的重建。 我们注意到,找到非凸映射的前图像的任务在计算机视觉中具有至少可以追溯到Bakır等人的历史。

2 基于梯度的输入重构和随即剪切

为了反转生成器学习的映射,我们应用以下想法。 对于潜在矢量z,我们产生图像\phi \left ( z \right )。 然后我们初始化一个与z相同形状的新的随机向量{z}'。 该新矢量{z}'映射到对应的图像\phi \left ( {z}' \right )。 为了对输入z进行反向工程,我们接连更新{z}'的分量,以便将表示)推得更接近原始图像\phi \left ( z \right )。 在我们的实验中,我们最小化L2范数,产生以下优化问题:

我们通过梯度下降优化{z}',执行更新,直到满足一些收敛标准。 学习速率η随时间衰减。 请注意,此优化的全局最小值为0.但是,我们不知道实现此全局最小值的解决方案是否唯一。 此外,这种优化是非凸的,因此我们知道这种优化应该精确地恢复原始矢量是没有理论原因的。 在许多情况下,我们知道原始输入来自有界域。 对于DCGANS,所有潜在向量均匀地从\left [ -1,1 \right ]^{100}超立方体采样。 为了强制执行此约束,我们应用修改后的优化

使用标准剪切,我们用最大允许值替换太大的组成,并用最小允许值替换太小的组成。 标准剪辑精确地恢复了大部分矢量z。 对于失败的情况,我们注意到重建的{z}'有一些组成停留在-1或1.因为,我们知道一个组成应该位于边界的概率接近于零。 为了防止这些重建被卡住,我们引入了一种称为随机裁剪的启发式技术。 当使用随机剪切时,我们不是将组成设置为-1或1,而是在允许的范围内随机均匀地重新分配剪切的组成。 虽然这不能防止内部局部最小值,但如果唯一的局部最小值包含卡在边界处的组件成,则会有所帮助。

3 实验

我们现在总结一下我们的实验结果。 如Radford等人(2015年)所述,所有实验均使用DCGAN进行。 并由Amos(2016)在Tensorflow中重新实施。 首先,我们可视化重建过程,显示初始化、100次迭代和20k次迭代后的\phi \left ( {z}' \right )(图1)。 重建({z}')产生一张无法从原始图像区分的图像。

接下来,我们考虑100k更新后重建的保真度。 在表1中,我们表明即使使用保守阈值来确定重建成功,随机阈值也可以恢复100%的潜在向量。 我们使用1000个示例评估这些数字。

然后我们考虑这些重建对噪声的鲁棒性。 我们应用高斯白噪声η,试图从重建z。 我们的实验表明,即使对于大量噪声,z空间中的重建误差也很低,并且似乎与增加的噪声成比例增长(图2)。

最后,我们询问对于看不见的图像,恢复的矢量是否始终相同。 为了确定恢复的矢量的一致性,我们为同一图像恢复1000个矢量并绘制重建之间的平均成对距离。

4 结论

我们证明了GAN发生器在实践中可以反向到任意精度。 这些反向对噪声很鲁棒,即使对于看不见的图像,反转也是独一无二的。 随机剪切比标准剪切更准确,更稳健。 我们怀疑随机剪切还应该从判别CNN重建中提供更好和更稳健的图像重建,将这些实验留给未来的工作。

猜你喜欢

转载自blog.csdn.net/shaodongheng/article/details/83151992