当前位置:   article > 正文

深度卷积生成对抗网络DCGAN_第1关:深度卷积生成对抗网络

第1关:深度卷积生成对抗网络

1. 概述

在原始的GAN[1]中,生成网络 G G G和判别网络 D D D使用的都是前馈神经网络MLP。随着深度学习技术的发展,得益于卷积神经网络CNN在图像领域的成功,在DCGAN[2]中尝试将CNN与GAN相结合,用CNN网络替换GAN的生成网络 G G G和判别网络 D D D中的MLP,同时在训练的过程中使用了一些技巧来避免模型崩溃和模型不收敛等问题。

2. 算法原理

2.1. DCGAN的优化

相比于GAN,除了将GAN中生成器和判别器中的MLP替换成CNN外,其余的基本不变,DCGAN的价值函数依然为:

m i n G    m a x D    V ( D , G ) = E x ∼ p d a t a ( x ) [ l o g    D ( x ) ] + E z ∼ p z ( z ) [ l o g    ( 1 − D ( G ( z ) ) ) ] \underset{G}{min}\; \underset{D}{max}\; V\left ( D,G \right )=\mathbb{E}_{\boldsymbol{x}\sim p_{data}\left ( \boldsymbol{x} \right )}\left [ log\; D\left ( \boldsymbol{x} \right ) \right ]+\mathbb{E}_{\boldsymbol{z}\sim p_{\boldsymbol{z}}\left ( \boldsymbol{z} \right )}\left [ log\; \left ( 1-D\left ( G\left ( \boldsymbol{z} \right ) \right ) \right ) \right ] GminDmaxV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

其中, D D D G G G为卷积神经网络CNN。DCGAN中的CNN相比于一般的CNN主要有如下的不同:

  • 使用卷积操作替换传统CNN模型中的pooling。在判别器中使用strided convolutions,在生成器中使用fractional-strided convolutions
  • 在生成器和判别器中使用batchnorm
  • 移除最后的全连接层
  • 生成器 G G G中除输出层外都使用ReLU激活函数,输出层使用Tanh激活函数
  • 判别器 D D D中都使用Leaky ReLU激活函数

2.2. 判别器

判别器网络使用的是一般的CNN网络,LeNet-5网络[5]如下图所示:

LeNet-5网络结构
与上述最普通的CNN网络不同的是:

  • 增加batchnorm
  • 移除了最后的全连接层
  • 使用Leaky ReLU激活函数

2.3. 生成器

注:DCGAN中生成器部分是卷积操作的一个反向过程,文中称为fractionally-strided convolutions,有些论文中称为deconvolutions([2]的作者认为是一种错误的叫法)。

查阅部分资料以及代码实现,通常采用转置卷积(Transposed Convolution)实现这样的一个上采样的过程,通过转置卷积可以生成指定大小的图片,具体过程如下图所示:

在这里插入图片描述
首先将 100 100 100维的向量通过投影变换到 4 × 4 × 1024 4\times4\times1024 4×4×1024的大小,后续通过 4 4 4个转置卷积,最终生成 64 × 64 64\times64 64×64的RGB图像。

3. 总结

鉴于CNN模型在图像方面的成功经验,在DCGAN中通过将GAN中的MLP替换成不同的CNN模型,并且对传统的CNN模型进行一些优化,使得生成器能够生成更好的图片。

参考文献

[1] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[J]. Advances in neural information processing systems, 2014, 27.

[2] Radford A, Metz L, Chintala S. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks[J]. Computer Science, 2015.

[3] GAN学习:GAN/DCGAN原理、公式推导及实践

[4] DCGAN原理解析

[5] http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf

[6] DCGAN原理及应用

[7] GAN网络之入门教程(四)之基于DCGAN动漫头像生成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/94367
推荐阅读
相关标签
  

闽ICP备14008679号