热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GeneratingImageswithPerceptualSimilarityMetricsbasedonDeepNetworks

GeneratingImageswithPerceptualSimilarityMetricsbasedonDeepNetworks图像生成机器学习模型通常采用基于图像空间距离的损




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:


  1. AlexNet(Krizhevsky等人,2012)是一个有5个卷积层和2个全连接层的网络,是为图像分类而训练的。

  2. Wang & Gupta (2015)的网络与AlexNet的结构相同,但使用三倍损失在视频训练集上进行训练,这使得一个视频的帧在特征空间中很接近,而不同视频的帧则相距甚远。我们把这个网络称为VideoNet。

  3. 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


)=φ。一个直接的方法是将噪声与特征一起注入发生器,这样网络就可以随机化其输出。

这并没有产生预期的结果,因为损失函数中没有任何内容迫使生成器对每个特征向量输出多种不同的重建。一个主要的问题是,在训练数据中,我们每个特征向量只有一个图像,即每个调节向量只有一个样本。我们在论文中没有攻击这个问题,但我们认为这是一个重要的研究方向。



推荐阅读
  • hdu4539郑厂长系列故事——排兵布阵http:acm.hdu.edu.cnshowproblem.php?pid4539问题描述:给你一个n行m列的0-1矩阵,0表示不 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 对于众多创业公司而言,选择小程序或小视频的发展方向至关重要。本文将深入分析小程序和小视频的特点、优势及局限,帮助创业者做出更明智的选择。 ... [详细]
  • 命令模式是一种行为设计模式,它将请求封装成一个独立的对象,从而允许你参数化不同的请求、队列请求或者记录请求日志。本文将详细介绍命令模式的基本概念、组件及其在实际场景中的应用。 ... [详细]
  • 开发日志:高效图片压缩与上传技术解析 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 每日学术推荐:异质图神经网络在抽取式文档摘要中的应用研究
    在抽取式文档摘要任务中,学习跨句子关系是至关重要的一步。本文探讨了利用异质图神经网络来捕捉句子间复杂关系的有效方法。通过构建包含不同类型节点和边的图结构,模型能够更准确地识别和提取关键信息,从而生成高质量的摘要。实验结果表明,该方法在多个基准数据集上显著优于传统方法。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 本文介绍了并查集(Union-Find算法)的基本概念及其应用。通过一个具体的例子,解释了如何使用该算法来处理涉及多个集合的问题。题目要求输入两个整数 n 和 m,分别表示总人数和操作次数。算法通过高效的合并与查找操作,能够快速确定各个元素所属的集合,适用于大规模数据的动态管理。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • Python爬虫数据导出至CSV及图片存储技术详解
    Python爬虫数据导出至CSV及图片存储技术详解 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
author-avatar
Emily___Emily_622
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有