SCEdit: Efficient and Controllable Image Diffusion Generation via Skip Connection Editing

1 研究目的

        由于训练数据有限和计算资源的限制,完全微调基础图像扩散模型在大多数定制场景中通常被证明效率低下甚至不切实际。

        所以最近的研究引入了对原始模型进行细微调整的调整方法,从而在基础生成扩散模型的特定适应中产生有希望的结果,但是随着网络的扩展,许多这些流行的高效调优方法仍然存在大量的资源消耗。例如,LoRA 通常将可训练的低秩矩阵添加到所有 U-Net 的多头注意力层中,并且反向传播在整个主干中进行,导致梯度的积累并在训练期间增加内存使用,甚至比完全微调。

        为了解决这个问题,旨在分析跳跃连接在图像生成过程中的作用,并通过编辑跳跃连接提出了一个新颖而有效的框架,该框架结合了调优模块。

        作者通过将所有可训练模块战略性地插入到 U-Net 的编码器和解码器之间的跳跃连接 (SCs) 中来正确设计 SCEdit 框架,有效地将编码器与反向传播过程解耦并显着减少计算和内存需求。

2 方法

2.1 启示

        一些模型主要侧重于探索SCs在提高U-NET训练稳定性方面的有效性,以及提高生成质量。受到启发,作者进一步研究了 U-Net 的 SC 在适应新场景方面的潜力,为了更深入地了解预训练的 U-Net 中的每个 SC,逐渐去除 SC,观察解码器块的值分布和特征图的后续变化(如图1)。

        图1通过可视化其潜在特征值的分布来评估最终解码器输出中的信息的多样性。较高的方差表示更广泛的信息,而接近零的方差表示细节的显着损失。

图 1. 预训练的 U-Net 的输出分布(左)和特征图(右)

2.2 模型模块

        根据上面的启示,作者设计了一种简单而高效的图像生成跳跃连接编辑方法,称为 SCEditSCEdit 框架适用于使用所提出的调整模块的广泛图像生成任务,并通过解耦 U-Net 中的编码器块,它允许高效且灵活的训练,因为它仅通过解码器块实现反向传播。

        SCEdit 框架利用 SC-Tuner 和 CSC-Tuner。所有跳跃连接和条件都被馈送到 SC-Tuner 和 CSC-Tuner 中,输出随后连接到原始特征图并输入到相应的解码器块中。描述如下:

其中 O_{j}\left (x_{N-j},C_{j} \right )表示第 j 个 SC-Tuner 或 CSC-Tuner 模块。通过编辑原始的x_{N-j} ,可以将其应用于不同的任务。

SCEdit的核心模块为:SC-Tuner、CSC-Tuner

2.2.1 SC-Tuner

        SC-Tuner 是一个轻量级调整模块,该模块旨在编辑预训练的 U-Net 的每个 SC 中的潜在特征以进行高效调整。SC-Tuner 应用于文本到图像生成任务,并集成到预训练的 U-Net 架构中的所有跳跃连接中。

图(a)SC-Tuner

        这是一种旨在直接在跳过连接中编辑潜在特征的方法。如图(a)所示,SC-Tuner 由调整操作( Tuner OP)残差连接组成。第 j 个 SC-Tuner 接受 x_{N-j}作为输入并产生 x_{N-j} 和Tuner OP 的输出之和,其中 x_{N-j}作为输入。这个过程在数学上可以表述为:

其中:

O_{j}^{SC}\left ( x_{N-j} \right )表示第j个SC-Tuner模块,x_{N-j}为输入

T_{j}表示第j个SC-Tuner模块的Tuner OP,Tuner OP,采用了 Adapter OP 的形式,因为它已被证明是一种简单而有效的方法。

Tuner OP的 T_{j} 可以定义如下:

其中:

 W_{up} 和W_{down} 分别是上下可调投影矩阵

\phi是 GELU 激活函数

形式上,可以使用各种类型的调整器并缩放来修改跳过连接的特征。

