对抗神经网络其实时两个网络的组合,可以理解为一个网络生成模拟数据,另一个网络判断生成的数据是真实的还是模拟的。生成模拟数据的网络要不断优化自己让判别的网络判断不出来,判别的网络也要优化自己让自己判断得更加准确。

一、GAN的理论知识

GAN有generator和discriminator两部分构成

  • generator:主要是从训练数据中产生相同分布的samples,对于输入x,类别标签y,在生成式模型中估计器联合概率分布。
  • discriminator:判断输入是真实数据还是generator生成的数据,即估计样本属于某类的条件概率分布。采用传统的监督学习方式。

二者结合后,经过大量次数的迭代训练会使generator尽可能模拟出以假乱真的样本,而discriminator会更精确的鉴别真伪数据的能力,最终真个GAN会达到所谓的纳什均衡,即discriminator对于generator的数据鉴别结果为正确率和错误率各占50%

1.GAN的训练方法

根据GAN的结构不同,会有不同的对应训练方法。有的会在一个优化步骤中对两个网络优化,有的会对两个网络采取不同的优化步骤。

二、DCGAN——基于深度卷积的GAN

DCGAN即使用卷积网络的对抗网络,其原理和GAN一样,只是把CNN卷积技术用于GAN模式的网络中,G网络生成数据是,使用反卷积的重构技术来重构原始图片。D网络采用卷积技术来识别图片特征。
同时,DCGAN中的卷积神经网络也做了一些结构的改变,以提高样本的质量和收敛速度:

  • G网络中取消了所有的池化层,使用转置卷积并且步长大于等于2进行上采样
  • D网络中也加入stride的卷积代替pooling
  • 在D网络和G网络中均使用批量归一,而在最后一层通常不会使用batch normalization,这是为了保证模型能够学习到数据的正确均值和方差。
  • 去掉FC层,使网络变成全卷积网络
  • G网中使用ReLU作为激活函数,最后一层使用Tanh作为激活函数
  • D网络中使用LeakyReLU作为激活函数
    DCGAN中换成了两个卷积网,可以更好的学习到输入图像层次化的表示,尤其在生成器部分会有更好的莫您效果,采用Adam优化算法。

三、InfoGAN和ACGAN:指定类别生成模拟样本的GAN

1.InfoGAN:带有隐含信息的GAN

InfoGAN是GAN模型的一种改进,是一种能够学习样本中的关键维度信息的GAN,即对生成样本的噪声进行细化。相比于对抗自编码,InfoGAN的思路正好相反,InfoGAN是先固定标准高斯分布作为网络输入,再慢慢调整网络输出去调整网络输出去匹配复杂样本分布。
InfoGAN生成器是从标准高斯分布中随机采样作为输入,生产恒模拟样本,解码器是将生成器输出的模拟样本还原会成生成器输入的随机中的一部分,判别器将样本作为输入区分真假。
InfoGAN的理论思想是将输入的随机标准高斯分布当做噪声,并将噪声分为两类,第一类是不可压缩的噪音Z,第二类是可解释性的信息C。在一个样本中,决定其本身的只有少量重要的维度,大多数的维度是可有忽略的。这里的解码器也可以叫做重构器,重构一部分输入的特征确定与样本信息相关的维度。

2.AC-GAN:带有辅助分裂信息的GAN

ACG-GAN,即在判别器中再输出相应的分类概率,然后增加输出的分类与真实分类的损失计算,使生成的模拟数据与其所属的class一一对应。

3.实例88:构建InfoGAN生成MNIST模拟数据

四、AEGAN:基于自编码器的GAN

1.AEGAN原理及用途介绍

  AEGAN的理论比变分自编码简单得多,在GAN之后加上自解码网络即可。通过GAN可以利用噪声生成模拟数据的特点,使用自解码完成特征到图像的反向映射,从而实现一个可以将数据映射到低维空间,又可以从低维还原到模拟分布数据的网络中。

  在InfoGAN上嫁接一个自编码网络,原本的自编码网络在这里叫做反向生成网络,解码器就是GAN网络里的编码器网络。AEGAN网络训练分为两步。

  • 用传统的方法训练一个GAN,图中的GAN为InfoGAN(由隐含信息和噪声信息构成)
  • 固定GAN网络,利用自编码网络来训练反向生成网络,使反向生成网络具有高维向低维映射的能力。

  AEGAN的原理先固定复杂样本分布作为网络输入,再慢慢调整网络输出去匹配标准高斯分布。对抗自编码网络的思路方向与GAN相反(GAN的思路是将低维数据确定,来匹配高维数据),对抗自编码器应该属于自编码器的变种。变分自编码,其中编码器得出均值和方差,然后比较标准高斯分布kL散度来拟合高斯分布。这里判别器就起到公式计算的功能,目的都是辅助解码器生成标准高斯分布的数据,即拉近编码器分布和标注高斯分布的距离,只不过这部分的公式用神经网络代替。大大降低了模型依赖公式的复杂度,对扩展性也有极好提升,只需要改变判别式中真实样本的输入分布,就可以得到不同分布的编码器。

2.实例99:使用AEGAN对MNIST数据集压缩特征及重建

