0

0

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

PHPz

PHPz

发布时间:2024-03-01 10:01:02

|

626人浏览过

|

来源于51CTO.COM

转载

在标准的UNet结构中,long skip connection上的scaling系数

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling一般为1。

然而,在一些著名的扩散模型工作中,比如Imagen, Score-based generative model,以及SR3等等,它们都设置了几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling,并发现这样的设置可以有效加速扩散模型的训练。

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

质疑scaling然而,imagen等模型对skip connection的scaling操作在原论文中并没有具体的分析,只是说这样设置有助于加速扩散模型的训练。

首先,这种经验上的展示,让我们并搞不清楚到底这种设置发挥了什么作用?

另外,我们也不清楚是否只能设置几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling,还是说可以使用其他的常数?

不同位置的skip connection的「地位」一样吗,为什么使用一样的常数?

对此,作者有非常多的问号……

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling图片

理解Scaling

一般来说,和ResNet以及Transformer结构相比,UNet在实际使用中「深度」并不深,不太容易出现其他「深」神经网络结构常见的梯度消失等优化问题。

另外,由于UNet结构的特殊性,浅层的特征通过long skip connection与深层的位置相连接,从而进一步避免了梯度消失等问题。

那么反过来想,这样的结构如果稍不注意,会不会导致梯度过猛、参数(特征)由于更新导致震荡的问题?

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling图片

通过对扩散模型任务在训练过程中特征和参数的可视化,可以发现,确实存在不稳定现象。

参数(特征)的不稳定,影响了梯度,接着又反过来影响参数更新。最终这个过程对性能有较大的不良干扰的风险。因此需要想办法去控制这种不稳定性。

进一步的,对于扩散模型。UNet的输入是一个带噪图像,如果要求模型能从中准确预测出加入的噪声,这需要模型对输入有很强的抵御额外扰动的鲁棒性。

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

论文:https://arxiv.org/abs/2310.13545

代码:https://github.com/sail-sg/ScaleLong

研究人员发现上述这些问题,可以在Long skip connection上进行Scaling来进行统一地缓解。

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

从定理3.1来看,中间层特征的震荡范围(上下界的宽度)正相关于scaling系数的平方和。适当的scaling系数有助于缓解特征不稳定。

不过需要注意的是,如果直接让scaling系数设置为0,确实最佳地缓解了震荡。(手动狗头)

但是UNet退化为无skip的情况的话,不稳定问题是解决了,但是表征能力也没了。这是模型稳定性和表征能力的trade-off。

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling图片

类似地,从参数梯度的角度。定理3.3也揭示了scaling系数对梯度量级的控制。

刺鸟创客
刺鸟创客

一款专业高效稳定的AI内容创作平台

下载

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling图片

进一步地,定理3.4还揭示了long skip connection上的scaling还可以影响模型对输入扰动的鲁棒上界,提升扩散模型对输入扰动的稳定性。

成为Scaling

通过上述的分析,我们清楚了Long skip connection上进行scaling对稳定模型训练的重要性,几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling也适用于上述的分析。

接下来,我们将分析怎么样的scaling可以有更好的性能,毕竟上述分析只能说明scaling有好处,但不能确定怎么样的scaling最好或者较好。

一种简单的方式是为long skip connection引入可学习的模块来自适应地调整scaling,这种方法称为Learnable Scaling (LS) Method。我们采用类似SENet的结构,即如下所示(此处考虑的是代码整理得非常好的U-ViT结构,赞!)

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling图片

从本文的结果来看,LS确实可以有效地稳定扩散模型的训练!进一步地,我们尝试可视化LS中学习到的系数。

如下图所示,我们会发现这些系数呈现出一种指数下降的趋势(注意这里第一个long skip connection是指连接UNet首尾两端的connection),且第一个系数几乎接近于1,这个现象也很amazing!

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling图片

基于这一系列观察(更多的细节请查阅论文),我们进一步提出了Constant Scaling (CS) Method,即无需可学习参数的:

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

CS策略和最初的使用几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling的scaling操作一样无需额外参数,从而几乎没有太多的额外计算消耗。

虽然CS在大多数时候没有LS在稳定训练上表现好,不过对于已有的几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling策略来说,还是值得一试。

上述CS和LS的实现均非常简洁,仅仅需要若干行代码即可。针对各(hua)式(li)各(hu)样(shao)的UNet结构可能需要对齐一下特征维度。(手动狗头+1)

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

最近,一些后续工作,比如FreeU、SCEdit等工作也揭示了skip connection上scaling的重要性,欢迎大家试用和推广。

相关专题

更多
li是什么元素
li是什么元素

li是HTML标记语言中的一个元素,用于创建列表。li代表列表项,它是ul或ol的子元素,li标签的作用是定义列表中的每个项目。本专题为大家li元素相关的各种文章、以及下载和课程。

419

2023.08.03

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

424

2026.01.21

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2059

2024.08.16

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

25

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

117

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

178

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

16

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 3.4万人学习

Go 教程
Go 教程

共32课时 | 4.1万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号