GAN, pix2pix, CycleGAN和pix2pixHD

参考视频:CS231n 16.1 对抗样本和对抗训练   GAMES Webinar 2018-64期-朱俊彦

CS231n 16 对抗样本和对抗训练

/1 什么是对抗样本?

2013年以来,我们使用深度学习、卷积网络、梯度下降来实现分类识别等任务。

对抗样本:人们用心构造出来会被分错类的样本。

例如:我们构造一个网络参数的函数(移动所有像素的最优方向,在人们看来很像是噪声)并乘以很小的系数加在原图上,我们看来两幅图没有差别,实际上影响的只是浮点数后32位,甚至影响不了前8位的最后一位,但会导致卷积网络判断错误,将熊猫认作长臂猿。而且不仅改变了分类,还提高了置信度。

 

/2 对抗样本为什么涌现出来?为什么有用?

我们很容易破坏神经网路甚至传统的分类器,或许是因为过拟合,但我们生成一个对抗样本,就会有一个系统性效应,而不是随机效应。所以更像是欠拟合而不是过拟合。

/3 对抗样本如何构成现实世界的安全威胁?(使用对抗手段来损坏基于机器学习的系统、目前的防御手段)

/4如何使用对抗样本来提高其他机器学习算法的性能?

GAN, pix2pix, CycleGAN和pix2pixHD

0.GAN

2012年使用深度神经网络 在ImageNet的分类任务上取得了巨大成功。从此深度学习的相关研究如火如荼地展开了。在传统的图形学管线中,输出图像需要经过建模、材质贴图、光照、渲染等一系列繁琐的步骤。现在大家看到了Deep Learning的潜力,那我们自然的就有个想法:有没有可能使用Deep Learning简化计算机图形学的研究呢?

一个直接的想法是把DNN“倒过来用”。之前的DNN可能是输入一幅图像,输出一个标签,那我们能不能输入“猫”这个字,输出一张猫的照片呢?

 

GAN 网络拥有两个组成部分,一个是生成模型 G,一个是判别模型 D。在训练过程中,会把生成模型生成的样本和真实样本随机地传送一张(或者一个 batch)给判别模型 D。判别模型 D 的目标是尽可能正确地识别出真实样本(输出为“真”,或者 1),和尽可能正确地揪出生成的样本,也就是假样本(输出为“假”,或者 0)。而生成模型的目标则和判别模型相反,就是尽可能最小化判别模型揪出它的概率。这样 G 和 D 就组成了一个 min-max game,在训练过程中双方都不断优化自己,直到达到平衡——双方都无法变得更好,也就是假样本与真样本完全不可区分。

就是要在最大化D的能力的前提下,最小化D对G的判断能力,这是一个最小最大值问题,它的学习目标是:minGmaxD E[logD(G(z))+log(1−D(x))]。为了增强D的能力,我们分别考虑输入真的图像和假的图像的情况。上式中第一项的D(G(z))处理的是假图像G(z),这时候评分D(G(z))需要尽力降低;第二项处理的是真图像x,这时候的评分要高。

GAN的局限性

1. 没有用户控制(user control)能力

在传统的GAN里,输入一个随机噪声,就会输出一幅随机图像。但用户是有想法的,我们想输出的图像是我们想要的那种图像,和我们的输入是对应的、有关联的。

2. 低分辨率(Low resolution)和低质量(Low quality)问题

尽管生成的图片看起来很不错,但如果你放大看,就会发现细节相当模糊。

那么我们的目标就是:提高GAN的用户控制能力;提高GAN生成图片的分辨率和质量。为了达到这样的目标,总共分三步:

1.pix2pix:有条件地使用用户输入,它使用成对的数据(paired data)进行训练。

2.CycleGAN:使用不成对的数据(unpaired data)的就能训练。

3.pix2pixHD:生成高分辨率、高质量的图像。

• 判别器D:PatchGAN

• 传统的GAN中判别器对整张图片判断其真实性

• 实验发现,如果判别器对图片中的每一个片(patch)给出一个预测分类,能达到更

好的生成效果

• 文章中使用的patch大小为70 × 70

pix2pix对传统的GAN做了个小改动,它不再输入随机噪声,而是输入用户给的图片。但这也就产生了新的问题:我们怎样建立输入和输出的对应关系。为了体现这种对应关系,我们把G的输入和输出一起作为D的输入。

2.CycleGAN

pix2pix必须使用成对的数据进行训练。但很多情况下成对数据是很难获取到的,比如说,我们想把马变成斑马,现实生活中是不存在对应的真实照片的。现在我们就用Cycle-constraint Adversarial Network也就是CycleGAN解决这个问题。这种网络不需要成对的数据,只需要输入数据的一个集合和输出数据的一个集合就可以了。但是,直接使用不成对的数据是不奏效的。网络会直接忽略输入,随机产生输出!所以,我们还得对网络增加限制才行。

那怎么加限制呢?例如如果我们把马变成斑马,然后再变回马,那么最后的马和开始输入的马应该是一样的。

