趋近智
直接使用标准生成对抗网络 (GAN) 生成 1024x1024 像素等高分辨率图像,会带来显著的训练难题。随着网络深度和图像尺寸的增加,梯度可能变得不稳定,导致发散或收敛缓慢。此外,生成器可能难以从一开始就同时学习粗略结构和精细细节。由 Karras 等人(NVIDIA)提出的渐进式生成对抗网络 (ProGAN) 方法,通过在训练过程中逐步提高任务复杂度,提供了一种巧妙的解决方案。
ProGAN 的主要思路是,首先使用极低分辨率图像(例如 4x4 像素)开始训练生成器 (G) 和判别器 (D),然后逐渐向两个网络添加新层,以处理更高分辨率(8x8、16x16,…,直到 1024x1024 或更高)。这种递增的方法使网络能够首先在低分辨率下学习图像分布的大尺度结构,随后将重心转向更精细的细节,随着分辨率的提高而调整。
训练从一个简单的生成器和判别器对开始,它们处理低分辨率图像(例如 4x4)。一旦这对初始网络显示出收敛和稳定的迹象,就会为 G 和 D 添加新层,以使图像分辨率翻倍(例如,从 4x4 变为 8x8)。
重要的是,这种转换并非突然。新添加的层会在一段训练迭代期内平滑地“淡入”。这是通过使用参数 (parameter) 实现的,其范围从 0 到 1。当添加新的层块(处理更高分辨率)时:
参数 逐渐从 0 增加到 1。最初(),新层没有影响,网络像在先前分辨率下一样运行。随着 的增加,新层的贡献增加,使网络能够平稳适应更高分辨率任务。一旦 ,旧的连接路径被有效地移除,网络完全以新的、更高分辨率运行。此过程会随着后续分辨率的提高而重复。
图示 ProGAN 训练阶段。最初(阶段 1),G 和 D 在低分辨率(4x4)下运行。在阶段 2,添加用于 8x8 分辨率的新层,并使用参数 淡入。在阶段 3,淡入完成后(),8x8 网络得到稳定训练。此过程会随着更高分辨率的提升而重复。
ProGAN 采用了一些额外技术,以进一步提升训练稳定性和图像质量,尤其是在更高分辨率下:
小批量标准差: 为了应对模式崩溃(即生成器只生成种类有限的样本),通常在判别器末端添加一个小批量标准差层。该层计算当前小批量中所有空间位置和样本的特征标准差。然后将此统计数据平均并复制到一个额外的特征图中,该特征图与原始特征拼接。通过向判别器提供关于批量统计的信息,如果生成器产生变化异常低的批量,判别器可以隐式地对其进行惩罚,从而鼓励样本多样性。
均衡学习率: 标准的权重 (weight)初始化方案(如 Xavier 或 He)并非总能阻止梯度在非常深的神经网络 (neural network)中爆炸或消失,尤其是在激活函数 (activation function)或架构不同时。ProGAN 采用均衡学习率,这是一种动态权重缩放形式。在运行时,在每次通过卷积层或全连接层的前向或反向传播 (backpropagation)之前,权重 会按因子 进行缩放: 这里, 是一个逐层归一化 (normalization)常数,通常根据 He 初始化器的原理计算:,其中 是层的输入连接数。这种缩放确保了输出(和梯度)的方差在各层之间大致保持不变,无论连接数或参数 (parameter)尺度如何,有效地均衡了所有权重的学习速度。
像素归一化: 应用于生成器中每个卷积层之后(激活函数之前)。此技术将每个像素 处的特征向量 (vector)归一化为单位长度: 这里, 是特征通道数, 是像素 处的原始特征向量, 是归一化向量,(例如 )可防止除以零。这种局部响应归一化与批量归一化类似,但不依赖于批量统计。它能防止生成器内部的信号幅度因生成器和判别器之间可能的竞争而失控,极大促进了训练稳定性。
渐进式增长的方法带来几项优点:
但也有一些需要考量之处:
ProGAN 在生成高分辨率、高质量图像方面迈出了重要一步。它的渐进式训练和专业归一化 (normalization)技术的核心思路影响了后续的先进模型,包括我们将接下来进行研究的 StyleGAN 系列。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•