MIRAS框架:关联记忆的统一视角
1. 概述
MIRAS = Memory as Associative Memory(作为关联记忆的记忆)
MIRAS提出了一个统一理论框架,将现代序列模型(Transformer、线性RNN、状态空间模型)重新概念化为由在线优化(Online Optimization)控制的关联记忆模块。1
2. 核心思想
2.1 关联记忆的认知科学基础
人类认知中存在**注意力偏见(Attention Bias)**现象:
大脑不是被动存储信息,而是主动选择性地记忆某些事件和刺激
MIRAS将这一原理引入神经网络设计,核心问题是:
如何让模型学习”什么值得记忆”?
2.2 在线优化视角
传统观点:
训练阶段:学习固定参数 θ
推理阶段:使用固定参数 θ f(x; θ)
MIRAS观点:
训练阶段:学习优化器/更新规则
推理阶段:持续更新记忆 θ_t f(x; θ_t)
关键洞察:将模型参数视为需要持续优化的变量,而非静态权重
3. 统一框架数学形式
3.1 记忆作为变量
将模型状态 建模为记忆变量的函数:
其中 是记忆状态, 是当前输入。
3.2 在线优化目标
记忆更新通过优化以下目标:
正则化项 控制记忆的稳定性 vs 可塑性权衡。
3.3 三种记忆类型
┌─────────────────────────────────────────────────────────────┐
│ MIRAS 记忆层次 │
├─────────────────────────────────────────────────────────────┤
│ Meta-Memory Memory (元记忆) │
│ ├── 功能:决定"什么值得记忆" │
│ └── 实现:元学习优化的注意力偏见 │
├─────────────────────────────────────────────────────────────┤
│ Persistence Memory (持久记忆) │
│ ├── 功能:长期保留关键信息 │
│ └── 实现:缓慢更新的核心知识 │
├─────────────────────────────────────────────────────────────┤
│ Neural Memory (神经记忆) │
│ ├── 功能:动态学习新模式 │
│ └── 实现:测试时在线优化的关联矩阵 │
└─────────────────────────────────────────────────────────────┘
4. 与Transformer的关系
4.1 Transformer作为关联记忆
标准Transformer的注意力机制本质上是一个关联记忆查询系统:
// 注意力 = 关联记忆查询
output = softmax(Q @ K^T / sqrt(d)) @ V
// 解释:
// - K (Key): 记忆的"索引"
// - V (Value): 记忆的"内容"
// - Q (Query): 查询请求
// - softmax: 选择性检索(关联匹配)4.2 Transformer的局限
| 问题 | 原因 |
|---|---|
| 固定上下文 | 记忆容量受限于序列长度 |
| 无持续学习 | 权重训练后冻结 |
| 计算二次方 | 注意力 |
4.3 MIRAS的改进
// MIRAS增强的记忆查询
class MIRASAttention {
// 1. 长期记忆(持久记忆)
Tensor persistent_memory;
// 2. 在线记忆(神经记忆)
Tensor neural_memory;
// 3. 元学习的选择机制
Tensor meta_selection;
// 查询时融合多层记忆
output = gate1 * query(persistent_memory) +
gate2 * query(neural_memory) +
gate3 * local_context;
}5. 与线性RNN的关系
5.1 线性RNN的关联记忆解释
线性RNN(如Mamba)的状态更新可以解释为:
这是关联记忆的压缩形式:矩阵 编码了”什么与什么关联”。
5.2 线性注意力作为关联记忆
// 线性注意力的关联记忆形式
class LinearAttention {
// 累积记忆矩阵
Tensor memory = zeros(d, d);
void update(Tensor x_new) {
// 记忆更新
memory = memory + outer_product(x_new, x_new);
}
Tensor query(Tensor q) {
// 通过记忆检索
return memory @ q; // O(d^2)
}
}5.3 MIRAS的统一视角
MIRAS指出:Transformer和线性RNN都是关联记忆的不同实现方式
| 模型 | 记忆形式 | 更新方式 |
|---|---|---|
| Transformer | KV缓存 | 梯度下降(训练时) |
| 线性RNN | 隐藏状态 | 在线优化(推理时) |
| Titans | 神经矩阵 | 在线优化(推理时) |
6. 元记忆机制
6.1 元学习的核心思想
元记忆(Meta-Memory) = 学习如何管理记忆
class MetaMemoryController {
// 决定保留什么、遗忘什么
Tensor meta_gates;
Tensor decide_what_to_remember(Tensor event, Tensor current_memory) {
// 元学习的选择网络
importance = meta_network(event, current_memory);
// 重要性决定保留程度
retain = sigmoid(importance);
return retain * event;
}
}6.2 注意力偏见建模
人类记忆研究表明:情绪强度、重复次数、新颖性影响记忆保留。
MIRAS通过学习模拟这些偏见:
# 元记忆评分函数
def meta_memory_score(event, context):
# 情绪/重要性信号
importance = importance_encoder(event)
# 重复信号
novelty = novelty_detector(event, past_events)
# 上下文相关性
relevance = relevance_encoder(event, context)
# 综合评分
score = α * importance + β * novelty + γ * relevance
return score # 用于决定记忆强度7. 测试时学习理论
7.1 持续优化的数学框架
MIRAS的测试时学习形式化为:
其中损失 可以是:
| 损失类型 | 形式 | 适用场景 |
|---|---|---|
| 重建损失 | 去噪、自编码 | |
| 预测损失 | $\ | |h_{t+k} - \hat{h}_{t+k}\ |
| 对比损失 | 嵌入学习 |
7.2 稳定性-可塑性权衡
- :完全保留旧记忆(稳定)
- :完全覆盖为新信息(可塑)
自适应选择 是MIRAS的核心创新。
7.3 遗忘机制
class AdaptiveForgetting {
Tensor forgetting_rate(Tensor memory_grad, Tensor event) {
// 基于梯度的遗忘
grad_norm = norm(memory_grad);
// 基于事件的遗忘
event_magnitude = norm(event);
// 遗忘率
alpha = sigmoid(w * grad_norm + b * event_magnitude + c);
return alpha; // [0, 1]
}
Tensor update(Tensor memory, Tensor event, Tensor grad) {
alpha = forgetting_rate(grad, event);
// 遗忘更新
return (1 - alpha) * memory + alpha * (-grad);
}
}8. 与传统RAG的对比
| 维度 | 传统RAG | MIRAS/Titans |
|---|---|---|
| 记忆位置 | 外部向量数据库 | 模型内部神经参数 |
| 更新方式 | 人工管理索引 | 自动在线学习 |
| 检索方式 | 向量相似度搜索 | 直接记忆读取 |
| 延迟 | 检索+排序开销 | 无额外延迟 |
| 一致性 | 可能检索错误 | 原生理解,无损失 |
| 上下文 | 需拼接,有限 | 无限制 |
核心区别
RAG = 外部卡片索引系统
MIRAS = 内在神经记忆系统
一个需要”翻找卡片”,一个像人脑一样”直接记住”。
9. 性能优势
9.1 效率对比
| 方法 | 100K上下文 | 500K上下文 | 1M上下文 |
|---|---|---|---|
| 标准Transformer | 基准 | OOM | OOM |
| RAG | +检索延迟 | +更高延迟 | 不适用 |
| MIRAS | 基准×1.1 | 基准×1.5 | 基准×5 |
研究表明,超过100K tokens时,MIRAS处理速度比标准Transformer快5倍。2
9.2 召回准确率
在长上下文基准测试中:
| 上下文长度 | Titans/MIRAS | 标准LLM |
|---|---|---|
| 4K | 98% | 98% |
| 32K | 96% | 85% |
| 128K | 95% | 52% |
| 1M | 94% | 无法处理 |
10. 应用场景
10.1 代码智能
# 代码仓库理解示例
class CodeUnderstandingMIRAS:
def __init__(self):
self.memory = NeuralMemory(dim=4096)
def process_large_repo(self, repo_path):
# 持续学习代码结构和依赖
for file in traverse_files(repo_path):
features = extract_features(file)
# 在线更新记忆
self.memory.update(features)
def query_architecture(self, question):
# 直接从记忆中检索,无需外部RAG
return self.memory.retrieve(question)10.2 AI Agent持久化
class PersistentAgent:
def __init__(self):
# 持久记忆:用户偏好
self.persistent_memory = PersistentMemory()
# 短期记忆:当前会话
self.working_memory = WorkingMemory()
def interact(self, user_input):
# 融合多层记忆
context = self.persistent_memory.retrieve(user_input)
context += self.working_memory.get_history()
response = self.llm.generate(context)
# 学习新偏好
self.persistent_memory.update(user_input, response)
self.working_memory.add(user_input, response)
return response10.3 科学数据分析
class ScientificDataMIRAS:
def analyze_genome(self, sequence):
# 基因组序列可能长达数百万碱基
# 传统方法需要分块处理
# MIRAS持续学习跨区域依赖
for chunk in chunk_generator(sequence, size=10000):
embeddings = self.encoder(chunk)
self.memory.update(embeddings)
# 最终分析利用完整记忆
return self.memory.analyze_dependencies()11. 总结
MIRAS提供了理解现代序列模型的统一视角:
- ✅ 统一框架:将Transformer、RNN、SSM概念化为关联记忆
- ✅ 测试时学习:记忆在推理中持续优化
- ✅ 效率优势:超长上下文5倍加速
- ✅ 持续适应:边用边学的AI系统
这标志着从**“上下文窗口”到”持续记忆”**的范式转变。
参考资料
Footnotes
-
Behrouz et al. (2025): It’s All Connected: A Journey Through Test-Time Memorization, ICLR 2026 ↩
-
Google Research: Titans + MIRAS: Helping AI have long-term memory ↩