趋近智
为有效控制生成对抗网络的输出,我们需引入将条件信息(表示为y)并入生成过程的机制。此条件y可以代表多种事物,比如类别标签(例如“狗”、“猫”)、特定属性(例如发色、姿势)、文本描述,甚至是另一张图像。条件GAN(cGAN)的核心构思是修改生成器G和判别器D使其基于y运行,从而得到G(z,y)和D(x,y)。实现这种条件设置的常见架构方法如下。
生成器的任务是产生一个既属于目标数据分布又与所给条件y对应的样本x。潜在向量z仍提供变异的来源,而y则指导合成朝向特定的模式或特征。
最直接的方法是将条件信息y连同潜在向量z一起直接输入到生成器。
将潜在向量z与(可能已嵌入的)条件向量y拼接,作为生成器网络的输入。
更复杂的方法涉及使用条件y来调制生成器中归一化层的行为。
条件批量归一化 (CBN): 标准批量归一化在一个层内对激活进行归一化,然后应用学到的仿射变换参数:缩放(γ)和平移(β)。在CBN中,这些参数γ和β不再是全局学习的,而是由接收条件y作为输入的小型神经网络预测的。即,γ=fγ(y)和β=fβ(y)。这使得条件能够动态控制整个生成器中的特征统计量(均值和方差),从而对合成过程提供精细的控制,通常影响与y相关的风格方面。
自适应实例归一化 (AdaIN): 由StyleGAN推广,AdaIN在思路上与CBN相似,但作用于实例归一化。它将内容特征(来自z)的均值和标准差对齐,以匹配从风格输入(可通过映射网络受y影响)派生的均值和标准差。这有效地在合成网络的多个点“注入”风格或条件y。
这些调制技术相比简单的拼接,通常能带来更好的解缠和控制,特别是对于复杂、高分辨率的生成任务。
判别器在cGAN中的作用是双重的:判断输入样本x是真实还是虚假,并验证x是否与给定条件y匹配。若没有第二部分,生成器可能会学着忽略y,从而产生真实但无关的样本。
与生成器类似,告知判别器条件的最直接方式是通过拼接。
在最终判别前,分别处理输入x和条件y,然后拼接它们的表示。
一种更有效且广泛采用的技术,特别是对于高维输入和大量类别,是投影判别器。它不是简单拼接,而是显式地将输入x与条件y的匹配整合到判别器的输出对数中。
该架构工作方式如下:
此处,Wϕ(x)捕获无条件真实/虚假分数,而ϕ(x)Tvy显式奖励判别器识别出其特征ϕ(x)与正确条件y的嵌入vy良好对齐的图像。这种架构强烈鼓励生成器产生不仅真实而且准确反映给定条件y的样本。
投影判别器的架构,将无条件分数与条件投影项组合。
AC-GAN虽有不同,但也存在相似之处。在AC-GAN中,判别器同时执行两个任务:它预测输入x是真实还是虚假,并预测与x相关的类别标签y。其损失函数既包含标准对抗损失,也包含辅助分类损失(例如交叉熵)。这迫使生成器产生不仅真实而且能被判别器根据预期条件y正确分类的样本。该架构的修改在于为判别器添加一个单独的输出头,用于类别预测任务。
选择合适的条件设置架构取决于条件y的性质、生成任务的复杂性以及计算限制。拼接更易于实现,而调制技术(如CBN)和投影判别器通常为复杂的条件生成任务提供卓越的性能和控制。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造