【论文阅读】FreeU: Free Lunch in Diffusion U-Net

文章介绍了一种名为FreeU的方法,通过重新权衡U-Net架构中的跳过连接和基础连接,提升扩散模型的去噪能力和生成质量,无需额外训练。研究发现跳过连接主要贡献高频特征,而基础连接有助于去噪,通过调整这两个组件的权重,FreeU能有效改善生成样本的细节和质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FreeU: 无需训练直接提升扩散模型生成效果。

paper:https://arxiv.org/abs/2309.11497

code:GitHub - ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net

1. 介绍

贡献:

  • 研究并揭示了U-Net架构在扩散模型中去噪的潜力,并确定其主要骨干主要有助于去噪,而其跳过连接将高频特征引入解码器模块。
  • 介绍了“FreeU”,利用U-Net架构的两个组件的优势,来增强U-Net的去噪能力。提高了生成质量,而不需要额外的训练或微调。
  • FreeU框架是通用的,与现有的扩散模型无缝集成。通过各种基于扩散的方法证明了样品质量的显著改善,显示了FreeU在不增加额外成本的情况下的有效性。

2. 方法

图2。去噪过程。顶部一行说明了图像在迭代中的渐进去噪过程,而随后的两行显示了傅里叶反变换后的低频和高频分量,匹配每一步。去噪过程中,低频分量变化缓慢,高频分量显著变化。

总结:Unet中跳跃连接贡献更多高频细节但会可能会影响去噪能力,基础连接贡献更多去噪能力,选择性提高基础连接权重并降低跳跃连接中低频权重可提高生成质量

如下图,其中蓝色的是跳跃连接,我们将跳跃连接特征和基础特征分别进行加权来得到更好的生成质量,其中s表示跳跃连接特征权重,b表示基础特征权重,正常来说在解码阶段U-Net会将跳跃特征和基础特征concat以后传入下一层。

图4. FreeU框架。(a) U-Net跳跃特征和主干特征。在U-Net中,跳跃特征和主干特征在每个解码阶段被串联在一起。我们在串联过程中应用FreeU操作。(b) FreeU操作。因子b旨在放大主干特征图x,而因子s则设计为减弱跳跃特征图h。

探究s和b的变化会如何影响生成图像的质量:如下图,b的变化明显影响模型的生成质量,更本质来说是会影响去噪后生成图像的平滑程度,而s的变化对于图像的影响似乎没有那么大(或者说变动范围还不够大)

图5. 主干和跳跃连接缩放因子(b和s)的影响。增加主干缩放因子b显著提高图像质量,而跳跃缩放因子s的变化对图像合成质量几乎没有影响。

 

图6. 随着主干缩放因子b的变化,傅里叶变换的相对对数振幅。增加b相应地会导致扩散模型生成的图像中高频分量的抑制。

关于频域的实验,证明跳跃特征和基础特征对于去噪后图像的高低频的影响:从图中可以看到跳跃特征的在频域中各个频率中的分量较为均衡,而基础特征中大多都是低频成分,所以我们在上图中增强b才会出现图像越来越平滑的现象,增强s时,因为s在频域分布比较均衡,所以对图像影响有限。

图7. 主干、跳跃以及它们融合的特征图的傅里叶相对对数振幅。由编码器块较早层直接通过跳跃连接传递到解码器的特征包含大量的高频信息。

所以计划对两个分量进行合理调整,来得到更高质量的图像。首先对基础特征 x 进行调整,假设 xl 代表上一层的基础特征输入,我们引入一个权重 bl 对 xl 进行增强,但是我们发现对 b 进行无差别放大时会导致最终的图像变得过度平滑,所以我们只对其中一半通道内的数据进行增强,假设 xl 的通道数为 c , xl,i 表示 xl 第 i 个通道中的数据,则有:

然后对跳跃特征 ℎ 进行调整, ℎl 表示对应解码过程中传过来的跳跃特征。为了缓解基础分量导致的过度平滑问题,需要跳跃特征中的高频成分来救场。因为通过频谱图发现跳跃特征在每个频段上分量较为一致,所以我们对其低频成分进行抑制,其中 ⊙ 表示逐元素乘,如下式,我们首先将每个通道内的特征转换到频域,然后对其进行加权:

