ACT-R 与 SOAR
概述
ACT-R 和 SOAR 是认知科学中最具影响力的两个认知架构。ACT-R 强调记忆的激活机制和产生式规则的匹配,SOAR 强调问题空间搜索和经验的自动编译。两者都试图建立"统一的认知理论",但采用了截然不同的路径。
1. ACT-R (Adaptive Control of Thought — Rational)
1.1 基本架构
ACT-R 由 John Anderson (Carnegie Mellon University) 自 1976 年开始开发,当前版本为 ACT-R 7.x。
graph TD
subgraph ACT-R 架构
PM[感知模块<br/>Visual, Aural] --> BUF[缓冲区<br/>Buffers]
BUF --> PS[产生式系统<br/>Pattern Matching]
DM[声明式记忆<br/>Declarative Memory] --> BUF
PS --> DM
PS --> MM[运动模块<br/>Manual, Vocal]
PS --> GM[目标模块<br/>Goal Buffer]
GM --> PS
end
1.2 核心组件
声明式记忆 (Declarative Memory)
以块 (Chunk) 为基本单位存储事实性知识:
chunk: addition-fact-3-4
isa: addition-fact
addend1: 3
addend2: 4
sum: 7
每个块有一个激活值 \(A_i\),决定了检索的速度和概率:
其中:
- \(B_i\):基础激活 (Base-Level Activation) — 反映使用频率和时近度
- \(W_j \cdot S_{ji}\):扩散激活 (Spreading Activation) — 来自当前上下文的关联强度
- \(\epsilon_i\):噪声项(服从 Logistic 分布)
基础激活的计算:
其中 \(t_j\) 是第 \(j\) 次使用到当前的时间间隔,\(d\) 是衰减参数(通常 \(d \approx 0.5\))。
幂律遗忘
基础激活公式体现了人类记忆的幂律衰减——越久远、越少使用的记忆越难检索,这与心理学实验数据高度吻合。
检索概率:
其中 \(\tau\) 为检索阈值,\(s\) 为噪声参数。
检索延迟:
激活值越高,检索越快。
程序式记忆 (Procedural Memory)
以产生式规则 (Production Rules) 存储技能性知识:
产生式: retrieve-addition
IF 目标缓冲区包含 (isa: add, num1: =x, num2: =y, result: nil)
THEN 从声明式记忆检索 (isa: addition-fact, addend1: =x, addend2: =y)
将结果放入检索缓冲区
每条产生式规则也有一个效用值,通过强化学习更新:
其中 \(R_i\) 为获得的奖励,\(\alpha\) 为学习率。
缓冲区 (Buffers)
缓冲区是模块间通信的接口,每个缓冲区同时只能保存一个块(容量极其有限),对应了人类工作记忆的容量限制。
| 缓冲区 | 对应模块 | 功能 |
|---|---|---|
| Goal | 目标模块 | 当前目标和任务上下文 |
| Retrieval | 声明式记忆 | 记忆检索结果 |
| Visual | 视觉模块 | 视觉注意焦点 |
| Manual | 运动模块 | 运动控制指令 |
| Imaginal | 想象模块 | 问题表征的临时操作 |
1.3 ACT-R 的认知周期
每个周期(~50ms):
- 模式匹配:检查哪些产生式规则的条件被当前缓冲区内容满足
- 冲突消解:根据效用值选择最佳产生式
- 执行:触发产生式的动作部分(请求检索、设置缓冲区、发出运动指令等)
2. SOAR (State, Operator And Result)
2.1 基本架构
SOAR 由 Allen Newell、John Laird 和 Paul Rosenbloom 自 1983 年开始开发,当前版本为 Soar 9.x。
graph TD
subgraph SOAR 架构
WM[工作记忆<br/>Working Memory] --> DM2[决策过程<br/>Decision Cycle]
LTM[长期记忆] --> WM
LTM --> PM2[程序式<br/>产生式规则]
LTM --> SM[语义<br/>Semantic]
LTM --> EM[情景<br/>Episodic]
DM2 --> OP[算子应用<br/>Operator Application]
OP --> WM
DM2 -->|僵局| IMP[子目标创建<br/>Impasse & Subgoaling]
IMP -->|解决| CH[Chunking<br/>经验编译]
CH --> PM2
end
2.2 核心概念
问题空间 (Problem Space)
SOAR 将所有认知活动建模为在问题空间中的搜索:
- \(S\):状态集合
- \(O\):算子集合(状态转换函数)
- \(I\):初始状态
- \(G\):目标状态(或目标测试函数)
决策循环 (Decision Cycle)
SOAR 的每个决策循环分为五个阶段:
- 输入 (Input):从感知获取新信息到工作记忆
- 推举 (Propose):产生式规则推举可用的算子
- 评估 (Evaluate):产生式规则比较和评估候选算子
- 决策 (Decision):选择最佳算子
- 应用 (Apply):应用选中的算子,修改工作记忆
僵局与子目标 (Impasse & Subgoaling)
当决策过程无法继续时(如无可用算子、多个算子无法区分等),SOAR 自动创建子目标来解决僵局:
| 僵局类型 | 描述 | 示例 |
|---|---|---|
| Tie | 多个算子无法区分 | 两种方案看起来一样好 |
| Conflict | 多个算子互相矛盾 | 一个规则建议前进,另一个建议后退 |
| No-change | 没有可用算子 | 不知道该怎么做 |
| Constraint-failure | 选中的算子无法应用 | 前提条件不满足 |
2.3 Chunking:经验的自动编译
Chunking 是 SOAR 最核心的学习机制。当子目标被解决后,SOAR 自动将解决过程编译为新的产生式规则:
过程:
- 子目标中的推理解决了僵局
- SOAR 回溯分析:哪些工作记忆元素导致了这个结果?
- 将这些元素作为条件,将结果作为动作,创建新产生式规则
- 下次遇到相同情况时,直接匹配新规则,无需再创建子目标
类比:就像人类第一次解数学题需要推导,多次练习后可以直接"看出"答案。
2.4 长期记忆类型 (Soar 9+)
| 记忆类型 | 存储内容 | 访问方式 |
|---|---|---|
| 程序式 | 产生式规则 | 自动匹配(并行) |
| 语义 | 事实和概念(图结构) | 查询检索 |
| 情景 | 过去经历的快照 | 时间线查询或内容查询 |
交叉引用
记忆系统的详细讨论见 情景与语义记忆。
3. ACT-R 与 SOAR 对比
3.1 核心差异
| 维度 | ACT-R | SOAR |
|---|---|---|
| 理论目标 | 认知模型(模拟人类) | 通用智能(AGI) |
| 核心机制 | 激活 + 效用 | 搜索 + Chunking |
| 记忆 | 激活值驱动检索 | 产生式匹配 + 语义/情景 |
| 学习 | 激活调整 + 效用学习 | Chunking + RL |
| 并行性 | 缓冲区级并行 | 产生式级并行 |
| 时间建模 | 精确时间预测(ms级) | 不强调时间预测 |
| 应用领域 | 心理学实验模拟 | 游戏AI、机器人、军事 |
| 编程语言 | Lisp | C++/Java/Python |
3.2 处理同一问题的对比
任务:计算 3 + 4
ACT-R 方式:
1. 目标缓冲区: (add num1:3 num2:4 result:nil)
2. 产生式匹配: retrieve-addition 触发
3. 声明式记忆检索: addition-fact-3-4 (激活值最高)
4. 检索成功: sum = 7
5. 产生式匹配: store-result 触发
6. 目标缓冲区: (add num1:3 num2:4 result:7)
SOAR 方式:
1. 状态: (add ^num1 3 ^num2 4 ^result nil)
2. 推举算子: recall-sum, count-up, count-down
3. 评估: recall-sum 优先级最高
4. 应用 recall-sum: 匹配已知事实 3+4=7
5. 状态更新: (add ^num1 3 ^num2 4 ^result 7)
如果没有直接记忆(触发僵局),SOAR 会创建子目标,通过计数策略求解,然后 Chunk 学习:
子目标: 通过 count-up 策略求解
Chunk: IF (add ^num1 3 ^num2 4) THEN (^result 7)
4. 与现代 LLM 智能体的联系
4.1 概念映射
| 经典概念 | LLM 智能体对应 |
|---|---|
| ACT-R 声明式记忆 | 向量数据库 + RAG |
| ACT-R 激活值 | 嵌入相似度 + 时间衰减 |
| ACT-R 产生式规则 | 工具定义 + 系统提示 |
| SOAR 问题空间搜索 | Tree of Thoughts |
| SOAR 僵局 → 子目标 | "我不确定,让我分解这个问题" |
| SOAR Chunking | 经验总结写入记忆 (Reflexion) |
4.2 启发
- ACT-R 的激活机制:可以用来设计 LLM 智能体的记忆检索优先级
- SOAR 的 Chunking:类似于 Reflexion 中将经验编译为语言化规则
- ACT-R 的时间预测:可以用来建模 LLM 智能体的响应延迟
- SOAR 的子目标:类似于 LLM 智能体的任务分解和递归规划
5. 其他重要认知架构
| 架构 | 核心特点 |
|---|---|
| CLARION | 双过程理论(显式+隐式知识) |
| Icarus | 层级概念和技能 |
| LIDA | 全局工作空间理论 |
| Sigma | 图模型统一认知功能 |
| OpenCog | 开源 AGI 认知架构 |
总结
ACT-R 和 SOAR 代表了认知架构研究的两大传统:ACT-R 更注重对人类认知的精确建模,SOAR 更注重通用问题求解能力。两者的核心思想——激活机制、产生式推理、问题空间搜索、经验编译——在 LLM 时代以新的形式得到了延续和发展。
参考文献
- Anderson, J.R. (2007). How Can the Human Mind Occur in the Physical Universe? Oxford University Press.
- Anderson, J.R. et al. (2004). An Integrated Theory of the Mind. Psychological Review, 111(4), 1036-1060.
- Laird, J.E. (2012). The Soar Cognitive Architecture. MIT Press.
- Newell, A. (1990). Unified Theories of Cognition. Harvard University Press.
- Laird, J.E., Newell, A. & Rosenbloom, P.S. (1987). SOAR: An Architecture for General Intelligence. Artificial Intelligence, 33(1), 1-64.