最近在使用图像生成AI模型,特别是 LoRA(低秩适应) 的人群中,最常被问到的问题之一是 "在对现有模型添加新数据进行学习(微调)时,之前的数据该怎么办?"
寻找这个问题的答案过程就像是给我们提供了对 人类学习和记忆机制 的有趣洞察。通过我与一位朋友的对话,我将详细阐述LoRA模型更新的核心原理和最佳配方。
1. LoRA学习的疑问:是覆盖还是保留?
向我提问的朋友的主要疑问如下。
Q. 如果我在用现有的20张图片制作的LoRA模型上添加新的10张图片进行二次训练,是否需要将原来的20张数据包含在二次学习中?如果不包含,是否会完全忘记原有特征?
这个问题需要对LoRA的学习方式有根本的理解。
2. LoRA学习的原理:记忆的统计更新
结论是, LoRA不是将数据存储为“记忆”,而是不断覆盖对数据分析得出的“统计权重(Weight)”。
更新“统计”的方式
-
第一次学习(20张): 创建反映20张特征的权重状态。这个权重文件中包含20张图片的风格、面孔、姿势等特征的数值。
-
第二次学习(仅追加10张): 从现有的权重状态出发,开展朝向新的10张数据的权重推拉工作。
此时,20张原始图片并不保存在文件中。因此, 如果只用10张进行学习,模型将开始朝10张的特征迅速倾斜,而原有20张的特征逐渐模糊。
💡 关键: 不添加原始数据并不会导致“完全遗忘”的极端情况,但 新的数据的统计压倒了原有特征模糊的可能性非常大。尤其是设置高 学习率(LR) 或延长 步数 时,遗忘速度会更快。
3. 最佳解决方案:平衡的复习策略
如果目标是在保持现有模型的一致性和基本氛围的同时,加强新特征,最安全、最标准的方法是将原有数据与新数据混合进行30张的重新学习。
标准配方:20张 + 10张 = 30张重新学习
| 目的 | 数据组成 | 学习设置(与第一次相比) | 效果 |
|---|---|---|---|
| 维持原有 + 微调 | 原有20张 + 新增10张 | 低学习率(例如:1.0 $\rightarrow$ 0.3~0.5),短步数(100~300步) | 在维持原有身份的同时,朝新数据方向微调(Fine-Tuning) |
| 提高新数据比例 | 原有20张 + 新增10张 (仅对新增10张 设置 num_repeats 为2倍等) |
低学习率,短步骤 | 基于原有特征的基础上,调节权重以便更快反映新增10张的特征 |
这种方法与人类在学习新知识时与旧知识进行复习以增强长时记忆的原则相同。
4. 类似人类记忆的机器学习现象
这些现象惊人地 “与人类学习非常相似”。实际上,深度学习中观察到的现象使人联想到人类的记忆机制。
| 现象(机器学习术语) | 与人类学习/记忆的相似点 | LoRA的应用案例 |
|---|---|---|
| 灾难性遗忘(Catastrophic Forgetting) | 就像只写新密码后忘记旧密码一样。 | 仅用新数据(10张)进行长期学习时,快速遗忘原有数据(20张)的特征。 |
| 复习的重要性 | 将复习混入学习中可以增强长期记忆。 | 必须将原有20张 + 新增10张混合学习,以维持和增强平衡的特征。 |
| 过拟合(Overfitting) | 只死记考试问题而缺乏应用能力的人。 | 对特定数据学习过长或过重,就会影响对其他提示的应用能力。 |
总之,在LoRA的微调过程中经历的 遗忘、复习的必要性、适时的停顿(Honey Spot) 等,都是与 “如何学习、如何遗忘、如何复习” 的认知科学思考息息相关。
我们使用的深度学习模型虽然受到人脑结构的启发,但仍然是数学上可实现的统计近似值。尽管如此,这个系统表现出与人类学习类似的现象,实在是超越工程的哲学和有趣的点。
5. 处理LoRA就是处理“平衡”
LoRA模型更新并不仅仅是文件的覆盖操作。
这是一种理解原数据的“统计痕迹”,调整新数据的“比例”,并通过调节学习强度(LR和步数)来微调模型的“记忆”的过程。这要求我们对模型的身份是否维持或是否彻底颠覆以新特征决定的平衡感。
下次进行LoRA微调时,请不要单纯地输入数字,而是思考“这会对模型的记忆产生什么影响?”,以此来接近。这种直觉正是操纵模型如愿的真正专家的心得!

目前没有评论。