在计算机视觉领域,卷积神经网络 (CNN) 多年来一直是无可争议的王者。只要给 CNN 足够多的猫狗标注图片,它就能以超人的准确度将它们区分开来。这就是监督学习,它为现代 AI 应用从照片标记到医学影像提供了强大驱动力。

但当你没有标签时会怎样?互联网上充斥着数十亿张图片,但只有极少部分被整齐地分类。这就是无监督学习的挑战: 模型能否从海量且杂乱的无标签数据中,学习到关于视觉世界的有意义、可复用的知识?

长期以来,无监督学习的进展一直慢于监督学习。直到 2014 年,机器学习界引入了生成对抗网络 (GAN) ——一个巧妙的框架,让两个神经网络在一场充满创意的对决中相互竞争。这个想法精彩绝伦,但实现起来却困难重重: 早期 GAN 常常极不稳定,生成的结果充满噪声且毫无意义。

2015 年,Radford、Metz 和 Chintala 发表了关键论文《使用深度卷积生成对抗网络的无监督表示学习》。作者提出了一种特定类型的 GAN——DCGAN,并总结出一套架构指南,终于让深度卷积 GAN 的训练稳定了下来。结果令人惊叹: DCGAN 生成的图像更加逼真,更令人惊讶的是,它在没有任何标签的情况下,学会了对物体、场景和纹理进行丰富的、层次化的表示。

本文,我们将解析 DCGAN 论文: 它的工作原理、突破点,以及它为我们揭示的神经网络隐藏结构的奥秘。


背景: 快速回顾 GAN

在深入 DCGAN 之前,先回顾一下生成对抗网络的基本结构:

  1. 生成器 (G): 可以把它想象成艺术家。它的任务是创造看起来逼真的假数据。它从一个随机噪声向量 (称为潜向量,\( z \)) 开始,并将其转换成一个可信的图像。
  2. 判别器 (D): 相当于侦探。它的任务是分辨训练数据集中的真实图像与生成器创造的假图像。

训练是一场零和博弈:

  • 生成器试图用逼真的假图像欺骗判别器。
  • 判别器则竭力避免上当。

两者同步学习。随着判别器能力的提升,生成器必须创造更高质量的假图像才能跟上,最终生成的图像将越来越真实。

挑战在于,GAN 在小型、简单数据集上效果不错,但扩展到可生成高分辨率图像的深度卷积架构时,常常会导致训练不稳定甚至模型崩溃。


DCGAN 的配方: 稳定训练的架构指南

DCGAN 的论文并未提出全新的算法,而是总结了一套配方——一组特定的架构原则——大幅提升了深度卷积 GAN 的训练稳定性。

1. 用步进卷积 (Strided Convolutions) 替代池化层

传统 CNN 常用池化层 (如 MaxPooling) 来缩小空间维度。DCGAN 用可学习的步进卷积取代:

  • 判别器用步进卷积替换池化层,以可学习的方式下采样。
  • 生成器使用**分数步长卷积 **(又称转置卷积) 将潜向量上采样为最终图像。

这种方式赋予网络对空间信息缩放的完全控制,能学到更丰富的表示。


DCGAN 生成器架构。它接收一个 100 维噪声向量,通过分数步长卷积上采样生成一个 64×64 RGB 图像,整个过程不使用池化层或全连接层。

图 1: 用于 LSUN 场景建模的 DCGAN 生成器。一个 100 维潜向量被映射为小的卷积表示,然后逐步上采样成 \(64 \times 64\) 图像。


2. 移除全连接隐藏层

CNN 顶部的全连接层在分类任务中很常见,但 DCGAN 的设计者发现,移除它们能提升 GAN 训练的稳定性。整个架构几乎全为卷积层——生成器和判别器直接用卷积层连接输入和输出。


3. 使用批归一化 (Batch Normalization)

批归一化 (BatchNorm) 将每层输入归一化为均值为零、方差为一。在 DCGAN 中,BatchNorm:

  • 防止**模式崩溃 **(生成器不断生成同一张图像) 。
  • 改善深度网络的梯度流动。

作者发现一个重要例外:** 不要**在生成器的输出层和判别器的输入层使用 BatchNorm,否则可能引起不稳定。


4. 生成器用 ReLU,判别器用 LeakyReLU

