# 记忆子网(海马体与皮层) ## 概述 记忆子网类比人脑的**海马体与大脑皮层**,负责长期记忆的存储、索引和检索。与传统向量数据库不同,记忆子网是一个**可训练的学习系统**,能够自主构建知识关联、更新记忆权重,并支持情景记忆的时序追溯。 ### 核心职责 - **长期记忆存储**:将压缩引用包持久化存储于冷区,构建可检索的记忆库 - **情景记忆索引**:记录交互的时间戳、上下文和情感标签,支持时序回溯 - **知识图谱构建**:从记忆片段中自动提取实体与关系,构建动态知识图谱 - **关联检索**:根据当前任务上下文,检索最相关的历史记忆片段 ## 架构设计 ```mermaid graph TB Input["输入引用包"] --> Router["记忆路由器"] Router -->|"存储"| Store["记忆存储管线"] Router -->|"检索"| Retrieve["记忆检索管线"] Store --> Encoder["记忆编码器
MANN"] Encoder --> Graph["知识图谱更新
GNN"] Graph --> Cold["冷区持久化"] Retrieve --> Query["查询编码器"] Query --> Index["倒排索引搜索"] Index --> Rerank["重排序器"] Rerank --> Output["记忆引用包输出"] subgraph Storage ["存储架构"] Cold Cache["热区缓存
LRU"] IndexStore["索引存储
HNSW"] end Cache --> IndexStore IndexStore --> Cold subgraph Learning ["学习模块"] MANN["Memory-Augmented
Neural Networks"] GNN["Graph Neural
Networks"] Consolidation["记忆巩固
(sleep phase)"] end Encoder -.-> MANN Graph -.-> GNN Cold -.-> Consolidation ``` ## 训练目标 ### 目标 1:长期记忆存储与检索 训练记忆子网能够高效存储大量历史交互记录,并在需要时准确检索。 - **存储容量**:支持 ≥ 10⁸ 条记忆片段 - **写入延迟**:≤ 10ms/条 - **检索延迟**:p99 ≤ 50ms - **检索准确率**:Top-1 ≥ 90%,Top-5 ≥ 98% ### 目标 2:情景记忆索引 对每条记忆附加时间戳、上下文标签、情感值,支持按时间和场景检索。 - 时间范围查询:任意时间窗口的回忆准确率 ≥ 85% - 情景聚类:同场景记忆的聚类纯度 ≥ 0.8 - 遗忘曲线模拟:模拟人脑 Ebbinghaus 遗忘曲线,重塑低频记忆 ### 目标 3:知识图谱构建 从记忆片段中自动抽取实体和关系,构建可查询的知识图谱。 - 实体抽取 F1 ≥ 85%(基于预训练 NER 模型) - 关系抽取准确率 ≥ 75% - 图谱密度:≥ 5 条边/节点 - 推理路径长度:支持最多 5 跳的关系推理 ## 训练计划 ### 阶段 1:Memory-Augmented Neural Networks(MANN)预训练 **目标**:训练记忆增强神经网络,使其具备快速读写外部记忆的能力。 - **模型架构**:基于 Differentiable Neural Computer(DNC)改进 - 控制器:LSTM,隐藏层维度 512 - 外部记忆矩阵:N × M = 256 × 128 - 读写头:4 个并行读写头 - 记忆注意力:基于内容寻址 + 位置寻址的混合机制 - 时间链路记录:记录记忆写入的时序顺序 - **训练数据**: - 合成记忆任务:Copy、Repeat Copy、Associative Recall(Graves et al., 2016) - 真实对话数据:MultiWOZ、DSTC 系列对话数据集 - 时序序列:WikiText-103(分段记忆) - **损失函数**: - 主损失:交叉熵损失(任务预测) - 记忆使用惩罚:鼓励稀疏记忆访问 - 记忆冲突惩罚:避免写入冲突 - **优化器**:Adam(β1=0.9, β2=0.999) - **学习率**:1e-4,含 warmup 5000 steps - **梯度裁剪**:max_norm = 10 - **训练轮数**:300 epochs #### DNC 控制器更新规则 ``` # 读取 r_t = Σ_i w_t^r(i) · M_t(i) # 按读取权重加权记忆 # 写入 M_t(i) = M_{t-1}(i) ⊙ (1 - w_t^w(i) · e_t) + w_t^w(i) · a_t # 擦除后写入 # 记忆保持 w_t^r, w_t^w = attend(q_t, M_{t-1}) # 基于查询的注意力 ``` ### 阶段 2:图神经网络(GNN)知识关联训练 **目标**:构建和更新知识图谱,发现记忆间的隐式关联。 - **模型架构**:Relational Graph Convolutional Networks(R-GCN) - 层数:3 层 GCN - 隐藏维度:256 - 关系类型数:50 种预设关系 + 动态关系发现 - 聚合函数:均值聚合(mean aggregator) - 自注意力:GAT(Graph Attention Network)层提升关联权重 - **训练任务**: 1. **链接预测**:预测实体间是否存在某种关系 2. **实体分类**:预测实体的类别 3. **关系分类**:预测两个实体间的关系类型 4. **子图匹配**:识别与当前上下文最匹配的子图 - **训练数据**: - 通用知识图谱:Wikidata 子集、ConceptNet - 自构建图谱:从对话数据中自动抽取的关系三元组 - 时序图谱:Temporal Knowledge Graph(事件时序关联) - **损失函数**: - 链接预测:二元交叉熵 + 负采样(1:10 正负比) - 实体/关系分类:交叉熵 - 正则项:L2 权重衰减(5e-4) - **优化器**:AdamW - **学习率**:5e-5,线性衰减 - **训练轮数**:100 epochs ### 阶段 3:引用-拉取训练策略 **目标**:训练子网学习何时生成引用包、何时拉取完整数据,在带宽与信息量间找到平衡。 #### 训练框架 ``` 环境:模拟多轮对话任务 智能体:NextAgent(含记忆子网) 奖励信号: +1: 正确使用了历史记忆 +0.5: 引用包命中,无需完整拉取 -0.5: 不必要的完整拉取(浪费带宽) -1: 遗漏了关键记忆 -2: 检索到错误记忆导致错误输出 ``` #### 训练步骤 1. **行为克隆(Behavior Cloning)预热** - 使用专家轨迹数据(人工标注的"正确引用/拉取"决策) - 监督学习 10 epochs,初始化策略网络 2. **强化学习训练** - 算法:PPO(Proximal Policy Optimization) - Actor 网络:2 层 MLP(512 → 256 → 2 动作) - Critic 网络:2 层 MLP(512 → 256 → 1 值) - 动作空间:[引用(REFERENCE), 拉取(FETCH)] - 折扣因子 γ:0.95 - GAE λ:0.95 - clip 系数 ε:0.2 - 训练轮数:1000 episodes 3. **记忆巩固阶段(Memory Consolidation)** - 模拟"睡眠"过程:定期重放低频记忆,防止遗忘 - 使用 Experience Replay 从冷区采样 - 记忆重加权:根据访问频率动态调整记忆强度 ### 阶段 4:端到端联合训练 **目标**:将 MANN、GNN 和引用-拉取策略联合微调。 - 联合损失:L = L_MANN + λ₁·L_GNN + λ₂·L_RL - λ₁ = 0.3, λ₂ = 0.5 - 冻结策略网络的初期 10 epochs,后全部放开 - 交替训练:每 5 个 batch 的记忆检索 → 1 个 batch 的图谱更新 - 总训练轮数:50 epochs ## 评估指标 ### 记忆检索 | 指标 | 定义 | 目标值 | |------|------|--------| | Top-1 准确率 | 首条检索结果相关 | ≥ 90% | | Top-5 召回率 | 前五条中包含相关记忆 | ≥ 98% | | 平均倒数排名(MRR) | 相关记忆的排名倒数均值 | ≥ 0.92 | | 归一化折损累计增益(NDCG@10) | 排序质量 | ≥ 0.85 | ### 关联发现 | 指标 | 定义 | 目标值 | |------|------|--------| | 链接预测 Hits@10 | 图谱补全准确率 | ≥ 75% | | 关联发现 F1 | 新关联预测的精确率与召回率调和均值 | ≥ 0.7 | | 时序一致性 | 时序关系推理准确率 | ≥ 80% | | 聚类纯度 | 同主题记忆聚类纯度 | ≥ 0.85 | ### 系统性能 | 指标 | 定义 | 目标值 | |------|------|--------| | 写入延迟 | 单条记忆写入时间 | ≤ 10ms | | 检索延迟 p50 | 中位数检索响应时间 | ≤ 20ms | | 检索延迟 p99 | 99 分位检索响应时间 | ≤ 50ms | | 存储密度 | 每条记忆平均存储开销 | ≤ 1KB | | 有效压缩率 | 原始数据大小 / 引用包大小 | ≥ 10× | ### 遗忘曲线 | 指标 | 定义 | 目标值 | |------|------|--------| | 短期遗忘率 | 24h 后同场景记忆召回率 | ≥ 90% | | 长期遗忘率 | 30 天后同场景记忆召回率 | ≥ 70% | | 干扰抵抗 | 相似记忆插入后的检索准确率变化 | ≤ 5% 下降 |