← 返回 PaperDaily 视觉与图像

5张人脸见证:GAN引导扩散PSNR提升4.40dB

GAN快但不够稳,扩散稳但太磨叽,这俩能不能别打架、搭个伙?本文给出了一个简单又实用的答案:把冻结的WGAN-GP中间特征当“导师”,用交叉注意力喂给扩散U-Net,在CelebA人脸去噪上直接涨了4.40dB。方法不复杂,但对混合范式感兴趣的读者值得一读。

5张人脸见证:GAN引导扩散PSNR提升4.40dB

paperdaily_reaction_gif


原论文信息如下:
论文标题:
GAN-Diff: Coupling Pretrained WGAN-GP Features with Conditional Diffusion U-Nets
发表日期:
2026年08月

发表单位:
孟加拉国南北大学(North South University, Dhaka, Bangladesh)

原文链接:
https://arxiv.org/pdf/2608.22272v1.pdf


在深度生成模型的世界里,一直存在一对性格截然相反的“冤家”。GAN(生成对抗网络)是个急性子,一步前向传播就能出图,效率极高,但脾气暴躁,训练起来动不动就模式崩塌、振荡给你看。扩散模型则是个慢性子,一步一步迭代去噪,稳是稳,质量也高,但那推理速度实在让人等到花儿都谢了。一个快而不稳,一个稳而不快,这俩要是能取长补短该多好?
过去几年,学术界没少尝试撮合这对冤家。有人把判别器拿去当可学习的去噪器,有人把GAN的潜空间当作语义先验来用。但大多数方案都逃不出一个思路:用GAN的输出去替代或者干预扩散模型的某个中间结果。今天要聊的这篇GAN-Diff,来自孟加拉国南北大学,思路跟它们都不太一样——他们把预训练WGAN-GP生成器给“冻住”,把它中间层的特征图提取出来,当作一个固定不变的“导师信号”,通过交叉注意力机制去引导扩散U-Net的每一步去噪过程。换句话说,GAN不是来抢活的,而是来当“技术顾问”的。
效果怎么样?在CelebA人脸数据集上,高斯去噪任务PSNR提升了4.40dB,SSIM涨了0.167;2倍超分辨率任务PSNR提升了3.70dB,SSIM涨了0.044。这数字在图像恢复领域算是相当能打的了。不过,论文最有意思的地方还不只是涨点,而是作者们在开发过程中踩过的那些坑——他们把训练不稳定问题一个个揪出来并给出了诊断式解法,这部分读起来就像在看一份“翻车现场修复实录”,很有代入感。

引言:GAN和扩散模型,何必非要二选一

先把两个主角的性格特点捋一捋。GAN的生成器只需一次前向传播就能把随机噪声变成图像,推理效率极高,尤其适合实时交互场景。WGAN-GP这类改进方案,通过引入Wasserstein距离和梯度惩罚,在很大程度上缓解了原始GAN训练崩溃的问题,让生成质量和训练稳定性都有了保障。但即便是WGAN-GP,也依然可能面临模式崩塌的风险,而且生成图像的多样性有时候还是差点意思——毕竟它本质上是在拟合一个固定的数据分布,一旦分布比较复杂,单次前向生成就容易“偷懒”,只挑容易糊弄的样本生成。
扩散模型走的则是另一条路。它先把训练图像逐步加噪到纯高斯噪声,然后训练一个神经网络去学习逆过程,也就是从纯噪声一步步“去噪”还原出原始图像。这个迭代过程虽然慢,但每一步都有明确的概率解释,训练稳定性好,生成质量上限也很高。问题就出在“慢”上——哪怕用DDIM把采样步数从1000步压缩到50步,依然比GAN的一次前向慢得多。
那有没有可能让扩散模型“继承”GAN的结构先验能力?注意,这里说的是“结构先验”,而不是简单的输出拼接。GAN的生成器在训练过程中,会在中间层形成对图像语义结构的层次化表达,比如浅层捕捉边缘纹理,深层捕捉五官布局。这种先验信息如果能以特征图的形式提供给扩散模型,扩散模型在做去噪或超分时就不需要从头摸索图像结构,只需要在这个“导师”的指导下做细节修复就行。这正是本文的核心动机。

方法概述:一张图看懂GAN怎么给扩散模型当导师

