前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度卷积生成对抗网络DCGAN

深度卷积生成对抗网络DCGAN

作者头像
felixzhao
发布2022-05-12 14:32:39
5160
发布2022-05-12 14:32:39
举报
文章被收录于专栏:null的专栏null的专栏

1. 概述

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

2. 算法原理

2.1. DCGAN的优化

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

\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 ]

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

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

2.2. 判别器

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

LeNet-5网络结构
LeNet-5网络结构

与上述最普通的CNN网络不同的是:

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

2.3. 生成器

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

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

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

首先将100维的向量通过投影变换到4\times4\times1024的大小,后续通过4个转置卷积,最终生成64\times64的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动漫头像生成

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 概述
  • 2. 算法原理
    • 2.1. DCGAN的优化
      • 2.2. 判别器
        • 2.3. 生成器
        • 3. 总结
        • 参考文献
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档