跳转至

Reviving ConvNeXt for Efficient Convolutional Diffusion Models

会议: CVPR 2026
arXiv: 2603.09408
代码: 有(官方实现已公开)
领域: 图像生成
关键词: 扩散模型, ConvNeXt, 全卷积, 高效生成, 图像生成
机构: KAIST, ETH Zürich, ISTI-CNR, University of Pisa

一句话总结

本文提出FCDM(Fully Convolutional Diffusion Model),将ConvNeXt架构适配为条件扩散模型backbone,仅用DiT-XL 50%的FLOPs即可在ImageNet上达到竞争性FID(2.03),且能在4块RTX 4090上训练XL模型,展示了全卷积架构在生成建模中被严重低估的效率优势。

研究背景与动机

领域现状: 扩散模型backbone经历了从卷积-注意力混合架构(DDPM、ADM、LDM)到全Transformer架构(DiT、SiT、FLUX)的演进。Transformer的可扩展性推动了FLUX、SD3等大规模模型的成功,但也带来了对GPU集群资源的强依赖。

现有痛点: DiT-XL/2需要7M步训练才能达到最佳FID,训练吞吐量仅80.5 it/s。Transformer的 \(O(n^2)\) 计算复杂度在高分辨率下尤为严重——分辨率翻倍时DiT吞吐量下降约4×。这使得扩散模型的训练和推理成本成为主要瓶颈。

核心矛盾: 业界普遍认为"scaling Transformer = 更好的生成质量",但ConvNet的局部性偏置、参数效率和硬件友好性在现代生成建模中几乎未被充分探索。ConvNeXt在分类任务上已展示与ViT匹配的性能,但在生成领域完全缺席。

本文切入角度: 将ConvNeXt改造为条件扩散模型的backbone,保持其核心设计(depthwise conv、inverted bottleneck、GRN),仅添加条件注入(AdaLN)和U-shaped布局,验证全卷积架构能否同时兼顾生成质量和计算效率。

方法详解

整体框架

FCDM 想回答一个被忽视的问题:在扩散模型 backbone 普遍倒向 Transformer 的当下,纯卷积架构(ConvNeXt)到底能不能在生成质量和算力之间同时占优?它在 latent space 工作(与 DiT 一致):RGB 图像 \(256 \times 256 \times 3\) 先经 VAE 编码为 \(32 \times 32 \times 4\) 的 latent,过多个 FCDM block 后再由 VAE decoder 解回像素。这些 block 组织成一个简化的 U 形结构,encoder 与 decoder 通过 skip connection 相连。

与 DiT 需要 4 个超参数(层数 \(L\)、通道 \(C\)、attention heads、patch size)不同,FCDM 只需 两个——block 数 \(L\) 和隐通道数 \(C\),每次 2× 下采样时两者都翻倍。这条“Easy Scaling Law”把架构搜索空间压到极小,从 FCDM-S 扩到 FCDM-XL 只是改两个数字(\(L\) 从 2→3,\(C\) 从 128→512)。

下图展开单个 FCDM Block 的内部数据流,四个关键设计都落在这条链上:

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    X["latent 32×32×4<br/>(VAE 编码)"] --> U["U 形堆叠 FCDM Block<br/>下采样时 L、C 翻倍"]
    U --> OUT["VAE 解码 → 256×256 图像"]
    U -.展开单个 Block.-> I["输入特征(C 通道)"]
    I --> DW["7×7 DWConv<br/>大核感受野、低维通道上算"]
    DW --> AdaLN["FCDM Block:AdaLN 条件注入<br/>class+timestep → γ,β,α"]
    AdaLN --> EXP["1×1 Conv 扩展到 rC(r=3)<br/>(Inverted Bottleneck)"]
    EXP --> GRN["GRN 代替 CCA<br/>近零参数促通道多样性"]
    GRN --> CMP["1×1 Conv 压回 C"]
    CMP --> O["输出:无额外 FFN"]

关键设计

1. FCDM Block:用最小改动把 ConvNeXt 接上条件扩散