GAN-Diff的整体流程可以分成三个阶段来理解。第一阶段是训练一个WGAN-GP生成器,这个生成器在CelebA人脸数据集上从128维高斯噪声学习生成64×64的人脸图像。训练完成后,这个生成器就被“冻住”了,权重不再更新。第二阶段,从冻结的生成器中提取中间层特征图,作为条件信号输入扩散U-Net。第三阶段就是标准的扩散模型训练和DDIM采样过程,只不过在采样过程中,U-Net的每一层都会通过交叉注意力机制“参考”这个GAN特征图。
这里有一个很关键的设计细节:GAN特征图在整个DDIM采样链中只计算一次,而不是每个采样步都重新生成。为什么要这么设计?因为DDIM的采样过程是确定性的函数映射,从初始噪声x_T一路走到x_0,每一步都是在沿着一条固定的轨迹前进。如果每一步都换一个新的GAN特征图,就相当于给同一个行者不断更换“导航地图”,路线前后矛盾,模型会无所适从。而固定特征图,相当于给整个去噪过程提供了一个稳定的语义锚点。
图3:GAN-Diff整体方法框架图
图3清晰地展示了这个流程。左边是预训练并冻结的WGAN-GP生成器,它接收一个随机潜向量z,生成过程中在某一中间层输出一个8×8×384的特征图g。这个特征图不直接作为图像使用,而是被送入右边的扩散U-Net,通过交叉注意力模块与U-Net自身特征进行融合。U-Net的输入是带噪图像x_t和时间步t的嵌入,输出是预测的噪声ε。整个过程在训练时使用标准的MSE损失,在推理时使用DDIM采样器进行确定性去噪。
图4:系统架构图
图4的架构图更细致地展示了U-Net内部的结构。可以看到,U-Net使用FiLM方式对时间步进行条件化,在瓶颈层有自己的自注意力机制,同时每个分辨率层级都插入了交叉注意力块。交叉注意力的Query来自U-Net自身的空间特征,Key和Value来自GAN特征图g。换句话说,U-Net在每一步去噪时都会问自己一个问题:“在这个位置上,GAN的导师觉得应该长什么样?”然后结合这个答案来修正自己的去噪方向。

GAN遇上扩散模型:一场图像恢复的完美联姻

在图像恢复领域,条件扩散模型已经不是新鲜概念了。SR3和Palette这类工作,直接把退化的低质量图像通过通道拼接的方式作为扩散模型的条件输入,让模型学会在给定退化图像的前提下一步步去噪。SDEdit则提出了一个更聪明的做法:从退化图像出发,先加一部分噪声到中间时间步,然后再从这个中间状态开始去噪,相当于用扩散模型给退化图像做一次“重新渲染”。本文在这条路上更进一步,把条件信号从“图像级”提升到了“特征级”——不是给扩散模型一张参考图,而是给它一组来自GAN中间层的特征图。
这种设计的好处在哪里?打个比方,如果让一个新手厨师(扩散模型)做一道菜,图像级条件相当于给他一张成品菜的照片,他只能照着样子猜做法;而特征级条件相当于给他一本详细的菜谱,上面写着“这里要加一勺糖,那里要小火慢炖”——GAN的中间特征图就是这本“菜谱”,它包含了生成一张人脸所需要的结构信息和语义线索。有了这本菜谱,扩散模型在做去噪时,就不再是盲人摸象,而是有的放矢。

冻结WGAN-GP:如何为扩散模型提供稳定先验

这一步是整个框架的基石。作者们并没有随便选一个GAN,而是在DCGAN、WGAN-GP和StyleGAN-lite之间做了对比实验,最终选择了WGAN-GP。原因很实际:DCGAN训练稳定性太差,StyleGAN-lite虽然生成质量高但架构复杂,而WGAN-GP在训练稳定性和生成质量之间取得了最佳平衡,而且它的中间特征表达足够丰富,可以作为扩散模型的特征级先验。
WGAN-GP的生成器结构并不复杂:输入是128维高斯噪声,经过5个转置卷积+批归一化+ReLU模块,从4×4分辨率逐步上采样到64×64,最后通过tanh输出三通道图像。判别器(论文里叫Critic)则是镜像结构,使用步长卷积加谱归一化,中间层使用实例归一化和LeakyReLU激活。训练时采用WGAN-GP损失函数,梯度惩罚系数λ=10,每5次Critic更新才更新一次生成器。这里有个细节值得注意:训练过程中还维护了一份EMA(指数滑动平均)参数的生成器副本。这个副本在推理时使用,能显著降低参数方差,稳定生成质量。
WGAN-GP训练完成后,生成器被完全冻结。接下来要做的事情很巧妙:从冻结的生成器中提取一个8×8×384的中间特征图,记为g。这个特征图不是输入某个特定图像得到的,而是从一个随机采样但固定的潜向量z得到的。也就是说,这个特征图更像是一个与人脸结构相关但又不特定于某一张脸的“通用结构码”。扩散U-Net在去噪时会通过交叉注意力不断地参考这个结构码。

