DCGAN将CNN引入GAN的架构设计
DCGAN是首次成功将CNN架构引入GAN的工作。请解释DCGAN的架构设计原则,包括去除全连接层、批量归一化、转置卷积和激活函数选择。
回答
苦行僧
DCGAN(Deep Convolutional GAN)由Radford等人于2015年提出,首次将CNN成功应用到GAN的生成器和判别器中,显著提升了训练稳定性和生成质量。
DCGAN生成器架构设计原则:
- 全卷积网络:去除所有全连接层,使用转置卷积(Deconvolution/ConvTranspose2D)进行上采样。
- 批量归一化(Batch Normalization):除输出层外,每层后都加BN,稳定训练并防止梯度消失/爆炸。
- 激活函数:隐藏层使用ReLU,输出层使用Tanh(像素值归一化到[-1,1])。
- 无池化层:使用带步长的卷积进行下采样/上采样。
典型生成器结构(100×1噪声→64×64×3图像): 噪声z → Reshape至4×4×1024 → 4层转置卷积(上采样因子×2)→ Tanh输出
- convT(1024→512, 4×4, stride=2) → BN → ReLU → 8×8×512
- convT(512→256, 4×4, stride=2) → BN → ReLU → 16×16×256
- convT(256→128, 4×4, stride=2) → BN → ReLU → 32×32×128
- convT(128→3, 4×4, stride=2) → Tanh → 64×64×3
DCGAN判别器设计原则:
- 使用步长卷积代替池化进行下采样。
- LeakyReLU激活函数(α=0.2),避免判别器梯度稀疏。
- 除输入层和输出层外均使用BN。
- 输出层使用Sigmoid得到判别概率。
重要贡献:
- 证明了CNN在GAN中的可行性,提供了一套可复现的架构设计指南。
- 提出潜在空间向量算术(如Smiling Woman - Neutral Woman + Neutral Man = Smiling Man),揭示潜在空间有语义结构。
- 成为后续GAN变体的标准基线架构。