前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《白话深度学习与Tensorflow》学习笔记(6)生成式对抗网络(GAN)

《白话深度学习与Tensorflow》学习笔记(6)生成式对抗网络(GAN)

作者头像
微风、掠过
发布2018-04-10 11:42:25
8290
发布2018-04-10 11:42:25
举报

生成对抗网络(generative adversarial networks):

G:生成式模型 用于生成新的结果;D:判别式模型:将G生成的结果输入到D进行判别。

D的训练是希望尽可能正确提取x特征,增大正确判断的概率D(x)

G的训练是希望尽可能伪造出一些图片让D误以为是真的,增大1-D(G(z))。

最终目的是训练D、G达到一个平衡使得G所生成的图片(结果)能够以假乱真。

在这个网络里没有损失函数的的概念,而是为了寻求一个最大值。

GAN也可能出现不收敛的问题,D和G在做纳什均衡,只有保证评价函数是凹函数的情况才行。

CGAN:条件生成式对抗网络

添加一个y向量作为条件,在这种条件限制下(或参数的出现)会让网络学习到在不同参数的情况下,生成规则的不同。

DCGAN:深度卷积生成式对抗网络

LAPGAN拉普拉斯金字塔生成式对抗网络:生成图像的物体结构更加清晰,物体边界更显著。

而DCGAN更具有鲁棒性。stride convolutional networks作为一个可以完全可微的Generator G,这样在GAN中会表现得更加可控和稳定。

BN(batch normalization)被用在GAN中的D上会导致学习的崩溃。但是DCGAN中则成功将BN用在了G和D两个网络上。

《Generating sentences from a continous space》中的interpolate space(空间篡改)的方式,将所有隐含状态的图像都做了显示。

传统GAN的评价函数不是一个标准的凹函数,而且不可微,所以可能不能稳定的向一个方向收敛。

可导是指曲线原圆滑,而不能出现锋利的转角。ReLu函数处处可微,但x=0处不可导。

生成连续脸:《Generating sentences from a continuous space》

可以认为,情绪维度中smiling表示1,neutral表示0,在性别维度中,man表示1,woman表示-1。这样情绪维度和性别维度可以分别加减,这样的话就可以得到新的一个描述图像。

CNN在无监督学习上进展缓慢,这篇论文结合CNN在监督学习方面的成功经验,以及无监督学习的特点提出一类被称为深度卷积生成对抗网络(DCGANs)的模型,分别使用生成模型和判别模型,从物体物件到场景学习到一种层次的表征。最后使用学习到的特征实现新的任务——阐明他们可以用于生成图像的表征。

无监督学习用来学习表征,将其结果用于监督学习。通过GAN构建表征,然后重用部分生成模型、判别模型作为有监督学习的特征提取器。

GAN是最大似然方法一个有吸引力和优势的alternative。这种基于最大似然法的生成模型用GAN是非常好的方案,无需启发式损失函数。

但是GAN有一个问题就是其不稳定的特性。unstable,生成器产出无意义的输出。

而用CNN扩展GAN目前也遇到了一些困难。但是DCGAN在一定程度上可以解决这个问题。

核心方法:

(1)使用全卷积网络(all convolutional net)

在判别模型中,使用带步长的卷积(strided convolutions)取代空间池化(spatial pooling),容许网络学习到自己的空间下采样(spatial downsampling)。这种形式允许更多的前层信息传输到后层上去。

生成模型,使用微步幅卷积(fractional strided)学习自己的空间上采样(upsampling)。

(2)卷积特征之上消除全连接层

全局的平均池化有助于模型的稳定性,但降低收敛速度。

输入服从均匀分布的噪声向量,输出一个64*64*3的RGB图像。

激励函数使用:

生成模型:采用输出层采用Tanh函数,其他均用ReLu函数。

判别模型:所有层采用:Leaky ReLu函数。

下采样(下采样(subsampled)或降采样(downsampled)):缩小图片,下采样原理:对于一幅图像I尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值。

上采样(upsampling)或图像插值(interpolating):对图像进行放大,图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。

(3)批归一化(batch normalization)

其解决的问题是:初始化可能会很差,使得梯度传播时较浅。

批归一化进行了生成模型的初始化:生成的所有样本可能都在一个点上,造成生成模型崩溃,这是训练GAN经常遇到的失败现象。

使用DCGAN对图像进行修复。(进行反卷积)

100维的噪声被投影到一个小空间幅度的卷积表征中。有四个微步幅卷积,然后将这些高层表征转换到RGB三通道的图片。没有全连接层,没有池化层。

主要思想:在两个矛盾模型的对抗中使得两者都有很好的表现,从而达到一个全局最优的状态。

应用:写稿机器人和甄别自动写稿的软件等。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档