激活函数的选择也很关键:

  • 生成器: 隐藏层用 ReLU,输出层用 Tanh 将像素值限制在 -1 到 1。
  • 判别器: 所有层用 LeakyReLU,确保即使神经元不激活也有梯度流动。

眼见为实: DCGAN 的成果

凭借稳定架构,DCGAN 在大规模数据集上训练后得到惊艳的结果。

生成逼真的卧室

在 LSUN 卧室数据集 (300 万+ 张图片) 上训练,仅用一轮训练就生成了连贯的卧室场景:

训练一个 epoch 后生成的卧室图像。床、窗户和墙壁已经可以辨认。

图 2: 数据集训练一轮后生成的卧室。结构连贯且可辨识。

五轮训练后,质量和多样性显著提升:

训练五个 epoch 后生成的卧室图像。场景多样且更加逼真。

图 3: 五轮训练后的卧室。光照、家具、视角更一致,但仍有部分纹理重复。


无需标签也能学特征

除了高质量图像,DCGAN 证明了 GAN 可无监督学习有用的视觉特征

作者用无标签的 ImageNet-1k 训练 DCGAN,然后提取判别器的卷积特征用于分类任务。


CIFAR-10 分类结果,比较了 DCGAN 特征与其他无监督方法。

表 1: 使用 DCGAN 特征与其他无监督方法在 CIFAR-10 上的分类准确率对比。DCGAN 在无 CIFAR-10 训练的情况下达到了 82.8% 准确率。


在街景门牌号 (SVHN) 数据集上,仅用 1000 个标签样本,DCGAN 特征就达到了当时的最优表现:

SVHN 分类错误率。在 1000 个标签测试中,DCGAN 特征优于先前的方法。

表 2: 使用 1000 标签进行 SVHN 分类,DCGAN 错误率最低。


探索潜空间

**潜空间 **(\( z \)) 是生成器转化为图像的 100 维向量。作者做了一系列可视化实验来探究它。

在潜空间中行走

在两个随机 \( z \) 向量间插值,产生平滑且连贯的变化:

随着潜向量的变化,卧室图像之间实现平滑插值。

图 4: 例如电视渐变成窗户,说明生成器学会了对“卧室构成要素”的连续表示。


可视化判别器特征

通过引导反向传播 (guided backpropagation) ,作者发现判别器的滤波器会对特定物体响应:

滤波器可视化,显示床和窗户的激活,与随机滤波器比较。

图 5: 训练特征在床等物体上被激活,而随机滤波器没有语义结构。


操控生成对象

识别并禁用生成器中“窗户”相关特征图,可生成无窗户卧室:

正常卧室 (上) 与移除窗户滤波器的卧室 (下) 。

图 6: 移除“窗户”滤波器会去除窗户或替换为门、镜子等相似物。


人脸的向量运算

最标志性的成果是潜空间算术。受 word2vec 启发,作者展示了高层视觉概念可线性组合。

例如:

\[ \text{(戴眼镜的男人)} - \text{(不戴眼镜的男人)} + \text{(不戴眼镜的女人)} \approx \text{(戴眼镜的女人)} \]

人脸概念如微笑、性别和眼镜的向量运算。

图 7: 结合视觉属性的潜向量生成语义准确的图像。

他们将此方法扩展到面部姿态等属性:

通过在潜空间添加“转向”向量改变面部姿态。

图 8: 添加“转向”向量可稳定旋转生成的人脸。


结论: DCGAN 的深远影响

DCGAN 的论文不仅是稳定训练 GAN 的配方,更是生成式 AI 的奠基时刻。主要贡献包括:

  1. 稳定训练: 通过步进卷积、移除全连接层、有选择地用批归一化和精心挑选激活函数,实现了可靠的深度 GAN 训练。
  2. 无监督特征学习: DCGAN 学到了丰富且可迁移的视觉表示,性能媲美其他顶尖无监督方法。
  3. 有意义的潜空间: 生成器的潜空间捕捉了可通过简单算术操作和组合的高层概念。

这份蓝图引发了一波创新浪潮。如今的照片级人脸生成器、AI 艺术工具、合成数据管道,都能追溯到 DCGAN 的洞见。该论文证明,通过学习去创造,神经网络也在学习去理解——这让我们离释放无监督学习的全部潜力更近了一步。