其中,加权的权值计算如下图所示,其中 r thresh 表示半径阈值, r 表示频域转换以后的半径,半径小于 r thresh 的中心圆内的面积表示低频成分,外部表示高频成分,对于高频成分我们保留其原来的值,低频进行削弱即可: 

 

下图(消融实验可视化)很好的解释了 b 和 s 的作用:

在SD+FreeU(b)的情况下,b在推理过程中被集成,与仅SD相比,在生成生动细节方面有明显的改善。例如,当提示“一只穿着紫色长袍的胖兔子在幻想景观中行走”时,SD+FreeU(b)生成的兔子具有正常的手臂和耳朵,比SD[29]生成的兔子更真实。

然而,虽然包含特征缩放因子可以产生显著的改进,但偶尔会导致不受欢迎的纹理过平滑。为了缓解这一问题,本文引入s,旨在减少低频信息,缓解纹理过平滑问题。如图17所示,在SD+FreeU(b & s)中结合backbone和skip特征缩放因子可以生成更真实的图像。例如,在提示“A synthwave style sunset above the reflection water of the sea, digital art”中,SD+FreeU(b & s)生成的日落天空比SD+FreeU(b)表现出更强的真实感。这突出了全面的FreeU策略在平衡特征和缓解与纹理平滑相关的问题方面的有效性,最终导致更真实的图像生成。

 

图8. 解码器第二阶段的平均特征图可视化。

最终得到了FreeU框架,可以更好的增强图像质量。

3. 实验

将基准与最先进的方法(如Stable Diffusion、DreamBooth、ModelScope和render)相一致。重要的是,我们的方法与这些已建立的方法无缝集成,而不会强加任何与补充训练或微调相关的额外计算开销。

将FreeU整合到Stable Diffusion中可以改善实体描述和细粒度细节。例如,当提示“一辆蓝色汽车正在拍摄中”时,FreeU对图像进行了细化,消除了屋顶的不规则性,增强了周围结构的纹理复杂性。

表格1. 文本到图像的定量结果。基准方法和我们的方法的投票百分比。Image-Text指的是图像和文本的对齐情况。

表格2. 文本到视频的定量结果。Video-Text指的是视频和文本的对齐情况。

图18。骨干缩放因子的消融研究。(a)生成的SD图像。(b)生成的带有常数因子的FreeU图像。(c) FreeU生成的具有结构相关缩放因子图的图像。

4. 结论

本文提出一种优雅简单但非常有效的方法FreeU,大大提高了扩散模型的样本质量,而不产生任何额外的计算成本。受跳跃连接和骨干特征在U-Net架构中所起的基本作用的启发,本文深入分析了它们在扩散U-Net中的影响。研究表明,主干网主要有助于去噪,而跳跃连接主要向解码器引入高频特征,可能会导致忽视基本的主干网语义。为解决这个问题,重新权衡U-Net的跳过连接和骨干特征图的贡献。这种重新加权过程利用了U-Net两个组件的独特优势,从而大大提高了广泛的文本提示和随机种子的样本质量。所提出的FreeU可以无缝地集成到各种扩散基础模型及其下游任务中,提供了一种提高样本质量的通用方法。

讨论:

(1)几乎没有trade-off,仅仅增加了很少的计算(傅里叶变换和反傅里叶变换在gpu上都是可以并行算的)。但生成图片效果是不是真的更好,存疑,因为文章是用投票的方式来对比FreeU 和普通SD的,没有用fid和psnr,感觉不客观。

(2)b,s是设置的超参数,对不同任务有不同超参数,一般b在1-1.6,s在0-1。虽然操作很简单,但是它让skip connection 和backbone分别处理不同频率的任务,让skip connection来生成高频noise来和backbone的去噪功能做对抗,并且利于产生图像细节,而backbone仅专注去噪。

参考:FreeU: 无需训练直接提升扩散模型生成效果(Free Lunch in Diffusion U-Net) - 知乎 (zhihu.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值