2.2.2 CSC-Tuner

        CSC-Tuner是扩展了 SC-Tuner 的能力以促进可控的图像合成,这可以使用可控的 SC-Tuner (CSC-Tuner) 来适应各种输入条件。

        所提出的框架SCEdit允许通过使用可控的 SC-Tuner(CSC-Tuner) 注入不同的条件来直接扩展可控的图像合成,简化和统一多条件输入的网络设计。

图(b)CSC-Tuner

        SC-Tuner 可以很容易地适应支持可控的图像合成,方法是将条件和 x_{N-j}作为输入,其中条件同时适应单一和多种条件。在多条件可控生成的情况下,将权重分配给不同的条件分支,并将它们与原始跳跃连接相结合。这种修改后的结构如图 (b) 所示,称为可控 SC-Tuner 或 CSC-Tuner。

通过注入额外的条件信息来扩展等式(5),公式如下:

 其中:

  •  O_{j}^{CSC}\left ( x_{N-j},C_{j} \right )表示第 j 个 CSC-Tuner 模块, x_{N-j} 和 M 个条件 C_{j}= \left \{ c_{j}^{0},...,c_{j}^{M} \right \}作为输入
  • c_{j}^{M}是第 j 个提示块在第 m 个条件特征的输出
  • \alpha ^{m} 是不同独立条件嵌入的权重,\sum_{m=1}^{M}\alpha ^{m}= 1

在实践中,可以与多条件进行联合训练,或者在完成单一条件训练后直接在组合条件下进行推理。

图(c)Dense Conv

        CSC-Tuner 用于可控图像合成,其中相应条件特征的输入通过级联卷积网络进行编码,如图 (c) 所示,由多层提示块和几个密集模块组成,用于馈入跳跃连接分支,其中每个级别包含零卷积层和 SiLU激活函数,确保与跳跃连接的维度兼容。

3 评估

3.1 评估

评估了SCEdit 的灵活性和效率,主要是在文本到图像生成和可控的图像合成任务。

分析了其 定量指标,如可训练参数内存消耗训练速度FID评估指标,以评估其性能和效率。此外,考虑对生成图像的质量和保真度进行定性评估。

3.2 数据集

  • 文本到图像生成任务中,使用 COCO2017 数据集进行训练和测试,该数据集由 118k 图像和 591k 训练提示组成。此外,使用具有有限样本的定制样式数据集来进一步验证方法的有效性。
  • 可控的图像合成任务中,对于每一种条件数据,利用LAION艺术数据集的过滤版本,其中包括大约600k的图像,这些图像已删除重复图像、低分辨率图像、危害风险的图像,以及质量低的图像。

3.3 基线

根据任务类别,评估任务可以分为两类:

  • (i) 文本到图像调整包括完全微调和 LoRA  调整策略。 
  • (ii) 可控图像合成侧重于包括附加信息作为输入的方法,例如 ControlNet、T2I-Adapter、ControlLoRA 和 ControlNet-XS 。

由于这两类任务特征不同,将 SC-Tuner 模块应用于前者,将 CSC-Tuner 模块应用于后者。

3.4 实施细节

  1. 对于所有实验,基于稳定扩散 (SD) 预训练模型执行有效的微调,其中 SD v1.5 用于文本到图像任务,SD v2.1用于条件任务,输入图像大小设置为 512×512。
  2. 使用具有固定学习率为 5e-5 的 AdamW 优化器。
  3. 除非另有说明,否则模型训练 100k 步。
  4. 在ControlNet之后,除了T2I-Adapter中的颜色图条件和LaMa中提出的掩码生成策略外,还使用了不同的输入条件,如边缘图、深度图、分割图和姿态关键点。

3.5 文本到图像生成任务

3.5.1 定性评估