核心设计:交叉注意力与“一次计算,全程复用”

扩散U-Net本身采用了一个标准的U-Net骨架,包含FiLM风格的时间步条件化和瓶颈自注意力。在此基础上,作者在每个分辨率层级都插入了交叉注意力模块。具体来说,U-Net的空间特征作为Query,GAN特征图g作为Key和Value,通过标准的注意力公式完成特征融合。
训练目标和常规扩散模型一致:随机采样时间步t,对干净图像x₀加噪得到x_t,然后让U-Net预测添加的噪声ε,最小化预测噪声与真实噪声之间的均方误差。

四大训练陷阱:从崩溃到稳定的诊断之旅

如果说前两节是论文的“高光时刻”,这一节就是作者的“翻车现场复盘”,也是整篇论文最有实操价值的部分。一个混合GAN和扩散的框架,想让它稳定跑起来,远不是把两个模块拼在一起那么简单。作者在开发过程中系统性地识别出了四大训练陷阱,每一个都足以让训练彻底崩溃。

陷阱一:生成器与评论家学习率失衡在早期版本中,作者尝试把评论家学习率设为生成器的4倍,结果训练直接崩了。原因在于WGAN-GP的损失曲面比较敏感,评论家更新太快会“过拟合”当前生成器的输出分布,导致它对生成样本的梯度信号变得无意义甚至饱和,生成器还没学会就被带偏了。最终退回WGAN-GP原论文推荐的对称学习率2×10⁻⁴/2×10⁻⁴,问题迎刃而解。

陷阱二:DDIM初始化方式错误去噪任务里,扩散模型的输入应该是带噪图像,但噪声加多少、从哪个时间步开始采样,都是有讲究的。作者最初直接从纯高斯噪声出发做全链路DDIM采样,结果模型完全无法把退化图像的结构信息利用起来。后来参考SDEdit的思路,先把退化图像加噪声到一个中间时间步t_start=150,再从那里开始去噪——相当于给扩散模型一个“半成品”作为起点,既保留了原图结构,又给扩散过程留足了修复空间。超分任务则直接用噪声初始化,因为双三次上采样后的低频信息已经足够丰富。

陷阱三:退化强度过大去噪任务的噪声标准差σ一开始设得太大,导致扩散模型的前向加噪过程几乎把原图信息全部冲掉了,模型学了半天等于在“无中生有”。把σ校准到0.15之后,加噪过程中保留的结构信息量恰到好处,扩散模型终于能在“导师”指导下做精细修复了。

陷阱四:EMA平滑缺失WGAN-GP训练过程中如果不做参数滑动平均,生成器最后几个epoch的参数抖动会直接污染提取出的特征图g,导致扩散模型接收到的“导师信号”忽左忽右。加上EMA(衰减系数0.9999)之后,特征图g就稳定多了,整个去噪链条的最终输出也随之稳定。

meng.jpeg
看完这四个陷阱,只能说一句:能把混合架构稳定调通的人,都是踩坑踩出来的。论文最坦诚的地方就在于,作者没有回避这些失败尝试,而是把每个坑的成因和解决方案都摊开来讲,这对后来者太有价值了。

5张人脸见证:PSNR提升4.40dB的实证

