RepControlNet:不增加计算量,实现扩散模型的可控生成

0. 论文信息

标题:RepControlNet: ControlNet Reparameterization

作者:Zhaoli Deng, Kaibin Zhou, Fanyi Wang, Zhenpeng Mi

机构:Honor Device Co、Tongji University

原文链接:https://arxiv.org/abs/2408.09240

1. 摘要

随着扩散模型的广泛应用,推理资源的高成本成为其普遍应用的重要瓶颈。可控生成如ControlNet是扩散模型的重点研究方向之一,与推理加速和模型压缩相关的研究更为重要。为了解决这一问题,提出了一种模态重参数化方法RepControlNet,在不增加计算量的情况下实现扩散模型的可控生成。在训练过程中,RepControlNet使用适配器将模态信息调制到特征空间中,复制原始扩散模型的CNN和MLP可学习层作为模态网络,并基于原始权重和系数初始化这些权重。训练过程仅优化模态网络的参数。在推理过程中,中和原始扩散模型在模态网络中的权重被重新参数化,可以与ControlNet等使用附加参数和计算量的方法相媲美甚至超越,而不增加参数个数。我们在SD1.5和SDXL上进行了大量的实验,实验结果表明了所提出的RepControlNet的有效性和高效性。

2. 引言

随着扩散模型应用的日益广泛和用户群体的指数级增长,对扩散模型的模型压缩和推理加速的研究变得至关重要。这些研究旨在节省实际应用中的推理时间和能源消耗,从而减少碳排放,为环境保护默默贡献力量。以SnapFusion为代表的模型压缩工作,通过减少模型参数数量和采用蒸馏技术来提高推理速度,但代价是牺牲了一定的生成质量。扩散模型的推理加速目标通常是实现步长蒸馏,从而压缩推理步数。以往的研究主要聚焦于优化扩散模型本身。在由多模态信息引导的可控生成领域,关于加速的相关研究较少。

扩散模型的可控生成一直是研究热点,其中ControlNet作为即插即用模块得到了广泛应用。然而,每个ControlNet都会使推理过程的计算负载增加约一半,从而影响效率和计算成本。为解决这一问题,受RepVGG和ControlNet的启发,我们提出了一种模态重参数化方法,即RepControlNet。在训练过程中,RepControlNet冻结原始扩散模型,并复制其卷积层和线性层来学习输入模态控制信息。在推理过程中,将复制的卷积层和线性层与原始扩散模型进行重参数化,实现在不增加扩散模型本身额外计算负载的情况下进行条件可控生成。在Stable Diffusion 1.5 (SD1.5)和Stable Diffusion XL (SDXL)上的实验结果证明了RepControlNet的有效性,表明其几乎不损失计算负载增加一半的ControlNet所具备的条件控制生成能力。

3. 效果展示

使用Canny边缘条件生成的图像结果。
说明文字:白色背景下的花环和红色圣诞球组成的圣诞问候,附带斯堪的纳维亚风格的圣诞文字。一朵带有彩虹的独角兽,背景为云朵,作为打印海报的独角兽卡通形象。大理石浴室以白色和黑色大理石墙面和地面为特色。

图片

4. 主要贡献

我们的贡献如下:

• 在扩散模型的可控生成领域,我们提出了一种模态重参数化方法RepControlNet,实现了在不增加计算量的条件下进行条件可控生成。

• 基于SD1.5和SDXL,我们验证了RepControlNet方法在Canny边缘检测、深度图、语义图和骨架等模态上的模态重参数化条件控制生成能力。

5. 方法

与ControlNet类似,在RepControlNet中,扩散模型的原始模块被冻结,而应用了一个可训练的副本以学习条件。但与ControlNet不同的是,在RepControlNet中,该可训练副本仅应用于卷积层和线性层,以便于在推理过程中进行重参数化。具体而言,在RepControlNet中,训练过程中,所有卷积层和线性层在预训练的扩散模型中都被冻结,然后对这些层的副本进行训练,如图1所示。在RepControlNet中,特征嵌入同时输入到每个卷积层和线性层的原始层和副本层中,然后将两者的输出相加作为输出特征。在UNet的第一层中应用了一个适配器层来编码输入条件。通过将适配器输出张量和原始输入张量相加(这两个张量具有相同的维度),来注入条件信息。

图片

6. 实验结果

为了定量评估条件保真度,我们使用了ADE20K数据集进行训练,并使用COCO-Stuff数据集进行测试,这与ControlNet的做法类似。为了进行全面评估,我们采用了FID分数和文本-图像CLIP分数作为评估指标。具体而言,我们从COCO验证集中随机选择了10000个提示,并使用One-Former生成这些样本的成对语义分割图。对于SD1.5基础模型,我们使用512×512图像的随机裁剪作为FID的目标集,并使用不同方法结合成对语义分割图生成的512×512图像作为FID的源集。对于SDXL基础模型,我们使用了768×768分辨率的图像。结果如表1所示。可以看出,我们的方法可以在不增加参数数量的情况下,实现与ControlNet等使用额外参数的方法相当甚至更优的性能。

图片

为了验证RepControlNet相比ControlNet在减少参数和计算量方面的优势,我们还计算了每个模型的参数数量,并测试了批量大小为1时单步的推理速度。在这里,我们使用浮点运算数(FLOPs)和乘加运算数(MACs)作为计算速度的评估指标,如表2所示。可以看出,与SD基础模型相比,RepControlNet在推理过程中仅增加了可忽略不计的计算开销和模型参数,与ControlNet相比具有显著优势。

图片

7. 总结 & 未来工作

我们提出了一种不需要额外计算开销的条件控制生成方法,命名为RepControlNet。我们在SD1.5和SDXL两个基础模型上,针对Canny边缘、深度图、语义图和骨架四种模态进行了大量实验。为了验证RepControlNet的通用性,我们将其集成到我们自主开发的保持身份一致性的生成方法中,使用骨架作为训练的控制条件。实验结果表明,无论是主观还是客观指标,都验证了其可移植性和高效性。扩散模型的应用普及还有很长的路要走,我们希望我们的工作能为研究人员带来一些启发。

对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值