DiT 的成功让人默认生成必须靠 attention,但 ConvNeXt 在分类上早已追平 ViT、在生成里却完全缺席。FCDM 对 ConvNeXt block 做最小化改造:原始流程 \(\text{Input} \to 7\times7 \text{ DWConv} \to \text{LN} \to 1\times1 \text{ Conv}(\uparrow r) \to \text{GRN} \to 1\times1 \text{ Conv}(\downarrow r) \to \text{Output}\) 基本保留,只把 LayerNorm 换成 Adaptive LayerNorm(AdaLN)注入条件——一个轻量 MLP 把 class embedding 和 timestep embedding 拼接后映射为 \((\gamma, \beta, \alpha)\)\(\gamma,\beta\) 做仿射调制、\(\alpha\) 作输出缩放。遵循 DiT 把 \(\alpha\) 零初始化,使训练初期每个 block 近似恒等映射,深层网络更稳。保留 \(7\times7\) 大核 depthwise conv 提供足够感受野,消融里 \(7\times7\) 明显优于 \(5\times5\)\(3\times3\)

2. Inverted Bottleneck:把 depthwise conv 放到通道扩展之前,省下一半算力

FCDM 与最接近的竞争者 DiCo 最关键的差别在通道维度怎么处理,这也是它 FLOPs 只有 DiCo 75% 的根源。DiCo 在卷积模块里始终保持通道数不变,把通道扩展丢到额外的 feedforward 模块里完成。FCDM 改用 inverted bottleneck:先做 \(7\times7\) depthwise conv(通道数 \(C\),计算量 \(\propto C\)),再用 \(1\times1\) pointwise conv 把通道扩到 \(rC\)(扩展比 \(r=3\)),过 GRN 后再用 \(1\times1\) conv 压回 \(C\)。关键在于 depthwise conv 放在扩展之前——它的计算量只与输入通道数成正比、不涉及通道间交互,于是始终在低维通道上跑,算力不随扩展比增长,而扩展后的高维特征只交给更轻的 pointwise conv。结果是“算力几乎不变、表征能力增强”:

模型 参数量 Blocks L Channel C FLOPs(G) vs DiT vs DiCo
FCDM-S 32.7M 2 128 3.1 50.8% 72.9%
FCDM-B 127.7M 2 256 12.2 53.0% 72.3%
FCDM-L 504.5M 2 512 48.3 59.9% 80.2%
FCDM-XL 698.8M 3 512 64.6 54.5% 74.0%

3. 用 GRN 代替 CCA:几乎零参数地促进通道多样性

DiCo 为缓解通道冗余引入了 Compact Channel Attention(CCA),本质是再加一个 \(1\times1\) conv 学通道注意力权重。FCDM 直接复用 ConvNeXt V2 的 Global Response Normalization(GRN):对每个通道算全局 L2 范数再做响应归一化,主体是无参数操作。两者目标一致(促进通道激活多样性、减少冗余),但 GRN 几乎不引入额外可学习参数。消融里 CCA 替换 GRN 会让 FID 从 19.97 涨到 23.85(+3.9),印证为分类设计的 GRN 在生成里反而更好。

4. 去掉额外 Feedforward:通道扩展只做一次

inverted bottleneck 已经在 block 内部完成了通道的扩展与压缩,所以 FCDM 不再需要 DiCo 那样额外的 feedforward 模块。消融给出反证:硬给 FCDM 加上额外 FFN 后 FID 从 19.97 暴涨到 28.52——通道扩展做两次反而有害。

训练策略

完全沿用 DiT/ADM 的设置,不加任何额外 trick:扩散过程 \(t_{\max}=1000\) 步、线性 noise schedule(\(\beta\)\(1\times10^{-4}\)\(2\times10^{-2}\))、iDDPM 协方差参数化;优化器 AdamW,lr \(=1\times10^{-4}\)(constant),无 weight decay;fp32 训练(未用混合精度);EMA decay 0.9999;评估用 250 步 DDPM 采样、50K 样本算 FID,有指导时用 classifier-free guidance。

实验关键数据

主实验:ImageNet 256×256 多scale对比(400K步)

模型 架构类型 FLOPs(G)↓ 吞吐量(it/s)↑ FID↓ IS↑
DiT-XL/2 Transformer 118.6 80.5 19.47 -
DiG-XL/2 Hybrid 89.4 71.7 18.53 68.53
DiCo-XL Conv 87.3 174.2 11.67 100.4
DiC-H Conv 204.4 144.5 11.36 106.5
FCDM-XL Conv 64.6 272.7 10.72 108.0

FCDM-XL在400K步FID最低(10.72),FLOPs最少(64.6G),吞吐量最高(272.7 it/s)。训练1M步后FID进一步降至7.91,而DiT-XL/2需要7M步才达到9.62。

