G51:Sequential Fine-Tuning、Replay 与数据预算
Replay 通过在学习新任务时重放有限旧样本来降低参数覆盖,但收益取决于缓冲区选择、任务顺序和数据预算,并以存储、隐私与旧分布固化为代价。
内容类型:预习教材(不代表已完成)
日期:2027-04-13
阶段:P3 · AGI Foundations 90
总路线:Day 231 / 360
周次:W8 · Continual、Meta 与 Transfer Learning
节奏:周二最小机制
状态:教材已备;学习未完成
标签:sequential-learning、replay、reservoir-sampling、forgetting、data-budget
一句话定义
Replay 通过在学习新任务时重放有限旧样本来降低参数覆盖,但收益取决于缓冲区选择、任务顺序和数据预算,并以存储、隐私与旧分布固化为代价。
学习目标
- 从零实现 naive sequential fine-tuning 与固定容量 replay。
- 理解 reservoir、class-balanced 与 hard-example selection 的偏差。
- 在相同训练步和数据访问预算下比较学习与遗忘。
- 说明 replay 不适合保留的敏感数据和过时分布。
核心知识
- Naive sequential training 在任务 (B) 上优化 (L_B(\theta)),梯度可能沿损害任务 (A) 的方向更新共享参数。遗忘不是参数“删除”这么简单,而是决策边界、表示或校准变化。
- Experience replay 优化混合 loss:当前 batch 加缓冲区旧样本。它近似 joint training,但缓冲区有限且采样有偏。
- Reservoir sampling 在未知流长下,使已见每个样本以相同概率进入容量 (K) 的缓冲区;class-balanced replay 则主动保持类别比例,改变真实流分布。
- Replay ratio 过高可提高稳定性却降低新任务 plasticity;过低可能无效。比较时应保持总 optimizer steps 或样本处理数,避免 replay 方法单纯获得更多计算。
- 保存原始样本可能违反保留期限或隐私。生成式 replay 又引入生成误差与递归污染,不能只从准确率选择。
机制与推导
在任务 (t) 当前 batch (B_t) 与 memory batch (B_M) 上:
[ L(\theta)=\frac{1}{|B_t|}\sum_{x\in B_t}\ell(x;\theta) +\lambda\frac{1}{|B_M|}\sum_{x\in B_M}\ell(x;\theta) ]
(\lambda) 改变稳定—可塑取舍。也可看梯度夹角:
[ cos(g_t,g_M)=\frac{g_t^\top g_M}{|g_t||g_M|} ]
负值提示当前和旧任务梯度冲突,但局部夹角不等于最终遗忘因果证明。
Reservoir 规则:见到第 (n>K) 个样本时,以概率 (K/n) 选入,若选入则均匀替换一个槽。这样每个历史样本保留概率约 (K/n)。它对时间公平,却未必对稀有任务、类别或风险公平。
在相同总预算 (B) 下,若 replay 占比 (r),当前任务有效样本更新约为 ((1-r)B)。因此新任务学习慢可能只是预算被旧样本占用,应同时画旧任务保留与新任务曲线。
最小练习或观察步骤
- 构造两个顺序二分类任务:第二任务旋转输入或交换部分标签,保留可调相似性。
- 实现 naive fine-tuning、容量 (K\in{20,100}) 的 reservoir replay,以及可选 class-balanced replay。
- 固定总训练样本处理数,记录任务 A 在学 B 前后、任务 B 的学习曲线与整体 ACC。
- 记录缓冲区任务/类别组成,检查 reservoir 是否遗漏稀有子群;不要只看容量数字。
- 改变 replay ratio 一次,观察稳定与 plasticity,而不是搜索“最好超参”。
- 写出真实业务中哪些数据不可 replay,并提出权威规则库或匿名统计等替代,不实际使用敏感数据。
常见误区与边界
- Replay 方法多处理旧样本却与相同步数的 naive 方法比较,计算预算不公平。
- 缓冲区随机就认为无偏,忽略流中任务时长和稀有子群。
- 旧任务保持就宣称 continual learning 成功,新任务可能几乎没学。
- 保存全部历史数据,把合规和隐私当作模型之外的问题。
- 用生成式 replay 而不检查生成分布漂移和来源。
- 两任务 toy 只能展示干扰与缓冲机制,不能代表无限任务、开放世界或长期人格。
研究/系统场景连接
金融交易样本具有保留期限、敏感属性和制度变化,不能无条件长期 replay。更稳妥的系统可能冻结基础模型、外部化时效规则、只在受控环境维护去标识样本,并保留版本。Agent 的跨会话 memory replay 也不等于模型 replay:前者检索事件,后者改变参数。研究记录应清楚标注数据来源、采样和删除边界。
自检问题
- Replay loss 中 (\lambda) 如何影响 stability 与 plasticity?
- Reservoir sampling 对哪些意义上的样本公平,对哪些不公平?
- 为什么必须控制总样本处理或训练步数?
- 梯度冲突能说明什么,不能说明什么?
- 哪些业务数据不应进入长期 replay buffer?
专业课程对齐
- 阅读 EWC 原始论文,把 replay 与正则化视为两种不同稳定机制,比较其数据访问假设。
- 对齐 Stanford CS330 中 transfer、meta-learning 与相关学习范式,选择与 task distribution 直接相关的材料即可。
- 阅读 Learning to Learn by Gradient Descent by Gradient Descent,将 learned optimizer 视为另一种跨任务归纳偏置,不与经验 replay 混为一谈。
深入学习提示
进一步可研究 prioritized replay、gradient episodic memory、coreset 与 privacy-aware continual learning。先画 buffer composition 和每任务曲线,再谈复杂选择器。若方法保存旧能力却固化过时偏差,也应记录为负面取舍,而不是只看遗忘率。
学后填写区
- 实际实现的任务与 replay:
- 总预算控制方式:
- buffer 组成:
- stability/plasticity 观察:
- 数据保留边界:
- 尚未理解的问题: