在标准的UNet结构中,long skip connection上的scaling系数一般为1。
然而,在一些著名的扩散模型工作中,比如Imagen, Score-based generative model,以及SR3等等,它们都设置了,并发现这样的设置可以有效加速扩散模型的训练。
质疑Scaling然而,Imagen等模型对skip connection的Scaling操作在原论文中并没有具体的分析,只是说这样设置有助于加速扩散模型的训练。
首先,这种经验上的展示,让我们并搞不清楚到底这种设置发挥了什么作用?
另外,我们也不清楚是否只能设置,还是说可以使用其他的常数?
不同位置的skip connection的「地位」一样吗,为什么使用一样的常数?
对此,作者有非常多的问号……
图片
理解Scaling
一般来说,和ResNet以及Transformer结构相比,UNet在实际使用中「深度」并不深,不太容易出现其他「深」神经网络结构常见的梯度消失等优化问题。
另外,由于UNet结构的特殊性,浅层的特征通过long skip connection与深层的位置相连接,从而进一步避免了梯度消失等问题。
那么反过来想,这样的结构如果稍不注意,会不会导致梯度过猛、参数(特征)由于更新导致震荡的问题?
图片
通过对扩散模型任务在训练过程中特征和参数的可视化,可以发现,确实存在不稳定现象。
参数(特征)的不稳定,影响了梯度,接着又反过来影响参数更新。最终这个过程对性能有较大的不良干扰的风险。因此需要想办法去控制这种不稳定性。
进一步的,对于扩散模型。UNet的输入是一个带噪图像,如果要求模型能从中准确预测出加入的噪声,这需要模型对输入有很强的抵御额外扰动的鲁棒性。
论文:https://arxiv.org/abs/2310.13545
代码:https://github.com/sail-sg/ScaleLong
研究人员发现上述这些问题,可以在Long skip connection上进行Scaling来进行统一地缓解。
从定理3.1来看,中间层特征的震荡范围(上下界的宽度)正相关于scaling系数的平方和。适当的scaling系数有助于缓解特征不稳定。
不过需要注意的是,如果直接让scaling系数设置为0,确实最佳地缓解了震荡。(手动狗头)
但是UNet退化为无skip的情况的话,不稳定问题是解决了,但是表征能力也没了。这是模型稳定性和表征能力的trade-off。
图片
类似地,从参数梯度的角度。定理3.3也揭示了scaling系数对梯度量级的控制。
图片
进一步地,定理3.4还揭示了long skip connection上的scaling还可以影响模型对输入扰动的鲁棒上界,提升扩散模型对输入扰动的稳定性。
成为Scaling
通过上述的分析,我们清楚了Long skip connection上进行scaling对稳定模型训练的重要性,也适用于上述的分析。
接下来,我们将分析怎么样的scaling可以有更好的性能,毕竟上述分析只能说明scaling有好处,但不能确定怎么样的scaling最好或者较好。
一种简单的方式是为long skip connection引入可学习的模块来自适应地调整scaling,这种方法称为Learnable Scaling (LS) Method。我们采用类似SENet的结构,即如下所示(此处考虑的是代码整理得非常好的U-ViT结构,赞!)
图片
从本文的结果来看,LS确实可以有效地稳定扩散模型的训练!进一步地,我们尝试可视化LS中学习到的系数。
如下图所示,我们会发现这些系数呈现出一种指数下降的趋势(注意这里第一个long skip connection是指连接UNet首尾两端的connection),且第一个系数几乎接近于1,这个现象也很amazing!
图片
基于这一系列观察(更多的细节请查阅论文),我们进一步提出了Constant Scaling (CS) Method,即无需可学习参数的:
CS策略和最初的使用的scaling操作一样无需额外参数,从而几乎没有太多的额外计算消耗。
虽然CS在大多数时候没有LS在稳定训练上表现好,不过对于已有的策略来说,还是值得一试。
上述CS和LS的实现均非常简洁,仅仅需要若干行代码即可。针对各(hua)式(li)各(hu)样(shao)的UNet结构可能需要对齐一下特征维度。(手动狗头+1)
最近,一些后续工作,比如FreeU、SCEdit等工作也揭示了skip connection上scaling的重要性,欢迎大家试用和推广。
以上是几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling的详细内容。更多信息请关注PHP中文网其他相关文章!

辛普森的悖论:揭示数据中的隐藏趋势 您是否曾经被统计数据误导?辛普森(Simpson)的悖论展示了汇总数据如何掩盖关键趋势,从而揭示了分析多个级别数据的重要性。这个简洁的gui

介绍 名义数据构成了数据分析的基石,在统计,计算机科学,心理学和营销等各个领域中起着至关重要的作用。 本文深入研究了Nomi的特征,应用和区分

介绍 在机器学习的动态世界中,使用最小数据有效生成精确的响应至关重要。 一声提示提供了一个强大的解决方案,使AI模型仅使用一个示例执行特定任务

自2008年以来,我一直倡导这辆共享乘车面包车,即后来被称为“ Robotjitney”,后来是“ Vansit”,这是城市运输的未来。 我预见这些车辆是21世纪的下一代过境解决方案Surpas

革新结帐体验 Sam's Club的创新性“ Just Go”系统建立在其现有的AI驱动“扫描和GO”技术的基础上,使会员可以在购物旅行期间通过Sam's Club应用程序进行扫描。

NVIDIA在GTC 2025上的增强可预测性和新产品阵容 NVIDIA是AI基础架构的关键参与者,正在专注于提高其客户的可预测性。 这涉及一致的产品交付,达到绩效期望以及

Google的Gemma 2:强大,高效的语言模型 Google的Gemma语言模型家族以效率和性能而庆祝,随着Gemma 2的到来而扩展。此最新版本包括两种模型:270亿个参数VER

这一领先的数据剧集以数据科学家,天体物理学家和TEDX演讲者Kirk Borne博士为特色。 Borne博士是大数据,AI和机器学习的著名专家,为当前状态和未来的Traje提供了宝贵的见解


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!