深度学习——GAN生成对抗网络

•机器学习方法
•生成方法(无监督学习),所学到的模型称为生成式模型。
•判别方法(有监督学习),所学到的模型称为判别式模型。

生成方法通过观测数据学习样本与标签的联合概率分布P(X, Y), 训练好的模型,即生成式模型,能够生成符合样本分布的新数据。
在没 有目标类标签信息的情况下捕捉观测到或可见数据的高阶相关性。
判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X) 作为预测的模型,即判别模型。
判别方法关心的是对给定的输入X,应该预测什么样的输出Y。

有监督学习经常比无监督学习获得更好的模型。 •但是有监督学习需要大量的标注数据

支持无监督学习的生成式模型遇到两大困难:
1.需要大量的先验知识去对真实世界进行建模
2.用来拟合模型的计算量往 往非常庞大

GAN

在这里插入图片描述
Gan的论文集•https://github.com/hindupuravinash/the-gan-zoo
Gan Paper: https://arxiv.org/abs/1701.00160
•Video: https://channel9.msdn.com/Events/Neural-InformationProcessing-Systems-Conference/Neural-Information-ProcessingSystems-Conference-NIPS-2016/Generative-Adversarial-Networks

•由两个互为敌手的模型组成:
•生成模型(假币制造者团队)
•判别模型(警察团队)
•竞争使得两个团队不断改进他们 的方法直到无法区分假币与真币

生成模型:捕捉样本数据的分布,用服从某一分布(均匀分布、高斯分布)的噪声生成一个类似真实训练数据的样本,追求的效果是越像真实的数据越好。

生成模型相当于一个映射函数,当数据集是图片的时候,那么我们输入的随机噪声相当于低维的数据,经过生成模型G的映射之后就编程一张图片。

判别模型二分类器,估计一个样本来自训练数据的概率,如果来自真实样本,则输出大概率;否则小概率。

目标函数:判别模型希望目标函数最大化即判别模型判断真实本为真,判断生成样本为假的概率最大化。尽量最大化自己的判别准确率。

相反,生成模型希望目标函数最小化

在这里插入图片描述
也相当于损失函数的形式:
在这里插入图片描述
Pdata是真实数据的分布;Pz是噪声的分布;G(z)是生成模型(多层感知器);D(x)表示x来自真实数据而非生成数据的概率。

采用零和博弈时,由于实际操作中,收敛很慢,改进为目标函数只关注后半部分。
在这里插入图片描述
改进,由于1-的原因,由波形可以看出,刚开始收敛很慢,去掉1之后,收敛就很快了
在这里插入图片描述在这里插入图片描述

训练的时候是固定一方,更新另外一方的网络权重。交替得到,双方极力优化自己网络,形成竞争对抗,最终达到动态平衡–纳什均衡
生成样本则无限接近于训练数据的分布,判别模型判别不出来真实的数据和生成数据了,准确率为50%。

优势:
1.任何一个可微分函数可以参数化D和G
2.支持无监督方法实现数据生成,减少了数据标注工作
3.G的参数更新不是来自数据样本本身,而是来自判别模型D的一个反传梯度。

不足:
无需预先建模,数据生成的自由度太大
得到的是概率分布,没有表达式,可解释性差
D和G训练无法同步,训练难度大,会产生梯度消失问题。

GAN的优化和改进:
•CGAN:Conditional Generative Adversarial Nets
•InfoGAN:Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets
•Improved Techniques for Training GANs
•GP-GAN: Towards Realistic High-Resolution Image Blending
•Pix2Pix: Image-to-Image Translation with Conditional Adversarial Networks

InfoGan
InfoGAN模型在z之外, 又增加了一个隐含输入 c(latent code),然后通 过约束c与生成数据之间 的关系,使得c里面可以 包含某些语义特征 (semantic feature)。
•比如MNIST实验的c就可 以由一个取值范围为0-9 的离散随机变量(用于 表示数字)和两个连续 的随机变量(分别用于 表示倾斜度和粗细度) 构成。

迭代式生成优化

LAPGAN:Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
•Generative Adversarial Text to Image Synthesis
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Network

LAPGAN

GAN和CGAN只能生成1616, 2828, 3232 这种 低像素小尺寸的图片。
LPGAN首次实现64
64 的图像生成。这样样每一步生 成的时候,可以基于上一步的结果,而且还只需要“填充”和 “补全”新图片所需要的那些信息
从右到左:逐步生成
在这里插入图片描述

STACKGAN

解决从文本到图像生成分辨率不高的问题,采用coarse-to-fine的思路,构建两个GAN
第一个GAN是用于根据文本描述生成一张低分辨率的图像
第二个GAN将低分辨率图像和文本作为输入,修正之前生成的图像并添加细节纹理,生成高分辨率图像。

在这里插入图片描述

结构优化:

DCGAN
所有的pooling层使用步幅卷积(判别网络)和微步幅卷积(生成网络)进行 替换。
对更深的架构移除全连接隐藏层。
在生成网络三维输出层使用Tanh激活函数,其他层使用ReLU激活函 数,判别网络的所有层上使用LeakyReLU激活函数
在这里插入图片描述
GAN主要应用:
图像生成、修复、迁移、预测、合成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值