精华内容
下载资源
问答
  • 对抗生成网络

    2019-12-19 15:18:38
  • 深度卷积对抗生成网络(DCGAN)

    万次阅读 多人点赞 2016-12-25 20:31:35
    卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起。

    本文是参考文献[1]的论文笔记。

    卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起。

    在非CNN条件下,LAPGAN在图像分辨率提升领域也取得了好的效果。

    与其将本文看成是CNN的扩展,不如将其看成GAN的扩展到CNN领域。而GAN的基本算法,可以参考对抗神经网络

    GAN无需特定的cost function的优势和学习过程可以学习到很好的特征表示,但是GAN训练起来非常不稳定,经常会使得生成器产生没有意义的输出。而论文的贡献就在于:

    • 为CNN的网络拓扑结构设置了一系列的限制来使得它可以稳定的训练。
    • 使用得到的特征表示来进行图像分类,得到比较好的效果来验证生成的图像特征表示的表达能力
    • 对GAN学习到的filter进行了定性的分析。
    • 展示了生成的特征表示的向量计算特性。

    模型结构

    模型结构上需要做如下几点变化:

    • 将pooling层convolutions替代,其中,在discriminator上用strided convolutions替代,在generator上用fractional-strided convolutions替代。
    • 在generator和discriminator上都使用batchnorm。
      • 解决初始化差的问题
      • 帮助梯度传播到每一层
      • 防止generator把所有的样本都收敛到同一个点。
      • 直接将BN应用到所有层会导致样本震荡和模型不稳定,通过在generator输出层和discriminator输入层不采用BN可以防止这种现象。
    • 移除全连接层
      • global pooling增加了模型的稳定性,但伤害了收敛速度。
    • 在generator的除了输出层外的所有层使用ReLU,输出层采用tanh。
    • 在discriminator的所有层上使用LeakyReLU。

    DCGAN的generator网络结构:

    在这里插入图片描述

    其中,这里的conv层是four fractionally-strided convolution,在其他的paper中也可能被称为是deconvolution.

    训练细节

    • 预处理环节,将图像scale到tanh的[-1, 1]。
    • mini-batch训练,batch size是128.
    • 所有的参数初始化由(0, 0.02)的正态分布中随即得到
    • LeakyReLU的斜率是0.2.
    • 虽然之前的GAN使用momentum来加速训练,DCGAN使用调好超参的Adam optimizer。
    • learning rate=0.0002
    • 将momentum参数beta从0.9降为0.5来防止震荡和不稳定。

    LSUN效果图

    经过一次循环的训练(online learning)和收敛后得模型得到的效果分别如下:

    在这里插入图片描述
    在这里插入图片描述

    这表明了DCGAN不是通过记忆训练数据来生成/过拟合高质量的图片。

    DCGAN capabilities验证

    为了验证DCGAN的特征表示的有效性,将特征表示输入到L2-SVM中,并将分类结果与其他的无监督学习算法进行对比。

    为了做到这一点,使用在ImageNet-1K上训练得到的generator,使用所有层的所有CNN特征作为输入,将每一层的CNN特征使用max-pooling的方式降到4×4,然后展开,形成一个28672维的向量,输入到L2-SVM中。

    Mnist数据集上的效果对比:

    在这里插入图片描述

    SVNH数据集上的对比:

    在这里插入图片描述

    漫游隐空间

    通过慢慢的调整初始向量来探索隐空间是如何影响最终图片的生成的。这样,既可以探索图片特征是如何折叠到隐空间的,又可以判断这些图片是由于真正学习到了语义特征还是只是记住了图片(如果有sharp的变化)。

    在这里插入图片描述
    在这里插入图片描述

    由上图,可以看到一些逐渐的变化,比如第六行中,逐渐有了一个窗户。第四行中,电视逐渐消失。

    Discriminator Filter

    通过分析filter,我们可以看到,在对房屋特征的学习中,GAN确实学习到了床、窗口等特征。

    在这里插入图片描述

    左侧是随机filter,右侧是学习到的filter,可见,右侧的filter还是有意义的。

    Semantic Mask

    在隐空间上,假设知道哪几个变量控制着某个物体,那么僵这几个变量挡住是不是就可以将生成图片中的某个物体消失?

    论文中的实验是这样的:首先,生成150张图片,包括有窗户的和没有窗户的,然后使用一个逻辑斯底回归函数来进行分类,对于权重不为0的特征,认为它和窗户有关。将其挡住,得到新的生成图片。

    在这里插入图片描述

    Vector Arithmetic

    类似于word2vec,图像是不是也有类似的特点,可以在隐空间里进行加减法来得到新的图像?

    实验表明,使用单张图片的表示并不稳定,使用三张图片会比较稳定。

    在这里插入图片描述
    在这里插入图片描述

    可以看到,单张图片并不稳定,而三张图片则可以学到表情和墨镜等特征。

    更甚者,可以学到一个稳定的向量,来进行某种变换,比如,方位变换。

    在这里插入图片描述

    总结

    这篇paper的主要贡献看似简单,但其实工作量很大,充分展现出作者在调参大法上的卓越功力。

    但我觉得,更大的贡献在于作者对于效果的研究方式,生成模型很难来区分好与坏,而本paper通过探索隐空间,分析网络,比较特征表现能力等一系列手段,证明了DCGAN算法确实是一个强大的算法。

    Reference

    [1]. Unsupervised Representations Learning With Deep Convolutional Generative Adversarial Networks

    更多内容请关注微信公众号【雨石记】。

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpbnpoYW5neWFueGlhbmc=,size_16,color_FFFFFF,t_70#pic_center
    展开全文
  • 对抗样本和对抗生成网络demo,包括一个简单的tensorflow编写的gan网络
  • 对抗生成网络GAN

    2018-11-01 06:52:55
    对抗生成网络GAN:GAN、DCGAN、Pic2Pix、cycleGAN、starGAN、Text2Img
  • 对抗生成网络生成卡通人脸demo包括源代码和相关数据下载文件
  • 深度学习项目实战-对抗生成网络

    千人学习 2017-02-20 23:58:03
    进入学习群,获取唐宇迪老师...后项目实战对抗生成网络的升级版DCGAN,大家都可以基于DCGAN生成出来任何你喜欢的数据。 课程代码基于Tensorflow框架,案例与项目课时会通过debug的形式详解代码中每行的用法。
  • 对抗生成网络原理

    2019-11-09 10:43:37
    对抗生成网络模型如下图: 1.分为生成网络G和对抗网络D,对抗网络G是用于生成数据,对抗网络是用语判断真假数据,即判断数据是真实的还是生成的; 2.z是随机生成的隐藏向量,通过生成网络G后得到生成数据G(z); ...

    对抗生成网络模型如下图:

    1.分为生成网络G和对抗网络D,对抗网络G是用于生成数据,对抗网络是用语判断真假数据,即判断数据是真实的还是生成的;

    2.z是随机生成的隐藏向量,通过生成网络G后得到生成数据G(z);

    3.x是原始的数据;

    4.首先需要训练一个最佳的对抗网络,有了一个很好的判断真假数据的网络,我们才能确保生成出来的假数据可以以假乱真,所以要最大化对抗网络D的区分度,即达到使得D(G(z))=0和D(x)=1的境界;

    5.其次需要训练一个完美的生成网络,由于有了一个最佳的对抗网络,所以生成网络G只需要努力的生产出假数据,使假数据通过生成网络D时能够以假乱真,达到D(G(z))=1的境界。

    那么,具体怎么实现呢?先看看那伟大的数学家帮我们推导出来的公式:

    公式中,很复杂,将其分为两个模型:

    1.对抗模型

    对抗模型中,需要尽量满足D1(x)=1,所以上述式子第一个加数尽量为0;需要尽量满足D2(G(z))=0,所以第二个加数尽量也为0。上面的式子,其实只能尽量满足,不能满足的那一部分就作为损失函数,由于计算出来的是负值(log(x)中的x是0~1的时候结果为负),所以在整个式子前面加上负号即可转为正数,这个正数越小越好。

    2.生成模型

    生成模型中,需要尽量以假乱真,就是使得D2(G(z))=1,所以公式中的结果尽量等于0。不等于的部分,作为损失函数就可以了,同样加上一个负号,即可转为正数,这个正数越小越好。


     

    展开全文
  • 白话对抗生成网络

    2020-11-18 15:46:37
    白话对抗生成网络 判别模型和分类模型 常见的判别模型有线性回归,逻辑回归,支持向量机,DNN等。 常见的生成模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、 LDA、 Restricted Boltzmann Machine 判别模型...

    白话对抗生成网络

    判别模型和分类模型

    常见的判别模型有线性回归,逻辑回归,支持向量机,DNN等。 常见的生成模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、 LDA、 Restricted Boltzmann Machine 判别模型即从数据中学得一个决策函数,通过此决策函数来对物体进行判别,如将一张猫的图片输入已经训练好的逻辑回归模型中, 该模型事先从数据中学得的决策函数来对这张图片进行判别。生成模型即从数据概率分布中学习采样的一个过程,该采样是对原数据分布的一个均匀采样。

    对抗生成网络(GAN)

    1.大型鉴宝节目

    铁齿铜牙纪晓岚中和珅的扮演者网传在鉴宝节目中将两亿的古董鉴别为假,遂拿起了老罗的锤子,砸了个稀巴烂。王刚老师在这里充当的角色便是鉴宝专家。在这里以一个B站UP主的故事开场。矛盾,矛盾,有矛便有盾。与鉴宝专家对应的当然是 造假大师了。造假大师要想混口饭吃必然想练就绝活,从而以假乱真,当然鉴宝专家也不是傻子,鉴宝专家要想保住自己的饭碗必然要有一双火眼金睛(ps:不能像王刚老师那样(狗头))。于是乎,鉴宝专家(以下统称专家)在和造假大师对抗的 过程中,两种角色的专业能力都会得到提高,造假大师技术炉火纯青,专家火眼金睛,当两者达到一种平衡的状态时,即造假大师生产的工艺品在专家的鉴别过程中,专家也只有五成的把握鉴别成功,即真假的概率都为百分之五十。

    2.GAN

    在对抗生成网络中,专家对应的便是鉴别器(discriminator),造假大师对应的便是生成器(generator)。两者不可分割,在训练的过程中互相博弈,即大师要以假乱真,专家要火眼金睛,这便在GAN的损失函数中体验的淋漓尽致。在最原始的GAN中生成器的输入是随机噪声,也就是说,大师的作品随心所欲,没人知道大师下一件作品是什么,全靠大师的心情。 但是大师的作品永远都在那些价值连城的古董之间。如果在生成器中,输出的图片只有一种类型,那便可能发生了模式崩塌(mode collapse),即原始的数据概率分布中如果存在多个峰值,则生成器在训练的过程中过分对某一个峰值进行采样,使得生成器只能生成单一模式的图片,也就是说大师永远只对一种古董造假,其他的根本不会,英雄池不够深。那么如何避免模式崩塌呢?可以参考我的这篇文章:https://mp.csdn.net/console/editor/html/109487302

    3.cgan

    在这种原始的GAN中,生成器输出的内容不可控,全靠大师随机发挥。一般的趋势是市场上什么火,大师便仿造什么,即大师充分发挥自己的主管能动性,疯狂蹭热点,赚得盆满钵满,这便有了后来的CGAN。CGAN在训练过程中将先验同时引入鉴别器和生成器,来实现输出可控的目的,这样在生成图片的过程中生成器的输入便不仅仅是随机噪声了,还有人为指定的label(先验,这样便可以输出label所对应的图片了。如图1:

                                    

    4.DCGAN

    之后更新

     

    reference:

    1.白板机器学习 https://www.bilibili.com/video/BV1aE411o7qd

    展开全文
  • 进入学习群,获取唐宇迪老师社群答疑 ... 对抗生成网络在16年爆火,成了深度学习圈子里的家常话。...后项目实战对抗生成网络的升级版DCGAN,大家都可以基于DCGAN生成出来任何你喜欢的数据。 课程代...
  • 对抗生成网络实战系列主要包括三大核心内容:1.经典GAN论文解读;2.源码复现解读;3.项目实战应用。全程实战解读各大经典GAN模型构建与应用方法,通俗讲解论文中核心知识点与整体网络模型架构,从数据预处理与环境...
  • 对抗生成网络 各种GAN代码合集. ac gan, bgan, bigan, ccgan,info gan, srgan, wgan
  • 图像生成对抗生成网络ganby Thalles Silva 由Thalles Silva 暖身 (Warm up) Let’s say there’s a very cool party going on in your neighborhood that you really want to go to. But, there is a problem. To ...
  • 500种对抗生成网络

    2020-10-12 21:08:42
    这里列出了印度一个大神整理的对抗生成网络GAN公园,里面列出了几乎所有的对抗生成网络。 3D-ED-GAN -Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks 3D-GAN ...
  • 对抗生成网络(GAN)的理论基础,应用领域, 以及训练方法。
  • 基于对抗生成网络的纹理合成方法,山东大学计算机学院2016级毕设论文,查重率10%以下,可参考,引用请说明。
  • 对抗生成网络(Generative Adversarial Net)

    万次阅读 多人点赞 2016-11-13 19:59:45
    现在,生成模型还没有体会到深度学习的利好,在Discriminative模型上,成果如雨后春笋,但在生成模型上,却并非如此。原因如下: - 在最大似然估计及相关策略上,很多概率计算的模拟非常难 - 将piecewise linear ...
  • 关于GAN网络的优化 证明 非常不错...介绍了最小最大优化,并给出了证明,实验也进行了多方面的比较,是对初学者合适不过的一篇Gan系列的人工智能方面的paper,通过这篇可以抛砖引玉,让你在对抗生成网络的海洋中徜徉。
  • 李宏毅GAN对抗生成网络2018最新ppt全套,内容非常详细,结合视频一起学习,将大有裨益
  • 图像生成对抗生成网络ganHello there! This is my story of making a GAN that would generate images of cars, with PyTorch. 你好! 这是我用PyTorch制作可生成汽车图像的GAN的故事。 First of all, let me tell ...
  • 最近在学习深度学习编程,采用的深度学习框架是pytorch,看的书主要是陈云编著的《深度学习框架PyTorch入门与实践》、廖星宇编著的《深度学习入门之PyTorch》、肖志清的《神经网络与...它是用对抗生成网络的方法,...
  • 常用的对抗生成网络GAN 1、GAN的应用领域 目前,GAN的应用领域有:图像生成、文本到图像的合成、人脸老化、图像到图像的变换、视频合成、高清图像生成、补全缺损图像。 图像生成。在简单的图像数据上训练后的...
  • 对抗生成网络原理和作用

    千次阅读 2017-08-06 15:10:32
    对抗生成网络原理和作用
  • GAN(对抗生成网络)

    2019-07-22 01:35:43
    1.对抗生成网络原理 在对抗生成网络出现之前,几乎没有什么图片能解决图像生成的问题,在GAN出现之后,这个问就能够被解决了,并在很多领域得到应用。比如,图像超清化,换脸,图像修复,图像变漫画,漫画变图像,...
  •   2018-12-17 14:53:28   ...基于对抗生成网络技术的在线...在GAN系列课程中分别讲解了对抗生成网络的三种模型,从Goodfellow最初提出的原始的对抗生成网络,到改进型的DC GAN,再到解决了原始GAN存在问题,...
  • 一个非常简单的由PyTorch实现的对抗生成网络: Generative Adversarial Networks (GANs) in PyTorch 由中国网友实现的DCGAN和WGAN,代码很简洁: DCGAN & WGAN with Pytorch WGAN的官方PyTorch实现: Official Code...
  • 对抗生成网络(GAN)

    2019-12-07 22:03:45
    对抗生成网络(GAN) 摘要: 我们提出了一个通过对抗过程来估计生成模型的新框架,在该框架中,我们同时训练了两个模型:捕获数据分布的生成模型G和估计样本来自训练数据的概率的区分模型D, G的训练过程是使D犯错的...
  • 《GAN实战:对抗生成网络深度学习》随书代码 《GANs in Action: Deep learning with Generative Adversarial Networks》by Jakub Langr, Vladimir Bok (Manning 2019)
  • 如何应用TFGAN快速实践生成对抗网络?编辑|DebraAI 前线导读:生成对抗网络(Generative Adversarial Nets ,GAN)目前已广泛应用于图像生成、超分辨率图片生成、图像压缩、图像风格转换、数据增强、文本生成等场景。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,691
精华内容 2,276
关键字:

对抗生成网络