Benchmark结果(长训练 + Classifier-Free Guidance)

模型 训练epochs FLOPs(G)↓ 吞吐量↑ FID↓ IS↑
DiT-XL/2 1400 118.6 80.5 2.27 278.2
SiT-XL/2 1400 118.6 80.5 2.06 277.5
DiCo-XL 750 87.3 174.2 2.05 282.2
FCDM-XL 400 64.6 272.7 2.03 285.7

FCDM-XL用400 epochs达到FID 2.03(SOTA),训练epoch数比DiT少3.5×,比DiCo少1.9×。

512×512分辨率

FCDM-XL在512×512下1M步FID达7.46,优于DiT-XL/2 3M步的12.03(训练步数少7.5×)。值得关注的是分辨率翻倍时吞吐量变化:DiT下降约4×(全局attention的 \(O(n^2)\) 效应),FCDM仅下降约2×(卷积的线性复杂度)。

消融实验(FCDM-L,200K步)

配置变化 FLOPs(G) FID↓ IS↑ 结论
Default (7×7 DWConv + GRN) 48.3 19.97 69.19 基准
→ 5×5 DWConv 48.2 20.48 66.69 感受野变小略降
→ 3×3 DWConv 48.1 21.28 64.11 大核很重要(FID +1.3)
→ CCA替换GRN 48.3 23.85 61.60 GRN远优于CCA(FID +3.9)
→ 加Feedforward 48.2 28.52 47.16 额外FFN有害(FID +8.5)
→ 去Inverted Bottleneck 48.3 28.76 52.20 IB结构至关重要
→ ResNet block替换 48.4 31.14 49.10 现代ConvNeXt设计远优于经典ResNet

计算资源

FCDM-XL可在4块RTX 4090(消费级GPU)上完成256×256 ImageNet训练,batch size 256,吞吐量约0.9 step/s。同样batch size可在单块A100 40GB上运行。相比之下,同规模DiT通常需要8块A100/H100。

亮点与洞察

  • 两参数缩放法则: L和C两个超参数定义整个网络,极简的设计空间大幅降低了架构搜索成本
  • Inverted Bottleneck的顺序重排: depthwise conv放在通道扩展前是FLOPs节省25%(vs DiCo)的关键,这个trick可泛化到其他卷积生成架构
  • GRN的意外成功: 原本为分类设计的ConvNeXt V2模块在生成任务中同样有效,且大幅优于专为扩散设计的CCA机制
  • 分辨率友好性: 卷积的线性计算复杂度使吞吐量随分辨率的衰减远小于Transformer,512×512场景优势更加显著
  • 4块4090训练XL模型: 对学术界和资源受限场景具有极大实用价值

局限性

  • 尚未超越EDM-2和Simpler Diffusion等使用更先进训练框架(如改进noise schedule、预条件化)的SOTA方法
  • 仅在ImageNet class-conditional上测试;text-to-image、video generation等复杂条件场景待验证
  • 全卷积架构在超长距离依赖建模上理论弱于Transformer;全局语义一致性可能受限
  • 仅使用fp32训练,混合精度训练下的效率提升和稳定性未探索

相关工作对比

  • vs DiT/SiT: 完全用conv替代attention,参数量对齐时FLOPs减半,7×更少训练步达到同等FID。DiT的优势在于全局attention的理论建模能力和与文本条件的天然配合
  • vs DiCo: 结构最相似的竞争者。FCDM通过inverted bottleneck重排和GRN替代CCA+FF实现25%的FLOPs节省,生成质量也略优
  • vs DiC: DiC用标准3×3 conv,S/B scale硬件优化更好(throughput更高),但L/XL scale下FCDM全面领先

评分

  • 新颖性: ⭐⭐⭐⭐ 将ConvNeXt引入扩散模型并非全新(DiC/DiCo在先),但inverted bottleneck的重排分析和与DiCo的系统对比有认知价值
  • 实验充分度: ⭐⭐⭐⭐⭐ 4个scale × 多个训练步数、256/512双分辨率、详细消融和特征可视化、FLOPs/吞吐量/FID全面评估
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,Figure 4的DiCo vs FCDM对比非常直观,与DiCo的三点差异分析透彻
  • 价值: ⭐⭐⭐⭐ 4块4090训练XL模型对资源受限场景极具吸引力;两参数缩放法则有实际工程价值