deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
楼主: dfl9999

找ai撸了一晚上代码,终于实现训练过程中学习率的动态调整

[复制链接]

0

主题

93

帖子

1483

积分

初级丹圣

Rank: 8Rank: 8

积分
1483

万事如意节日勋章

发表于 3 天前 | 显示全部楼层
dfl9999 发表于 2025-8-11 19:11
你们不训练预训练模型的话这个功能对你们用处不大

很多做预训练的,希望能分享出来,感谢!
回复 支持 反对

使用道具 举报

40

主题

555

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
19142
 楼主| 发表于 3 天前 | 显示全部楼层
july 发表于 2025-8-12 08:13
很多做预训练的,希望能分享出来,感谢!

好的
回复 支持 反对

使用道具 举报

6

主题

264

帖子

2062

积分

初级丹圣

Rank: 8Rank: 8

积分
2062

万事如意节日勋章

发表于 前天 00:16 | 显示全部楼层
本帖最后由 Cxsmo 于 2025-8-13 00:17 编辑

dfl9999 Posted on 2025-8-11 02:35
Unless the developers can make a major breakthrough in gan modeling, some minor feature tweaks why ...


progressive learning also way better xseg and also object overlay training and d-aug and also static mask support and other stuff like hard mining also option for ram cache and stuff
回复 支持 反对

使用道具 举报

40

主题

555

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
19142
 楼主| 发表于 前天 00:38 | 显示全部楼层
Cxsmo 发表于 2025-8-13 00:16
dfl9999 Posted on 2025-8-11 02:35
Unless the developers can make a major breakthrough in gan modelin ...

So when?
回复 支持 反对

使用道具 举报

14

主题

3449

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
18785

真我风采勋章万事如意节日勋章

发表于 前天 11:14 | 显示全部楼层
本帖最后由 wtxx8888 于 2025-8-13 12:57 编辑

减低学习率的值,LOSS值 也会直接减低。
比如现在5e-05 显示LOSS为 0.5。
改4e-05 现在就是显示 0.48或0.47。。。
要是改1e-05 现在应该显示,都不到0.4。。。 哈哈哈哈
自己继续类推吧,学习率越低,显示LOSS也越低,实际上的数据,丁点都不变。
当改回 5e-05时,当前显示的LOSS,它还是0.5,以为这是训练变快了???
学习率这东西,只要不是训练会崩溃的情况下,意义真不大。

再举点例子,很多图的LOSS很低(比如0.1),肉眼看着还糊的一批。
而LOSS高的却很清晰(比如0.4),平常时看预览,这是经常见的吧?
还有分辨图片,是否模糊的算法,也会经常模糊当清晰,清晰的当模糊。
所以,电脑算法报的实际结果,跟肉眼所见,很可能,差别是巨大的。

所以吧,学习率就是个,仁者见仁智者见智的东西,不用太死扣。
回复 支持 反对

使用道具 举报

3

主题

90

帖子

2136

积分

初级丹圣

Rank: 8Rank: 8

积分
2136
发表于 前天 17:58 | 显示全部楼层
学习率:控制每一步 步伐的大小
LOSS函数:控制走路的方向
举例 :当要画一个直径10的圆时,
学习率高:第一次画个15,loss函数说大了,下一次画小点,第二次有画了5,loss函数又说小了,画大点,第三次又画20,loss函数大了,第四次 4,loss函数小了,如此反复,呈现出来嗯结果就是loss波动剧烈

学习率小:第一次画15,loss函数 大了,第二次 14.9,loss函数 大了,第三次 14.8 loss 函数说还是大,后面就0.1的不断缩小,呈现出来的结果就是loss函数很平稳,缓慢下降,结果就是费时间

学习率高低 代表 波动范围,步子大了 可能一下就到了终点,但也可能跨过了界。步子小了,路虽然走对了,但是到终点时间长了。

不同阶段采用不同学习率能加快训练,错误使用反而是浪费时间,自费武功。

DFL作者为何没有自定义学习率,个人猜想,本质上由于DFL的loss函数相对简单,无法生成逼真的效果。只有简单的SSIM和MAE(为何训练出来的图像一股油画感,本质上是LOSS(MAE)函数引导生成画面过度平滑的效果),所以需要后期引入GAN来 生成细节。

LDR参数,这是一个很有用的参数,不要以为dropout就是丢失东西。LDR可以理解是在冻结参数。当编码器和解码器能力不匹配时,冻结参数,可以很好的让落后的一方迎头赶上,特别是对于练DF万能模型的情况,DST解码器往往需要解码上百人参数,而SRC解码器只需解码一人参数。DST的解码能力显然是落后SRC解码器。
回复 支持 反对

使用道具 举报

40

主题

555

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
19142
 楼主| 发表于 前天 20:34 | 显示全部楼层
