# 核心发现与反直觉结论 ## 最大的突破: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 | 效果微乎其微 | ## 下一步建议 ### 短期(原型验证) 1. 实现 Hybrid Memory(KV store + Hebbian W) 2. 接 Gemma 4 API,text → recall → context injection 3. 在真实对话数据上测试 ### 中期(优化) 1. 用 FAISS 替代暴力 NN lookup 2. 在语义 embedding 上训练 learned separator(需要真实数据) 3. 测试 float16 W 矩阵(节省一半显存) ### 长期(SNN 发挥价值) 1. 移植到 neuromorphic hardware(Loihi 2, SynSense) 2. 探索 temporal coding 做时序记忆(不只是 static embedding) 3. Online STDP 学习(对话中实时更新,不需要 nightly batch)