跳转至

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\),决定了检索的速度和概率:

\[ A_i = B_i + \sum_j W_j \cdot S_{ji} + \epsilon_i \]

其中:

  • \(B_i\)基础激活 (Base-Level Activation) — 反映使用频率和时近度
  • \(W_j \cdot S_{ji}\)扩散激活 (Spreading Activation) — 来自当前上下文的关联强度
  • \(\epsilon_i\):噪声项(服从 Logistic 分布)

基础激活的计算

\[ B_i = \ln \left( \sum_{j=1}^{n} t_j^{-d} \right) \]

其中 \(t_j\) 是第 \(j\) 次使用到当前的时间间隔,\(d\) 是衰减参数(通常 \(d \approx 0.5\))。

幂律遗忘

基础激活公式体现了人类记忆的幂律衰减——越久远、越少使用的记忆越难检索,这与心理学实验数据高度吻合。

检索概率

\[ P(\text{retrieve}_i) = \frac{1}{1 + e^{-(A_i - \tau)/s}} \]

其中 \(\tau\) 为检索阈值,\(s\) 为噪声参数。

检索延迟

\[ T_i = F \cdot e^{-f \cdot A_i} \]

激活值越高,检索越快。

程序式记忆 (Procedural Memory)

产生式规则 (Production Rules) 存储技能性知识:

产生式: retrieve-addition
  IF  目标缓冲区包含 (isa: add, num1: =x, num2: =y, result: nil)
  THEN 从声明式记忆检索 (isa: addition-fact, addend1: =x, addend2: =y)
       将结果放入检索缓冲区

每条产生式规则也有一个效用值,通过强化学习更新:

\[ U_i(n) = U_i(n-1) + \alpha [R_i(n) - U_i(n-1)] \]

其中 \(R_i\) 为获得的奖励,\(\alpha\) 为学习率。

缓冲区 (Buffers)

缓冲区是模块间通信的接口,每个缓冲区同时只能保存一个块(容量极其有限),对应了人类工作记忆的容量限制。

缓冲区 对应模块 功能
Goal 目标模块 当前目标和任务上下文
Retrieval 声明式记忆 记忆检索结果
Visual 视觉模块 视觉注意焦点
Manual 运动模块 运动控制指令
Imaginal 想象模块 问题表征的临时操作

1.3 ACT-R 的认知周期

每个周期(~50ms):

  1. 模式匹配:检查哪些产生式规则的条件被当前缓冲区内容满足
  2. 冲突消解:根据效用值选择最佳产生式
  3. 执行:触发产生式的动作部分(请求检索、设置缓冲区、发出运动指令等)

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 将所有认知活动建模为在问题空间中的搜索:

\[ \text{Problem Space} = \langle S, O, I, G \rangle \]
  • \(S\):状态集合
  • \(O\):算子集合(状态转换函数)
  • \(I\):初始状态
  • \(G\):目标状态(或目标测试函数)

决策循环 (Decision Cycle)

SOAR 的每个决策循环分为五个阶段:

  1. 输入 (Input):从感知获取新信息到工作记忆
  2. 推举 (Propose):产生式规则推举可用的算子
  3. 评估 (Evaluate):产生式规则比较和评估候选算子
  4. 决策 (Decision):选择最佳算子
  5. 应用 (Apply):应用选中的算子,修改工作记忆

僵局与子目标 (Impasse & Subgoaling)

当决策过程无法继续时(如无可用算子、多个算子无法区分等),SOAR 自动创建子目标来解决僵局:

僵局类型 描述 示例
Tie 多个算子无法区分 两种方案看起来一样好
Conflict 多个算子互相矛盾 一个规则建议前进,另一个建议后退
No-change 没有可用算子 不知道该怎么做
Constraint-failure 选中的算子无法应用 前提条件不满足

2.3 Chunking:经验的自动编译

Chunking 是 SOAR 最核心的学习机制。当子目标被解决后,SOAR 自动将解决过程编译为新的产生式规则:

\[ \text{Chunk} = \text{条件}(\text{僵局上下文}) \rightarrow \text{动作}(\text{僵局解决结果}) \]

过程

  1. 子目标中的推理解决了僵局
  2. SOAR 回溯分析:哪些工作记忆元素导致了这个结果?
  3. 将这些元素作为条件,将结果作为动作,创建新产生式规则
  4. 下次遇到相同情况时,直接匹配新规则,无需再创建子目标

类比:就像人类第一次解数学题需要推导,多次练习后可以直接"看出"答案。

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 启发

  1. ACT-R 的激活机制:可以用来设计 LLM 智能体的记忆检索优先级
  2. SOAR 的 Chunking:类似于 Reflexion 中将经验编译为语言化规则
  3. ACT-R 的时间预测:可以用来建模 LLM 智能体的响应延迟
  4. SOAR 的子目标:类似于 LLM 智能体的任务分解和递归规划

5. 其他重要认知架构

架构 核心特点
CLARION 双过程理论(显式+隐式知识)
Icarus 层级概念和技能
LIDA 全局工作空间理论
Sigma 图模型统一认知功能
OpenCog 开源 AGI 认知架构

总结

ACT-R 和 SOAR 代表了认知架构研究的两大传统:ACT-R 更注重对人类认知的精确建模,SOAR 更注重通用问题求解能力。两者的核心思想——激活机制、产生式推理、问题空间搜索、经验编译——在 LLM 时代以新的形式得到了延续和发展。


参考文献

  1. Anderson, J.R. (2007). How Can the Human Mind Occur in the Physical Universe? Oxford University Press.
  2. Anderson, J.R. et al. (2004). An Integrated Theory of the Mind. Psychological Review, 111(4), 1036-1060.
  3. Laird, J.E. (2012). The Soar Cognitive Architecture. MIT Press.
  4. Newell, A. (1990). Unified Theories of Cognition. Harvard University Press.
  5. Laird, J.E., Newell, A. & Rosenbloom, P.S. (1987). SOAR: An Architecture for General Intelligence. Artificial Intelligence, 33(1), 1-64.

评论 #