五、WGAN-GP:更容易训练的GAN

六、LSGAN(最小乘二GAN):具有WGAN同样效果的GAN

七、GAN-cls:具有匹配感知的判别器

八、SRGAN——使用与超分辨率重建的GAN

对抗神经网络(GAN)相关推荐

  1. #教计算机学画卡通人物#生成式对抗神经网络GAN原理、Tensorflow搭建网络生成卡通人脸

    生成式对抗神经网络GAN原理.Tensorflow搭建网络生成卡通人脸 下面这张图是我教计算机学画画,计算机学会之后画出来的,具体实现在下面. ▲以下是对GAN形象化地表述 ●赵某不务正业.游手好闲, ...

  2. 赠书 | 读懂生成对抗神经网络 GAN,看这文就够了

    生成对抗神经网络(Generative Adversarial Nets,GAN)是一种深度学习的框架,它是通过一个相互对抗的过程来完成模型训练的.典型的GAN包含两个部分,一个是生成模型(Gener ...

  3. 深度学习~生成式对抗神经网络GAN

    目录 出现背景(why?) 概念 出现背景(why?) 在分类任务中,训练机器学习和深度学习模块需要大量的真实世界数据,并且在某些情况下,获取足够数量的真实数据存在局限性,或者仅仅是时间和人力资源的投 ...

  4. CVPR 2021 最佳论文!对抗神经网络GAN解决3D场景难题

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 GA ...

  5. 对抗神经网络GAN到底学到了什么

    https://www.toutiao.com/a6639218779840578061/ 2018-12-26 16:39:49 本文的背景论文是:GAN Dissection: Visualizi ...

  6. 【论文笔记】—生成对抗网络—GAN—2014-NIPS

    论文介绍 生成对抗神经网络GAN开山之作论文. 论文作者为"生成对抗网络之父"Ian Goodfellow和图灵奖得主Youshua Bengio. GAN近年来成为人工智能和深度 ...

  7. 【Pytorch神经网络理论篇】 23 对抗神经网络:概述流程 + WGAN模型 + WGAN-gp模型 + 条件GAN + WGAN-div + W散度

    1 对抗神经简介 1.1 对抗神经网络的基本组成 1.1.1 基本构成 对抗神经网络(即生成式对抗网络,GAN)一般由两个模型组成: 生成器模型(generator):用于合成与真实样本相差无几的模拟 ...

  8. 对抗生成神经网络-GAN通俗理解

    对抗生成神经网络-GAN通俗理解 概念引入 对抗生成神经网络 效果的演变 由来 简介 生成模型 判别器工作原理 损失函数--交叉熵损失函数(BCE) 拓展-DCGAN网络架构 概念引入 超分辨率重构 ...

  9. 条件生成对抗神经网络,生成对抗网络gan原理

    关于GAN生成式对抗网络中判别器的输出的问题 . ...摘要生成式对抗网络GAN(Generativeadversarialnetworks)目前已经成为人工智能学界一个热门的研究方向.GAN的基本思 ...

  10. 生成对抗网络(GAN)

    学习目标 目标 了解GAN的作用 说明GAN的训练过程 知道DCGAN的结构 应用 应用DCGAN模型实现手写数字的生成 5.1.1 GAN能做什么 GAN是非监督式学习的一种方法,在2014年被提出 ...

最新文章

  1. 高精度模板 洛谷Luogu P1932 A+B A-B A*B A/B Problem
  2. Spring Boot 整合 Netty(附源码)
  3. ASP.NET中分步骤向导组件Wizard组件的使用
  4. Freemarker基于模板文件静态化代码示例
  5. Hibernate第一次课(1)
  6. Vue+abp微信扫码登录
  7. 字体大宝库:26款新鲜出炉的高品质免费英文字体
  8. 正则判断字符串是否为数字
  9. tar解压出错tar: Child returned status 1
  10. ios并发会造成什么问题_痔疮会造成什么伤害?
  11. 问题-[Delphi]用LoadLibrary加载DLL时返回0的错误
  12. 手把手教你启动若依微服务项目
  13. Python使用库读取数据
  14. wireshark未响应
  15. 微信5.0安卓内测版下载
  16. Windows驱动开发WDM (2)- 一个简单的WDM驱动程序
  17. 22个Python绘图包,极简总结
  18. 2013-2019年百度搜索算法规则解读与应对
  19. 软件与证书之间的关系
  20. 网络安全用什么编程语言_网络安全的5种最佳编程语言

热门文章

  1. 火车头文章标题伪原创插件(文章双标题插件)
  2. 宝峰uv5r保存信道频率_宝峰UV-5R上中继台的信道存储设置方法
  3. Geodesic Distance(测地距离)
  4. 文本特征提取方法研究
  5. Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载
  6. android手机接投影仪,只需一招, 手机也能连接投影仪!
  7. 百度 李彦宏 2008年在北大毕业典礼的演讲稿
  8. my ReadBook_dianzishangwu / 2020216 / dianzishangwuwuliu
  9. 获取计算机关机时间,查询电脑开关机时间的vbs代码
  10. Illustrator CC 2019for Mac完美直装版无需破解