【学习笔记】GAN实战(基础)

本文介绍构建和训练生成对抗网络(GAN)的方法。

生成对抗网络(GAN)与生成模型导论

生成对抗网络(Generative Adversarial Network,GAN)

GAN简介

机器学习算法擅长识别已有数据中的模式,并将这种能力用于分类(为样本分配正确类别)和回归(根据一系列的输入进行数值估算)等任务中。

1.1 什么是GAN

GAN是一类由两个同时训练的模型组成的机器学习技术:一个是生成器,训练其生成伪数据;另一个是鉴别器,训练其从真实数据中识别伪数据。
生成(generative)表示模型的总目标——生成新数据。GAN通过学习生成的数据取决于所选择的训练集。
对抗(adversarial)指的是构成GAN框架的两个动态博弈、竞争的模型:生成器和鉴别器。
网络(network)表示最常用于生成器和鉴别器的一类机器学习模型是神经网络。从简单到复杂有前馈神经网络、卷积神经网络,以及U-Net。

1.2 GAN是如何工作的

生成器的目标是生成能最大程度有效捕捉训练集特征的样本,以至于生成出的样本与训练数据别无二致。生成器可以看作是一个反向的对象识别模型——对象识别算法学习图像中的模式,以期望能够识别图像的内容。生成器不是去识别这些模式,而是学习从头开始去创建它们。
生成器通过从鉴别器的分类结果中接收反馈来不断学习。鉴别器的目标是判断一个特定的样本是真的(来自训练集)还是假的(由生成器生成)。
因此,每当鉴别器将假的图像错判为真实图像时,生成器就会得到奖励;相反,每当鉴别器正确地将生成的假图像识别出来,生成器就会得到反馈进行改进。

1.3 GAN的收敛问题

GAN训练就是一个零和博弈问题,即一方的收益等于另一方的损失。当一方提高一定程度时,另一方会恶化同意的程度。零和博弈都有一个纳什均衡点,任何一方无论怎么努力都不能改善他们的处境或者结果。
当满足以下条件时,GAN达到纳什均衡。
(1)生成器生成的伪样本与训练集中的真实数据别无二致。
(2)鉴别器所能做的只是随机猜测一个特定的样本是真的还是假的(即猜测一个实例为真的概率是50%)
当达到纳什均衡时,GAN就被认为是收敛的。实际中,很难达到。

1.4 为什么要学习GAN

GAN一个引人瞩目的成就是图像到图像的转换(image-to-image translation)。GAN的最大魅力来自它的创造性。

1.5 小结

(1)GAN是一种利用两个神经网络之间的动态竞争来合成真实数据样本的深度学习技术,例如能合成具有照片级真实感的虚假图像。构成一个完整的GAN的两个网络如下:
· 生成器,其目标是通过生成与训练数据集别无二致的数据来欺骗鉴别器;
· 鉴别器,其目标是正确区分来自训练数据集的真实数据和由生成器生成的伪数据。
(2)目前,GAN在许多不同的领域都要者广泛的应用,如时尚、医药和网络安全等。

自编码器生成模型入门

自编码器被认为是最接近GAN的前身。

2.1 生成模型简介

从要生成内容的描述指令开始,最后在转换系统的另一端得到图像。这就是最简单、最非正式的生成模型

2.2 自编码器

自编码器可以帮助我们对数据进行自动编码,它由两部分构成:编码器和解码器。典型应用:压缩。

2.3 什么是GAN的自编码器

自编码器与GAN的一个关键区分点是:我们用一个损失函数对整个自编码器网络进行端到端的训练,而GAN的生成器和鉴别器分别有损失函数。

2.4 自编码器的构成

(1)编码器网络
(2)潜在空间
(3)解码器网络

2.5 自编码器的使用

(1)自由的压缩图像或对象
(2)训练自编码器不需要带标签的数据
(3)生成新图像

2.6 无监督学习

无监督学习(unsupervised learning)是一种从数据本身学习而不需要关于这些数据含义的附加标签的机器学习。例如,聚类是无监督的,因为只是试图揭示数据的底层表示;异常检测时有监督的,因为需要人工标记异常情况。

2.7 代码就是生命

使用深度学习高级API——Keras。
优势免费资源社区:Towards Data Science。
曼宁出版社——Deep Learning with Python。
Keras是用于TensorFlow、Microsoft Cognitive Toolkit(CNTK)和Theano这几个深度学习框架的高级API。它易于使用并被允许更高级别的抽象,可以让用户专注于概念和思路。

2.8 为什么要使用GAN

GAN对真实数据的分布具有隐式且难以分析的理解。

2.9 小结

(1)高级自编码器由编码器、潜在空间和解码器组成。使用常用目标函数来训练自编码器,该目标函数可以测量再现数据和原始数据之间的距离。
(2)自编码器有许多应用,也可以用作生成模型。在实践中这往往不是其主要用途,因为其他方法(尤其是GAN)对生成任务更为擅长。
(3)可以使用Keras编写简单的变分自编码器生成手写数字。
(4)VAE的局限性促使我们的研究向GAN迈进。

GAN模型

3.1 GAN的基础:对抗训练

每个网络只控制了决定损失的部分参量,生成器和鉴别器只能调整自己的参数而不能互相调整对方的参数。因此GAN训练可以用一个博弈 过程来更好地描述,而非优化。该博弈的对手是GAN所包含的两个网络。

3.2 生成器和鉴别器

生成器( G G G)接收随机噪声向量 z z

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CycleGAN实战的主要目标是通过使用CycleGAN算法来进行图像转换。CycleGAN是基于unconditional GAN和conditional GAN的算法,其中包含两个生成器和两个判别器。其核心思想是通过循环一致性来实现图像的转换。 在CycleGAN中,首先使用一个生成器G将原始输入图像x转换为目标域中的图像Y^。然后,使用另一个生成器F将生成的图像Y^转换回原始域中的图像x^。这个过程的目的是尽可能让原始输入图像x和经过两次转换得到的图像x^相似,从而实现循环一致性。同样地,也可以使用另一个生成器F将目标域中的图像y转换回原始域中的图像X^,并通过两次转换尽可能使得原始输入图像y和经过两次转换得到的图像Y^相似。 CycleGAN的训练过程中,除了循环一致性损失外,还包括对生成器和判别器的对抗性损失。通过使用这些损失函数,CycleGAN可以学习到如何进行跨域图像转换,例如将马转换为斑马或将夏天的景色转换为冬天的景色。 在CycleGAN实战中,可以使用已经训练好的模型来进行图像转换。通过将原始输入图像输入到生成器G中,可以得到目标域中的转换图像Y^。同样地,也可以将目标域中的图像输入到生成器F中,得到原始域中的转换图像x^。通过这种方式,可以实现不同域之间的图像转换,从而获得有趣的结果。 总的来说,CycleGAN实战是通过使用CycleGAN算法来实现图像的跨域转换,其中包括循环一致性和对抗性损失的训练过程。通过使用已经训练好的模型,可以将图像从一个域转换为另一个域,获得有趣的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Pytorch】Cycle GAN实战(一):风格转换--真实风景图像转换为VanGogh风格](https://blog.csdn.net/qq_44031210/article/details/120113727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [(五)cycleGAN论文笔记实战](https://blog.csdn.net/qq_41845478/article/details/107553633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bosenya12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值