wtxx8888 发表于 2025-8-13 11:14
减低学习率的值,LOSS值 也会直接减低。
比如现在5e-05 显示LOSS为 0.5。
改4e-05 现在就是显示 0.48或0.47 ...

现在我用循环学习率又练了一个,100万次了,从表现上讲,可以成为end级模型了,固定学习率转复用容易炸丹,需要调低学习率,我这个本来就是循环学习率练出来的,可以适应各种学习率
回复 支持 反对

使用道具 举报

40

主题

555

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
19142
 楼主| 发表于 前天 20:47 | 显示全部楼层
xunlian 发表于 2025-8-13 17:58
学习率:控制每一步 步伐的大小
LOSS函数:控制走路的方向
举例 :当要画一个直径10的圆时,

固定学习率一是容易让模型陷入次优解,高频细节难以捕捉,也就是看起来像但是不那么像,二是后期容易炸梯度,复用容易炸丹,循环学习率是尽可能调整模型的更新幅度让模型跳出鞍点,让潜在层尽可能拟合更多有用细节,同时让模型提早适应各种情况,我练的模型是尽可能在扭曲和lrd阶段就复现各类细节,而不是全靠gan去伪造,你们问ai,ai只会照本宣科,而且循环学习率跟lrd不冲突,循环学习率是定义全局学习率,然后优化器根据这个全局学习率再动态调整自适应学习率,lrd也不涉及调整学习率
回复 支持 反对

使用道具 举报

14

主题

3449

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
18785

真我风采勋章万事如意节日勋章

发表于 昨天 10:05 | 显示全部楼层
本帖最后由 wtxx8888 于 2025-8-14 12:05 编辑
dfl9999 发表于 2025-8-13 20:34
现在我用循环学习率又练了一个,100万次了,从表现上讲,可以成为end级模型了,固定学习率转复用容易 ...

。。。似是而非的理解。
学习率,主要是调节,拟合效应的。
任何参数不变,维持超长时间,会形成惯性,就跟人的习惯,是一个道理,这个习惯性,就叫做过拟合。
但凡有丁点,参数变动过的,都不存在,过拟合。
哪怕是,变下学习率,这种无用的玩意,也算有变动。就不会形成过拟合(习惯性)。
(这也是那个【学习率下降】的目的,有图没图交替训练【没图LOSS为0】,就算在变,所以它会抗拟合)
(也就是说你这个,跟【学习率下降】差不多。。。你要用自己的这个,可以删除【学习率下降(择优式学习)】那项)
而所谓的欠拟合,存粹就是,没训练够时长的意思。。。

低学习率,显示的LOSS值也低,以为训练是变快了吧?这纯粹就是错觉。(自己可以去测试下

炸丹,跟学习率有啥关系?是LOSS溢出下限了。
预览你看不全所有,当有任何一个样本,LOSS超出下限,即炸。
(预览图才显示几个?甚至当前BS的量,都看不全!所以根本就看不到,到底有没有,超低的LOSS)
(低学习率,LOSS值也低,所以你用低学习率???更特么容易炸啊。。。)

大幅度的图像变动,会造成数据的错乱,一但误判,出现超下限的LOSS,即炸。
(GAN变化,扭曲下换新的素材,等等,都是这么炸的。所以,减小参数再去做,就可能,不炸了变正常)
回复 支持 反对

使用道具 举报

3

主题

90

帖子

2136

积分

初级丹圣

Rank: 8Rank: 8

积分
2136
发表于 昨天 14:07 | 显示全部楼层
本帖最后由 xunlian 于 2025-8-14 14:15 编辑
dfl9999 发表于 2025-8-13 20:47
固定学习率一是容易让模型陷入次优解,高频细节难以捕捉,也就是看起来像但是不那么像,二是后期容易炸梯 ...

在DFL系统中 loss函数决定着最终生成图像的品质。
loss 函数引导者编码器和解码器 去重建SRC和DST 然后通过彼此特征匹配建立某种映射 达到换脸的效果。
训练中2 4列图像就是LOSS函数引导下所生成图像。学习率只是每次调整权重步伐的大小。
固定学习率有缺陷,容易错过最优解。所以要根据不同任务期,对应调整,最好的办法就是可以自行设定学习率,而不是用循环学习率来解决。

loss函数本身的缺陷,也会导致无法达到最优解。DFL只有简单的SSIM 和MAE,这两个函数自身就限制了模型的更深学习。高频特征不是靠学习率大小,要靠loss函数自身的能力引导。你不妨问问AI  MAE适不适合高频特征学习。

目前适合高频特征的函数:视觉感知和对抗,DFL作者选择引入对抗。

学习率怎么变,都跳不出loss函数的手掌心。

不建议在扭曲状态下追求细节,扭曲和非扭曲,都有自身主要任务重点。在扭曲状态下,去做非扭曲的工作,不是不可以,只是事倍功半而已。
回复 支持 反对

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2025-8-15 10:42 , Processed in 0.113274 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表