# 实验3:Sleep Consolidation ## 实验 3a:标准配置下的 Consolidation(code_dim=16384, k=20) **结论:Consolidation 基本没有效果。** 因为 pattern separation 太强了: - 20,000 memories 全部完美召回,consolidation 没有优化空间 - 10 晚纯 homeostasis(无 replay)后仍然 CosSim=1.0 - Replay 只是让 W_norm 膨胀(200 → 1644) Noisy replay 对噪声容忍的改善极其微小(noise=0.05 时 54%→60%),不值得。 ## 实验 3b:小网络下的 Consolidation(code_dim=2048, k=50) ### 容量边界 | N | CosSim (无 consol) | CosSim (有 consol) | |---|---|---| | 500 | 1.0000 | 0.9999 | | 1000 | 0.9752 | 0.9754 | | 2000 | 0.8019 | 0.8021 | **Consolidation 对容量没有帮助。** 干扰来自 pattern 重叠,replay 不能解决这个问题。 ### 7 天场景(核心发现)⚠️ 每天学 200 条新记忆,每晚 consolidate: | 天数 | 总记忆 | Day1 记忆 | 今日记忆 | 全局精度 | |------|--------|-----------|----------|----------| | Day 1 | 200 | 1.000 | 1.000 | 100% | | Night 2 后 | 400 | 0.989 | - | 100% | | Night 3 后 | 600 | 0.770 | - | 100% | | Night 5 后 | 1000 | 0.252 | - | 71% | | Night 7 后 | 1400 | 0.072 | 0.535 | 50% | **Consolidation 反而加速了旧记忆的遗忘!** 原因: 1. Replay 添加新的 outer product → 增加干扰 2. Selective clear (保留 30%) 意味着旧记忆得不到 replay 3. W_norm 持续增长(749 → 4000),信噪比恶化 ### Homeostasis 对稳定系统无影响 500 pairs + 10 晚 consolidation,无论 hf=0.70 还是 1.0,CosSim 都 ≥ 0.9998。 WTA 纠错码太强,只要容量够,权重缩放不影响结果。 ## 关键结论 ### Consolidation 的真正价值(不是我们预期的) 1. ❌ **不是防止遗忘**——pattern separation 已经解决了 2. ❌ **不是提升容量**——容量由 code_dim/k 决定,不由 W 训练策略决定 3. ✅ **是 W_norm 管理**——防止权重无限增长 4. ✅ **是选择性遗忘**——当接近容量极限时,主动丢弃不重要的记忆 ### 正确的 Consolidation 策略 当前的"replay + homeostasis"策略是错误的。更好的方案: 1. **W 重建法**:保存所有 (cue_code, target_code) 对,每晚从零重建 W = Σ target ⊗ cue - 保证一致性,不累积误差 - 可以选择性丢弃不重要的 pair(实现遗忘曲线) - O(N × code_dim²) 但只需每晚一次 2. **容量监控 + 动态扩展**:监控召回精度,接近极限时扩大 code_dim 3. **实际推荐**:直接用大 code_dim(16384+),容量 20K+ 够用几年的对话历史。 Consolidation 简化为:每晚检查 W_norm,如果过大就重建。 ### 对整体架构的启示 生物海马体需要 consolidation 是因为它容量有限(~数天),需要把记忆转移到皮层。 但在我们的数字系统中,可以直接用更大的 code_dim 来规避容量问题。 Consolidation 退化为一个简单的**存储管理**问题,不需要复杂的 replay 机制。