除了之前提到的把马变成斑马的网络G,我们还需要一个把斑马变回马的网络F。那么,一匹马x用G变成斑马s=G(x),然后再用F把它变回马F(s),得到的马和一开始的马应该是一样的,也就是x=F(G(x))。

反过来,斑马变马再变回斑马也要满足要求,注意这一步最好不要省略。虽然理论上只用一个条件是可以的,但是现实实现中,有很多因素,比如计算的准备度、优化的问题,应用中都是把所有约束都加上。

我们同时优化G和F,最后就能拿到一个想要的网络G。CycleGAN成功的原因在于它分离了风格(Style)和内容(content)。人工设计这种分离的算法是很难的,但有了神经网络,我们很容易让它学习者去自动保持内容而改变风格。

不过CycleGAN只能输出256p/512p的低分辨率图像,且学习容易过拟合。

3.pix2pixHD

分辨率和图像质量。假设我们输入一张高分辨率的草图,使用pix2pix,结果很差,因为网络产生高维数据输出很难。

pix2pixHD采取了金字塔式的方法:

1.先输出低分辨率的图片。

2.将之前输出的低分辨率图片作为另一个网络的输入,然后生成分辨率更高的图片。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。数据集是建筑物数据集,文件包含训练集和测试集,主要数据集是建筑物数据集,文件包含训练集和测试集,主要用于图像翻译的模型训练,适合新手朋友们用于图像翻译的模型训练,适合新手朋友们上手实操。供大家免费下载。
### 回答1: CycleGANPix2Pix 是两种基于深度学习的图像生成模型。其中,CycleGAN 通过两个互相独立的生成器和判别器之间的对抗训练来实现图像的风格转换,可以将不同域的图像进行转换并生成自然逼真的图像;而 Pix2Pix 是一种条件 GAN,将输入图像与目标输出图像同时输入到网络中进行训练,以生成具有语义相似的输出图像,常用于图像转化任务,如从黑白图片生成彩色图像等。 ### 回答2: CycleGANPix2pix都是深度学习中的图像转换模型。它们的目的都是从一个域转换到另一个域,但它们在转换过程和应用方面有很大的不同。 1. 转换方式不同 Pix2pix模型使用条件GAN(Conditional GAN)来从一个图像转换到另一个图像。具体来说,它将输入图像和输出图像作为条件,通过联合训练生成器和判别器,学习将输入图像转换为与输出图像匹配的图像。而CycleGAN使用无条件GAN,从而避免了需要成对的训练数据的限制。它能够学习将一个图像域转换到另一个图像域,而不需要匹配的图像对。 2. 应用场景不同 Pix2pix更适合于像素到像素的转换,如黑白图像到彩色图像、街景照片到地图等。而CycleGAN更适合于风格迁移和转换,如将照片样式转换为美术风格、马到斑马的转换等。CycleGAN的应用不限于图像,还可以用于语音转换,并且将爵士音乐转换为流行音乐等。 3. 训练数据不同 Pix2pix需要配对的图像数据进行训练,这意味着对于每个输入图像,都需要有配对的输出图像。而CycleGAN不需要成对的训练数据,只需要两个不同域的图像集。 4. 转换结果不同 Pix2pix的转换结果非常精细,而且相对保真,因为它需要在像素级别上进行转换。CycleGAN的转换结果相对来说更加模糊,但更有创造力和想象力。CycleGAN的转换结果比Pix2pix更加随机和丰富,因为它利用了插补生成的图像,减少了对输入到输出之间的精准映射的要求。 综上所述,Pix2pix用于像素到像素的转换,追求转换精度。而CycleGAN更加灵活,用于域之间的转换,允许多样性和创造性的转换结果。 ### 回答3: CycleGANPix2pix都是基于生成对抗网络(GAN)的图像生成模型,但它们有着不同的应用场景和技术原理。 Pix2pix是一种条件GAN模型,可以通过将输入图像与其对应的目标图像一起输入到网络中进行训练,从而使网络通过学习输入图像与目标图像之间的映射关系,生成一个输出图像Pix2pix的训练过程需要输入图像与目标图像的一一对应关系,并且需要提供大量的训练数据才能获得较好的生成效果。该模型可以用于许多任务,例如将低分辨率图像转换为高分辨率图像、将黑白图像转换为彩色图像等应用场景。 相比之下,CycleGAN采用了无需配对训练数据的无条件GAN模型,它可以通过两个不同领域之间的任意图像进行训练,从而实现图像风格的转换。CycleGAN的训练过程中,只需要提供两个不同领域的图像网络将学习如何将一个领域的图像转换成另一个领域的图像,并学习如何将转换后的图像再转换回原来的领域。这种双向的转换使得CycleGAN可以进行双向转换,即A图像转换成B图像,B图像也可以转换成A图像。该模型可以用于许多场景,例如将马的图像转换成斑马的图像、将夏天的图像转换成冬天的图像等。 综上所述,虽然CycleGANPix2pix都是基于GAN模型的图像生成模型,但其应用场景和技术原理存在显著差异。Pix2pix适用于有配对图像数据的场景,如图像语义分割、图像分辨率等;而CycleGAN适用于无配对图像数据的场景,如图像风格迁移等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值