热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【神经网络与深度学习】生成式对抗网络GAN研究进展(五)——DeepConvolutionalGenerativeAdversarialNerworks,DCGAN

【前言】     本文首先介绍生成式模型,然后着重梳理生成式模型(GenerativeModels)中生成对抗网络(GenerativeAdversarialNetwork)的研究

【前言】 

    本文首先介绍生成式模型,然后着重梳理生成式模型(Generative Models)中生成对抗网络(Generative Adversarial Network)的研究与发展。作者按照GAN主干论文、GAN应用性论文、GAN相关论文分类整理了45篇近两年的论文,着重梳理了主干论文之间的联系与区别,揭示生成式对抗网络的研究脉络。 
本文涉及的论文有:

Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems. 2014: 2672-2680.

Denton E L, Chintala S, Fergus R. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks[C]//Advances in neural information processing systems.

2015: 1486-1494.

Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015.


5. 深度卷积生成式对抗网络,Deep Convolutional Generative Adversarial Nerworks

5.1 DCGAN的思想

DCGAN[1]这篇论文的提出看似并没有很大创新,但其实它的开源代码现在被使用和借鉴的频率最高。这一切必须归功于这篇工作中比 LAPGAN [2]更

robust 的工程经验分享。也就是说,DCGAN,Deep Convolutional Generative Adversarial Networks,这个工作[1],指出了许多对于GAN这种不稳定学习方式重要的架构设计和针对CNN这种网络的特定经验。重点来看: 

    比如他们提出既然之前已经被提出的strided convolutional networks 可以从理论上实现和有pooling的 CNN一样的功能和效果,那么strided convolutional networks作为一个可以 fully differentiable的generator G,在GAN中会表现得更加可控和稳定。 

    又比如,本来 Facebook的LAPGAN中指出Batch Normalization(BN)被用在 GAN 中的D上会导致整个学习的collapse ,但是DCGAN中则成功将 BN 用在了 G 和 D 上。这些工程性的突破无疑是更多人选择DCGAN 这一工作作为 base 的重要原因。 

    另一方面,他们在 visualize generative models 也有许多贡献。比如他们学习了 ICLR 2016 论文《Generating

Sentences From a Continuous Space》中的 interpolate space 的方式,将生成图片中的 hidden states 都 show 了出来,可以看出图像逐渐演变的过程。 

    与此同时,他们也讲 Vector Arithmetic 运用在了图像上,得到了如下的一些结果: 


5.2 UNSUPERVISED R EPRESENTATION L EARNING WITH D EEP C ONVOLUTIONAL GENERATIVE A DVERSARIAL N ETWORKS


5.2.1 Introduction

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

    无监督地学习表征,用于有监督学习。

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

GAN是“最大似然方法”的一个有吸引力的替代方法。

对于表征学习,无需启发式损失函数是有吸引力的。

GAN有一个通病:训练过程的unstable : 经常导致生成器产出无意义的输出。目前在试图理解和可视化GANs学到什么以及多层GANs的中间层标准方面研究非常有限。 

    这篇文章主要贡献:

我们提出和评估了一系列卷积GANs在结构拓扑方面约束条件,让其更加稳定。我们将其命名为深度卷积生成式对抗网络Deep Convolutional GANs

使用训练好的判别模型用于图像分类,和其他无监督方法的结果具有可比较性。

可视化了卷积核

生成模型具有向量算是运算性能


5.2.2 RELATED WORK

Representation Learning from Unlabeled Data 
无监督表征学习是一个CV领域中相当好的研究问题 
经典的无监督表征学习方法:聚类分析;利用聚类的簇改善分类性能 
In the context of images

Do hierarchical clustering of image patches (Coates & Ng, 2012) to learn powerful image representations.

Train auto-encoders (convolutionally, stacked (Vincent et al., 2010), separating the what and where components

of the code (Zhao et al., 2015), ladder structures (Rasmus et al., 2015)) that encode an image into a compact code, and decode the code to reconstruct the image as accurately as possible.

Deep belief networks (Lee et al., 2009) have also been shown to work well in learning hierarchical representations.

Generating natural images 
分为参数生成模型 和 非参生成模型 
Non-parametric models 

    The non-parametric models often do matching from a database of existing images, often matching patches of images. 
Parametric models 

    A variational sampling approach to generating images (Kingma & Welling, 2013) 

    Another approach generates images using an iterative forward diffusion process(Sohl-Dickstein et al., 2015) 

Generative Adversarial Networks (Goodfellow et al., 2014) generated images suffering from being noisy and incomprehensible. 

    A laplacian pyramid extension to this approach (Denton et al., 2015) showed higher quality images, but they still suffered from the objects looking wobbly because of noise

introduced in chaining multiple models. 

    A recurrent network approach (Gregor et al., 2015) and a deconvolution network approach (Dosovitskiy et al., 2014) have also recently had some success with generating natural

images, not leveraged the generators for supervised tasks


5.2.3 DCGAN网络模型