实验部分,作者选了CelebA名人脸数据集的50000张图像,中心裁剪后缩放到64×64分辨率,像素值归一化到[-1,1]范围。为了能在训练过程中稳定追踪效果,作者固定了5个样本索引(0, 2501, 8000, 15000, 31337),每次评估都拿这5张脸做前后对比。这样做的优点是能直观看到同一张脸在不同训练阶段的变化,缺点也很明显——样本量太少,统计意义有限。这一点咱们放到后面“局限”部分细说。
图1:CelebA数据集预处理流程总览
图1展示了数据预处理管道。50000张图像依次经过中心裁剪、缩放至64×64、归一化到[-1,1],并固定5个基准样本用于逐checkpoint评估。
表1:数据集统计与预处理配置
表1汇总了数据集统计信息和预处理配置。可以看到测试集就是这5张固定的脸,这个设计贯穿整个实验。
图2:数据统计信息
图2展示了数据集的统计信息,包括图像数量的分布情况。
评估指标用的是图像恢复领域最经典的两件套:PSNR(峰值信噪比,Peak Signal-to-Noise Ratio)和SSIM(结构相似性指数,Structural Similarity Index Measure)。PSNR看的是像素级误差大小,数值越高越好;SSIM则从亮度、对比度、结构三个维度衡量感知质量,取值范围0到1,越接近1越像原图。
PSNR计算公式
PSNR的定义如上式,MAX_I是图像像素最大值,MSE是均方误差。简单说,MSE越小,PSNR越高,图像越接近原始干净图。
SSIM计算公式
SSIM的计算则综合了均值、方差和协方差,对比两张图在局部窗口内的结构相似程度。
先看训练损失曲线。WGAN-GP的评论家损失从-23.99平稳上升到-4.71,生成器损失从36.65下降到18.44,全程没有明显振荡,说明学习率失衡问题确实被修好了。两个扩散U-Net的MSE损失也都单调下降:去噪网络从0.079降到0.037,超分网络从0.060降到0.014。
图5a:WGAN-GP损失曲线 图5b:扩散去噪U-Net损失曲线 图5c:超分辨率U-Net损失曲线
图5展示了三组训练损失曲线。超分任务收敛更快、损失更低,作者的解释很合理:双三次插值上采样本身已经保留了大部分低频信息,超分是个良态逆问题;而盲高斯去噪需要从噪声里凭空恢复高频细节,难度大得多。
表3:5张固定CelebA人脸的恢复结果(均值)
表3给出了核心结果。去噪任务,退化输入的PSNR均值只有22.76dB,经过GAN-Diff修复后提升到27.17dB,净涨4.40dB;SSIM从0.6755涨到0.8429,涨了0.167。超分任务,双三次插值基线是27.24dB,修复后达到30.94dB,净涨3.70dB;SSIM从0.9122涨到0.9566。值得注意的是,超分任务的绝对指标更高,因为双三次上采样本身就是一个不错的起点,不需要像去噪那样从一堆噪声里强行恢复结构。
表4:5张固定跟踪人脸的逐样本PSNR(dB)
表4列出了每个样本的逐项PSNR。5张脸的去噪PSNR全部提升,最低的S1也涨了3.2dB,最高的S5涨了5.3dB;超分任务同样全员提升,S3更是从27.9dB直接跳到33.4dB,涨了5.5dB。没有出现任何一张脸掉点的情况,这说明框架在正面脸、侧面脸、戴墨镜的遮挡脸等不同条件下都能工作。
图6:逐样本及平均PSNR(左)和SSIM(右)恢复前后对比热图
图6用热图直观展示了恢复前后的指标变化,颜色越浅代表数值越高。可以看到每个样本的浅色区域都在恢复后明显扩大。
图7:去噪和超分任务下逐样本PSNR与SSIM增益热图
图7直接展示了每个样本的增益量,两个任务下全部为正,没有负增益。
视觉结果更能说明问题。下图是去噪任务的可视化对比,第一行是干净参考图,第二行是加了σ=0.15高斯噪声的退化输入,第三行是GAN-Diff的修复结果。肉眼可见,修复后的图像不仅去掉了噪点,还保留了眼睛、头发轮廓、嘴部区域等身份特征,没有出现明显的过度平滑。
图8:5张固定跟踪人脸的去噪结果
图8是去噪任务的定性对比结果。修复后的图像在视觉上干净自然,五官结构清晰。
超分任务的结果同样惊艳。对比双三次插值基线和GAN-Diff输出,后者不仅边缘更锐利,还凭空“脑补”出了发丝、皮肤纹理等高频细节,而且没有常见的棋盘格伪影。
图9:5张固定跟踪人脸的2倍超分辨率结果
图9是超分辨率任务的定性对比。修复后的图像细节丰富程度远超双三次插值基线,人脸质感自然。
需要特别强调一点:作者的验证集只有5张图,而且没有跑LPIPS(感知相似度指标)和FID(Frechet Inception Distance)等更贴合人类感知的指标。结合PaperDaily已收录论文来看,GAN与扩散混合范式确实在多个工作中被验证有效,但本文在CelebA上的具体数值优势目前还无法与同基准文献做严格的横向对比,建议大家把4.40dB和3.70dB理解为“相对自身输入基线的提升”,而不是“全面吊打SOTA”。

局限与展望:通往更强图像恢复之路

