170、多任务联合学习:超分与去噪、去模糊的协同训练框架设计
上周调一个超分模型,输入是手机拍的夜景照片,结果模型把噪点当纹理给放大了,输出画面像砂纸一样。更离谱的是,有一张轻微运动模糊的图,模型居然把模糊边缘“脑补”成了锯齿状伪影。这让我意识到,现实场景中的低分辨率图像从来不是单纯的“分辨率低”——它们往往同时带着噪声、模糊、压缩伪影等复合退化。单独训练的超分模型,面对这种混合退化时,要么过拟合到某个特定退化类型,要么干脆摆烂输出一团糊。
为什么单任务训练不够用
很多同学喜欢把超分模型训练成“纯超分”的,输入干净的低分辨率图,输出高分辨率图。但实际部署时,输入图像的质量往往惨不忍睹。我见过一个项目,用双三次下采样构造训练数据,模型在测试集上PSNR飙到38dB,结果一上真实监控视频,直接掉到31dB。原因很简单:真实退化不是双三次下采样能模拟的。
更隐蔽的问题是,去噪和去模糊这两个任务本身存在冲突。去噪倾向于平滑图像,而去模糊需要锐化边缘。如果简单地把两个任务串起来——先去噪再去超分,或者先去模糊再去超分——第一个模块的误差会被第二个模块放大。我踩过这个坑,串行结构下,去噪模块把一些纹理细节当成噪声抹掉了,超分模块再努力也救不回来。
多任务联合学习的核心思路
协同训练的核心思想是:让一个共享的编码器同时学习多种退化模式的表征,然后通过不同的解码头分别输出超分、去噪、去模糊的结果。关键在于,这些任务之间不是独立的,它们共享底层的特征提取网络,但每个任务有自己的“注意力”机制来聚焦不同的退化特征。
我