你要做一个“线稿生成上色图”的条件生成模型,训练数据是成对的(线稿, 彩色图)。推理时用户给的线稿与训练分布有偏移:笔触更粗、局部断线缺失。请回答:① 你会选 pix2pix 类条件 GAN 还是条件扩散,判断依据是什么;② 条件信息怎么注入(latent 拼接 / cross-attention / 旁路 zero-conv 注入),各自代价是什么;③ 针对分布偏移,你在训练侧和推理侧分别做什么,怎么量化偏移带来的退化。
面试官在考什么
判断能否按任务特性(配对数据、输出是否多解、延迟预算、偏移鲁棒性)选择条件生成范式,并把条件注入方式讲到实现与代价层面。
回答框架 · 前两步
- 选型依据:要求像素级对齐、结构保真、配对数据充足且延迟敏感时,pix2pix 类 cGAN 加 L1/perceptual loss 可行;需要更强多样性、对局部断线与笔触偏移更鲁棒、可接受较慢采样时,条件扩散更稳。核心看输出是否唯一解、不确定区域要不要给多解、推理预算。
- 条件注入方式:① 与噪声 latent 在通道维拼接,结构约束强但条件利用较浅、难配合 classifier-free guidance;② cross-attention 把条件作为 K/V,适合文本等全局语义,局部结构保持较弱;③ 旁路编码器 + zero-conv 逐层注入主干,兼顾空间结构保持与基座先验复用,代价是额外参数与显存。三者可组合。
还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。
延伸阅读
想看这个方向的整体准备路线? 进入「CV 与多模态」方向页
同一能力域的其他题
- 你负责训练一个 128×128 动漫头像 GAN(DCGAN 类结构,生成器用 ConvTranspose2d(k=4,s=2,p=1) 逐级上采样)。训练到约 2 万步时,D 的 loss 掉到 0.01 左右,G 的 loss 从 3 涨到 8,采样出的图开始出现明显的棋盘格纹理,且不同 z 采样出的头像越来越像。请说明:① 你判断这里同时存在哪几类失效,各自依据是什么;② 给出你的排查顺序,每一步具体做什么操作、预期看到什么现象;③ 棋盘格和多样性下降是不是同一个原因,怎么分别验证。
- 你接手一个 GAN 训练任务:判别器 loss 长期低于 0.02,生成器 loss 从 2.1 一路涨到 8.4。用当前 checkpoint 采 4096 张图,distinct-1 从 0.72 掉到 0.31,肉眼能看到约 60% 的样本是少数几个模式的近重复。配置是 batch=64、D:G 更新比 1:1、损失用 WGAN-GP 的梯度惩罚。请给出你的诊断顺序和前三步具体动作,并说明为什么'先降低生成器学习率'不是正确的第一步。
- 你们已有一条基于 GAN 的 256×256 商品图生成流水线,线上跑了一年:清晰度尚可,但生成多样性差、审核通过率低。现在业务要求支持 1024×1024,并让生成多样性明显改善。你手上只有 8 张 A100、4 周时间、2 名工程师。请给出你的技术决策:先动分辨率还是先动多样性?你会优先改生成器、判别器、损失函数还是数据管线?为什么?并说明你如何验证改动有效,以及灰度上线的验收标准。
- 标准 GAN 中生成器用 saturating loss:L_G = E_{z~p_z}[log(1 − D(G(z)))]。训练中你观察到判别器很快就能把真假样本分得很准(D(G(z)) 接近 0),同时 G 的 loss 居高不下、生成的样本几乎没有变化。请说明此时 G 的梯度为什么会接近 0(写出梯度里与 D(G(z)) 相关的因子),并给出两种具体改法。
- 你在 512×512 数据上训 DDPM,采用线性 beta 调度、T=1000,推理用 250 步采样。整体图看着还行,但毛发、文字这类高频区域发糊。同事说“把 T 加到 2000 就好了”。请回答:① DDPM 前向加噪的闭式表达是什么,ᾱ_t 与信噪比是什么关系;② 为什么单纯增大 T 不一定改善细节;③ 你会改哪两个超参或设计来提升细节,说明预期效果与代价。
- 你的线上服务是 512×512 文生图,当前 DDIM 50 步,单张 A100 约 1.8s。产品要求把延迟压到 300ms 以内(大约 8 步),并接受 FID 相对 50 步基线退化不超过 10%,同时要求不重新训练基座模型,只给你 8 张 A100 40GB、3 天的后处理预算。请给出你的方案选择和取舍:走更高阶的 solver(DPM-Solver++/UniPC 这类)还是蒸馏成少步学生模型,或者两者结合?并说明你用什么验收指标来判定'退化不超过 10%'。