历史上使用CNN扩展GANs模型不是很成功(这里的“扩展”含义是什么?原始的GAN和LAPGAN都有用卷积网络作为生成模型/判别模型?) 

    这驱使LAPGAN[2]的作者开发一种替代方法:迭代地升级低分辨率图像 

    Attempting to scale GANs using CNN architectures commonly used in the supervised literature 

    试图使用文献中提及的通常用于有监督学习的CNN架构扩展GANs时遇到了困难。最终找到了一类结构,可以在多种数据集上稳定地训练,并且产生更高分辨率的图像:深度卷积生成网络(DCGAN)。 

Core to our approach is adopting and modifying three recently demonstrated changes to CNN architectures. 

方法的核心:采用、修改了三种最近CNN结构的改进:

All convolutional net (Springenberg et al., 2014) 全卷积网络

判别模型:使用带步长的卷积(strided convolutions)取代了的空间池化(spatial pooling),容许网络学习自己的空间下采样(spatial

downsampling)。

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

在卷积特征之上消除全连接层

e.g. Global average pooling which has been utilized in state of the 

art image classification models (Mordvintsev et al.).

全局平均pooling有助于模型的稳定性,但损害收敛速度 

输入:服从均匀分布的噪声向量,100维; 

输出:并输出一个64x64x3 的RGB图像。

激活函数: 

生成模型:输出层用Tanh函数,其它层用ReLU激活函数。 

判别模型:所有层使用LeakyReLU

Batch Normalization 批标准化 

    解决因糟糕的初始化引起的训练问题,使得梯度能传播更深层次。 

    Batch Normalization证明了生成模型初始化的重要性,避免生成模型崩溃:生成的所有样本都在一个点上(样本相同),这是训练GANs经常遇到的失败现象。 

    This proved critical to get deep generators to begin learning, preventing the generator from collapsing all samples to a single point which is a common failure mode observed in GANs. 


    100维的噪声被投影到一个小空间幅度的卷积表征中。有四个微步幅卷积(在一些论文中,它们被误称为反卷积deconvolutions),然后将这些高层表征转换到64 * 64像素的RGB三通道图片。没有全连接层,没有池化层。 

原文对DCGAN的网络结构介绍的不是很清楚,Semantic Image Inpainting with Perceptual and 

Contextual Losses这篇文章使用了DCGAN进行图像修复,对网络结构和参数介绍的比较清楚(图中判别网络D的各层卷积操作的通道数应该和生成网络G一样,但是图中是不同的,怀疑是不是判别网络D的通道数(卷积核数目)画错了?)。如下图所示: 

    

上图a是生成模型G:输入(100 维噪声向量Z)到第一个层:全连接 100 —> 1024,然后再把1024的一维向量reshape成1024个通道的4*4的feature map。基本规律是生成网络的每一个下一层是反卷积层,通道数减半,图像尺寸加倍。 

    下图b判别模型D:就是一个没有pooling的全卷积网络,输出是一个标量,表示输入数据属于训练数据而非生成样本的概率。


5.3 实验

在LSUN卧室数据集上训练DCGAN,生成的图像非常逼真: 

We demonstrate that an unsupervised DCGAN trained on a large image dataset can also learn a hierarchy of features that are interesting. 

    Using guided backpropagation as proposed by (Springenberg et al., 2014), we show in Fig.5 that the features learnt by the discriminator activate on typical parts of a bedroom,

like beds and windows. 

Vector arithmetic for visual concepts 


Reference

[1] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015. 

[2] Denton E L, Chintala S, Fergus R. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks[C]//Advances in neural information processing systems. 2015: 1486-1494.



【神经网络与深度学习】生成式对抗网络GAN研究进展(五)——Deep Convolutional Generative Adversarial Nerworks,DCGAN的相关教程结束。



推荐阅读
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 如何在C#中配置组合框的背景颜色? ... [详细]
  • 深入理解 Java 控制结构的全面指南 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 在 Angular Google Maps 中实现图片嵌入信息窗口的功能,可以通过使用 `@agm/core` 库来实现。该库提供了丰富的 API 和组件,使得开发者可以轻松地在地图上的信息窗口中嵌入图片。本文将详细介绍如何配置和使用这些组件,以实现动态加载和显示图片的功能。此外,还将探讨一些常见的问题和解决方案,帮助开发者更好地集成这一功能。 ... [详细]
  • 在HTML布局中,即使将 `top: 0%` 和 `left: 0%` 设置为元素的定位属性,浏览器中仍然会出现空白填充。这个问题通常与默认的浏览器样式、盒模型或父元素的定位方式有关。为了消除这些空白,可以考虑重置浏览器的默认样式,确保父元素的定位方式正确,并检查是否有其他CSS规则影响了元素的位置。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 在Ubuntu上安装MySQL时解决缺少libaio.so.1错误及libaio在MySQL中的重要性分析
    在Ubuntu系统上安装MySQL时,遇到了缺少libaio.so.1的错误。本文详细介绍了如何解决这一问题,并深入探讨了libaio库在MySQL性能优化中的重要作用。对于初学者而言,理解这些依赖关系和配置步骤是成功安装和运行MySQL的关键。通过本文的指导,读者可以顺利解决相关问题,并更好地掌握MySQL在Linux环境下的部署与管理。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
author-avatar
mobiledu2502906817
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有