Hopfield + Hebbian hybrid memory system for LLMs. Two nights of experiments (16 iterations), validated on LongMemEval (ICLR 2025). Architecture: - Single-hop: Two-Stage Hopfield (NN top-20 → softmax settle) - Multi-hop: Hebbian W matrix with WTA pattern separation - 64% on LongMemEval (500 questions), retrieval-only, no LLM dependency - 4ms latency @ 20K memories, ~1GB VRAM Key findings: - Hopfield attention solved noise tolerance (20% → 100% vs flat Hebbian) - WTA pattern separation enables 20K+ capacity - Multi-hop associative chains (6 hops, CosSim=1.0) — RAG can't do this - MiniLM-L6 is optimal (discrimination gap > absolute similarity) - Paraphrase cue augmentation: 55% → 100% on synthetic, 36% → 64% on benchmark - SNN encoder viable (CosSim 0.99) but not needed for current architecture
4.2 KiB
4.2 KiB
核心发现与反直觉结论
最大的突破:Hopfield + Hebbian 混合架构
exp07 的转折点:Fam 指出问题在网络结构,不在 hash 函数。 引入 Modern Hopfield(softmax attention over stored patterns)后:
- 1000 bg memories 下 paraphrase recall: 20% (Flat Hebbian) → 100% (Hopfield β=16)
- 加上 cue augmentation: 70% → 95% (20 pairs + 2000 bg)
- Multi-hop 在 Hopfield 上同样完美(3 hops, sim=1.0)
- 延迟可控: 4ms @ 20K memories
关键洞察:噪声容忍不是靠更好的编码(hash/SNN),而是靠更好的检索机制(attention-based settling)。
一夜实验总结
1. SNN 的价值不在我们预期的地方
预期: SNN + STDP 做记忆的存储和检索核心 实际:
- STDP 在记忆存储上不如简单的 Hebbian outer-product
- SNN 的 LIF 阈值非线性在检索时引入不必要的失真
- 真正有价值的是 SNN encoder 的 temporal coding(CosSim 0.99)和 neuromorphic 部署前景
2. Pattern Separation 才是关键,不是学习规则
WTA (Winner-Take-All) 模式分离是整个系统最关键的组件:
- 把高维稠密向量变成极稀疏二值码
- 容量从 ~0.14N 暴涨到 20K+
- 就是这一步让简单的 outer-product Hebbian 变得能用
生物学类比完全成立:海马体中齿状回(DG)的模式分离是 CA3 记忆功能的前提。
3. Consolidation 不是你想的那样
预期: Replay 防止遗忘,homeostasis 维持稳定 实际:
- Pattern separation 太强了,遗忘根本不发生(10 晚纯 homeostasis 后仍完美)
- Replay 在容量极限附近反而加速遗忘(新 outer-product 干扰旧记忆)
- Consolidation 退化为简单的存储管理问题
深层原因: 生物海马体需要 consolidation 是因为物理容量有限。数字系统可以直接扩大网络。
4. Multi-hop 是杀手级特性
A→B→C 链式联想: 6 跳全部完美,100 条链零干扰。 这是 RAG / 向量数据库不可能做到的事情。
RAG 只能做: query → nearest neighbor → result (单跳) Hebbian 能做: query → association → association → ... (多跳推理链)
5. 噪声容忍是最大短板
WTA 对输入微扰极其敏感:noise_std=0.1 就崩溃。 这意味着纯 Hebbian 不能用来做模糊查询。
解决方案:hybrid 架构——NN lookup (噪声容忍) + Hebbian W (多跳联想)。
6. 更宽的 k 比更大的 code_dim 更有用
- k=50 (16384 dim): 95% paraphrase recall
- k=20 (16384 dim): 75% paraphrase recall
- k=20 (32768 dim): 70% paraphrase recall
更多 active neurons = 更多重叠 = 更好的模糊匹配,但牺牲容量。 对个人记忆系统(< 10K memories)来说,k=50 是最优。
什么有用
| 组件 | 有效性 | 用在哪 |
|---|---|---|
| WTA Pattern Separation | ⭐⭐⭐ | 核心,不可替代 |
| Hebbian outer-product | ⭐⭐⭐ | 多跳联想存储 |
| Multi-hop chaining | ⭐⭐⭐ | 独特能力 |
| NN embedding lookup | ⭐⭐⭐ | 噪声容忍检索 |
| SNN encoder | ⭐⭐ | temporal coding + 硬件部署 |
| Coarse-to-fine recall | ⭐⭐ | 实用的 hybrid 方案 |
| Unified projection | ⭐⭐ | 多跳的前提条件 |
什么没用
| 组件 | 问题 |
|---|---|
| STDP trace-based learning | 不如直接 outer-product |
| Separate cue/target projections | 破坏多跳 |
| Sleep consolidation (replay) | 在大网络中不必要,在小网络中有害 |
| Soft WTA | 零区分度 |
| Multi-probe hashing | 完全不工作 |
| Learned separator (on random data) | 没有语义结构则无法学习 |
| Noisy replay for robustness | 效果微乎其微 |
下一步建议
短期(原型验证)
- 实现 Hybrid Memory(KV store + Hebbian W)
- 接 Gemma 4 API,text → recall → context injection
- 在真实对话数据上测试
中期(优化)
- 用 FAISS 替代暴力 NN lookup
- 在语义 embedding 上训练 learned separator(需要真实数据)
- 测试 float16 W 矩阵(节省一半显存)
长期(SNN 发挥价值)
- 移植到 neuromorphic hardware(Loihi 2, SynSense)
- 探索 temporal coding 做时序记忆(不只是 static embedding)
- Online STDP 学习(对话中实时更新,不需要 nightly batch)