在生成式图像模型中,传统扩散模型常在潜在空间操作以降低计算开销,但像素空间的直接生成也能通过高效滤波机制实现高质量输出。Kernel Prediction Network (KPN) 原本用于突发图像去噪,通过为每个像素预测局部滤波核,实现自适应平滑与细节保留。将 KPN 引入生成管道,能将噪声图像逐步投影到低秩流形上,生成逼真猫图像,同时具备边缘部署友好性。
KPN 的核心是 U-Net 风格的核预测网络:输入噪声图像,输出每个像素的 5x5 空间滤波核。不同于固定卷积,KPN 生成空间变异的核,适应图像局部特性。在生成应用中,训练过程为:从干净猫图像线性插值 (lerp) 到高斯噪声,网络学习从噪声恢复原图。损失结合 L2 与 LPIPS,确保像素准确性和感知质量。
为克服双边滤波的凸组合限制(难以创造新信息),引入颜色漂移预测:小型 U-Net 于 RGB 图像预测逐像素通道偏移,加到滤波后。这分离了低频颜色恢复与高频细节滤波。滤波权重使用 tanh 激活允许负值,不强制归一化,实现非凸变换,引入噪声破坏的信息。
多尺度融合借鉴分区金字塔:下采样用 2x2 平均池,上采样用低秩高斯 5x5 核与跳跃连接 sigmoid lerp。低秩参数化减少核预测参数,提升效率。具体架构:8x8 补丁 Transformer 主干,上采样卷积栈驱动 KPN。生成时,从纯噪声迭代应用 KPN + 漂移,直至收敛。
工程落地参数:
- 数据集:Cats faces 64x64 (Kaggle),分辨率适中,便于实验。
- 核大小:5x5 空间核,平衡 receptive field 与计算。
- 尺度层:4 层金字塔 (原图 → 1/2 → 1/4 → 1/8),融合提升多分辨率一致性。
- 训练:批次 16,学习率 1e-4,5k epochs,AdamW 优化器。噪声调度:线性 lerp t=0~1。
- 漂移网络:浅 U-Net (3 下/上采样块),输出 3 通道偏移,范围 [-0.1, 0.1]。
- 推理:50 步迭代,步长 0.02,GPU 内存 <2GB/64x64 批次。
监控要点:
- 损失曲线:L2 <0.01, LPIPS <0.2 收敛标志。
- 生成 FID:目标 <20,评估多样性。
- 核可视化:检查边缘增强核,避免过度平滑。
- 量化测试:INT8 KPN 精度掉 <5%,适合移动端。
回滚策略:若细节丢失,增漂移容量或加残差连接;高频毛发模糊时,调高 LPIPS 权重至 0.5。
在实际博客实验中,5k epochs 后生成样本显示清晰猫脸轮廓与纹理。[1] 此方法无需 VAE 压缩,纯像素域操作,计算高效 (GPU 实时)。
潜在风险:局部平滑假设可能模糊猫毛高频细节,依赖初始噪声质量。优化:结合分层 LUT 或动态核生成,进一步提升。[2]
参数清单总结:
- KPN 骨干:Patch Transformer (heads=4, layers=8)。
- 滤波:5x5 tanh 权重,非归一。
- 融合:低秩高斯上采样,lerp=0.5。
- 漂移:U-Net 输出 sigmoid 缩放。
- 部署:TorchScript 量化,FPS>100@64x64。
此管道证明 KPN 在生成领域的潜力:高效、模块化、可量化。未来可扩展至视频帧生成或实时 AR 滤镜。
资料来源:
[1] https://aschrein.github.io/jekyll/update/2025/11/22/generating_cats.html
[2] https://aschrein.github.io/jekyll/update/2025/11/23/generating_cats2.html
KPN 原论文:Burst Denoising with Kernel Prediction Networks (Google Research)。
(正文约 950 字)