论文的局限性其实相当明显,作者在最后也坦诚地列了出来。首先是评估规模问题:只有5张固定测试图,虽然能精确定位训练前后的变化,但完全无法统计方法在更大规模人群上的泛化表现。其次是指标问题:缺少LPIPS(Learned Perceptual Image Patch Similarity,学习感知图像块相似度)和FID(Frechet Inception Distance,弗雷歇 inception 距离)这两个与人类主观感知高度相关的指标,只用PSNR和SSIM来衡量人脸修复质量,说服力还是弱了一些。第三,去噪任务只在σ=0.15这一个噪声水平上测试,模型的噪声鲁棒性未知。第四,也是最关键的——没有做消融实验,无法确认“GAN交叉注意力引导”这个核心设计到底贡献了多少提升。如果后续能补上“去掉GAN引导”的对照组,证明特征图g的价值,论文的说服力会强很多。
未来值得探索的方向也很清晰:在更大规模的测试集上验证,引入LPIPS/FID等感知指标,测试多级噪声鲁棒性,以及最重要的——补上消融实验,把GAN引导的贡献单独拆出来量化。此外,本文的“一次性提取特征图、全程复用”的设计,还可以尝试扩展到视频恢复等需要时序一致性的任务上,毕竟视频去噪最怕的就是每帧独立处理导致闪烁,而一个固定的结构先验天然能抑制时序抖动。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:
这篇论文到底在解决什么问题?本文提出GAN-Diff混合框架,用预训练WGAN-GP的中间特征作为条件先验,通过交叉注意力引导扩散U-Net进行图像恢复。
这篇工作最值得看的点是什么?在5张固定CelebA人脸图像上,去噪任务PSNR提升4.40 dB(SSIM +0.167),超分辨率任务PSNR提升3.70 dB(SSIM +0.044),所有跟踪样本均获得一致提升。
这篇工作的边界或风险在哪里?优点:(1)提出新颖的GAN引导扩散框架,利用冻结GAN特征作为条件先验,避免额外训练开销;(2)识别并解决了四个关键训练不稳定性问题,展示了系统性的诊断驱动开发方法;(3)在去噪和超分辨率任务上均获得一致的性能提升。缺点:(1)评估仅基于5张图像,样本量过小,缺乏统计显著性;(2)未提供LPIPS、FID等感知指标,仅依赖PSNR/SSIM不足以全面评估图像质量;(3)缺乏消融实验验证GAN交叉注意力条件化的独立贡献;(4)仅测试单一噪声水平(σ=0.15),鲁棒性验证不足。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★★☆

提出一种混合GAN引导扩散框架,利用预训练WGAN-GP的冻结生成器中间特征作为条件先验,通过交叉注意力机制注入扩散U-Net,引导条件扩散模型完成图像恢复任务。

实验合理度:★★★★☆

PSNR(峰值信噪比)和SSIM(结构相似性指数)。

学术研究价值:★★★★☆

提出一种混合GAN引导扩散框架,利用预训练WGAN-GP的冻结生成器中间特征作为条件先验,通过交叉注意力机制注入扩散U-Net,引导条件扩散模型完成图像恢复任务;更关键的是问题定义是否可复用到同类任务。

稳定性:★★★☆☆

现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。

适应性以及泛化能力:★★★☆☆

现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。

硬件需求及成本:★★★☆☆

未明确报告FLOPs;DDIM采样50步,WGAN-GP特征图仅计算一次并在整个采样过程中固定复用。

复现难度:★★★☆☆

现有材料未确认完整代码、配置、数据处理脚本和权重是否齐备,复现难度暂按中性评价。

产品化成熟度:★★★☆☆

论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。

可能的问题:,展示了系统性的诊断驱动开发方法;(3)在去噪和超分辨率任务上均获得一致的性能提升。缺点:(1)评估仅基于5张图像,样本量过小,缺乏统计显著性;

主要参考文献

[1] Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of Wasserstein GANs[C]. NeurIPS 2017.
[2] Ho J, Jain A, Abbeel P. Denoising diffusion probabilistic models[C]. NeurIPS 2020.
[3] Song J, Meng C, Ermon S. Denoising diffusion implicit models[C]. ICLR 2021.
[4] Meng C, He Y, Song Y, et al. SDEdit: Guided image synthesis and editing with stochastic differential equations[C]. ICLR 2022.
[5] Saharia C, Ho J, Chan W, et al. Image super-resolution via iterative refinement[J]. IEEE TPAMI, 2022.
[6] Perez E, Strub F, de Vries H, et al. FiLM: Visual reasoning with a general conditioning layer[C]. AAAI 2018.
[7] 原文链接:https://arxiv.org/pdf/2608.22272v1.pdf

*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球