定性结果如图 2 所示:

  • 最左边的列是原始模型(SD v1.5)的零样本结果
  • 中间的是微调模型(包括完全微调Full和 LoRA  调整策略)在下游任务中获得了语义理解能力。
  • 与现有的策略相比,SCEdit方法在生成的图像中人工伪影更少,视觉质量更高。例如,在第二行中,生成的鸟在头部具有更逼真的细节,同时保持语义理解。

图2 相同提示下的原始 SD v1.5、现有调整策略和我们的 SCEdit 的定性比较

3.5.2 定量评估

        如表1所示,对于FID分数,遵循SD v1.5的默认设置。为了提高效率,比较了参数、内存和训练时间效率方面。

在两种不同的参数设置下比较了 LoRA 和SCEdit方法的性能。

表1 COCO2017数据集文本到图像生成的FID和效率比较

  • 与完全微调基线相比, SCEdit 在 FID 分数上实现了 0.33 的性能提升,而仅使用 2.29% 的参数并减少近 22% 的训练时间。
  • 值得注意的是,与rank=64 的 LoRA/r=64 策略相比,在较低的参数下,SCEdit在 FID 中都较低,而训练内存可以减少 52.1%,LoRA 的训练时间比SCEdit的长 1.6 倍。
  • 当进一步将调谐器的隐藏维数减少 10 倍时,表示为 SCEdit10,与 LoRA/r=6 相比,这对应于参数减少相同的因子,SCEdit的 FID 分数显着下降了 1.13,同时在内存使用和训练时间方面也保持了明显的优势。

3.6 可控图像合成任务

3.6.1 定性评估

如图3所示,SCEdit的方法在真实场景和风格控制(包括真实场景、想象场景和艺术风格)下表现出了优越的性能和精确的控制能力。SCEdit 能够生成针对输入条件的精确高质量图像。

奇数行表示输入条件,偶数行对应于生成的结果。

图3 各种条件下的可控图像合成。

如图4,可以观察到,SCEdit方法在保真度和真实感方面获得了更好的质量,如第一行湖泊表面的反射保存和第二行汽车的纹理信息。

图4 基于不同方法的canny边缘图和语义分割条件产生的结果

3.6.2 定量评估

将SCEdit方法与从不同条件下生成图像的最新方法进行比较。

如表2所示,SCEdit方法仅使用 ControlNet 中的参数数量的 7.9%,导致内存消耗减少 30%,同时加速训练过程,同时产生较低的 FID 分数。

表2 LAION数据集可控图像合成FID和效率的比较

其中'k' 表示条件模型的卷积核大小,较大的大小在 FID 分数上表现更好,尽管参数略有增加。

3.6.3 可组合生成

除了基于单一条件生成控制外,SCEdit还同时支持多条件的输入。

在图 5中,展示了单独训练的边缘图和彩色地图模型的联合应用,并展示了未配对条件数据的结果,用于无训练场景级图像翻译。

图5 可组合生成

(a) 使用相同的canny 边缘图和文本提示结合不同的颜色图会导致不同季节的山描绘,通过遍历两个条件之间 CSC-Tuner 的嵌入空间表示,SCEdit可以混合它们以实现变化

(b) canny 边缘图和颜色图内的插值,SCEdit 进一步提供了精确的控制能力,通过平衡多个元素来实现不同的插值效果。

3.6.4 可控泛化

作者发现可以在特定条件下已经训练的模型上尝试额外的可控生成任务。

在图 6 中,使用基于边缘的模型对草图到图像任务和基于修复的外绘任务模型取得了令人印象深刻的结果。

尽管基于非真实条件(例如前者的手绘草图)没有适应,也没有专门调整掩码生成模式以进行后者的外绘。学习到的边缘条件模型能够进行草图到图像的任务,修复条件模型可以控制外绘生成。

图6 可控泛化

4 优点

        SCEdit 由于其轻量级调整器,大大减少了训练参数、内存使用和计算成本,反向传播仅传递给解码器块。在文本到图像生成和可控图像合成任务上进行的大量实验证明了该方法在效率和性能方面的优越性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值