3.4 常识驱动的概率信念推演与动态追踪模块
在部分可观测环境下,智能体无法直接获取所有物体的精确位置信息。本文提出的信念推演模块利用大语言模型的常识推理能力,构建概率化的物体位置信念分布,并在与环境交互过程中动态更新。该模块分为离线常识知识库构建和在线信念推理与更新两个阶段。
3.4.1 离线:LLM驱动的常识知识库构建
阶段 0:常识知识预生成(一次性离线处理)
为避免在线推理延迟,本文采用离线方式预先构建常识知识库。对于每个可移动物品 oi∈O,通过提示词工程向大语言模型 L 查询其最可能的位置:
Prompt(oi)="Question: What is the most possible position of oi?"Answer:"
对每个物品重复采样 M=50 次,得到响应集合 Ei={ei1,ei2,…,eiM}。例如,对于物品 “cutleryfork”,LLM 可能输出:
- 第1次:"INSIDE kitchencabinet"
- 第2次:"INSIDE dishwasher"
- 第3次:"INSIDE kitchencabinet"
- …(共50次)
为将自然语言响应映射到一致的状态表示,采用基于 Sentence-BERT 的语义嵌入方法,计算响应与房间/容器候选的余弦相似度:
CosineSim(eij,rk)=∥fSBERT(eij)∥⋅∥fSBERT(rk)∥fSBERT(eij)⋅fSBERT(rk)
其中 fSBERT(⋅) 为 Sentence-BERT 嵌入函数,rk∈{"kitchen","bedroom","bathroom","livingroom"} 为房间候选。选取相似度最高的房间作为该次采样的映射位置 r~ij。
统计每个物品在各位置的出现频次,计算归一化频率作为先验概率:
pijprior=Mcount(r~ij=rk),k=1,2,3,4
例如,若 “cutleryfork” 的 50 次采样中有 48 次映射到 “kitchen”,1 次到 “bedroom”,1 次到 “bathroom”,则:
pcutleryfork,kitchenprior=0.96,pcutleryfork,bedroomprior=0.02,pcutleryfork,bathroomprior=0.02
最终得到常识知识库 Kcommonsense,以 JSON 格式存储:
{
"cutleryfork": [["INSIDE", "kitchen", 48], ["ON", "kitchen", 2]],
"book": [["INSIDE", "bedroom", 31], ["ON", "bedroom", 19]],
...
}
3.4.2 在线:概率信念初始化
阶段 1:任务初始化
在任务开始时,给定环境的初始图结构表示 Ginit=(V,E),其中:
- 节点集 V 包含物体、房间、家具等实体
- 边集 E 表示实体间的关系(如 INSIDE、ON)
智能体构建初始信念分布 b0:O×L→[0,1],其中 L 为位置候选集合。对于每个可移动物品 oi:
-
加载常识知识库:查询 Kcommonsense 获取先验位置分布 {pi1prior,…,pi∣L∣prior}
-
映射到环境实例:将通用位置(如 “kitchen”)映射到当前环境的具体对象(如 kitchencabinet_id, dishwasher_id):
pi,containerinit=∑c∈containers in kitchenpi,kitchenpriorpi,kitchenprior
-
构建完整信念分布:
- 容器内位置:b0(oi,INSIDE)={(c1,pi1),(c2,pi2),…,(None,pi0)}
- 表面位置:b0(oi,ON)={(s1,pi1),(s2,pi2),…}
- 房间位置:b0(oi,ROOM)={(r1,pi1),(r2,pi2),…}
满足归一化条件:
c∑pic+s∑pis=1
初始采样:从信念分布中采样一个确定的世界状态 G0:
G0∼b0
对每个物品 oi:
location(oi)=SampleFromCategorical(b0(oi,INSIDE)∪b0(oi,ON))
若采样结果为 location(oi)=cj,则在图 G0 中添加边:
E0←E0∪{(oi,cj,INSIDE)}
3.4.3 在线:信念更新与世界状态重采样
阶段 2:交互式信念更新
在时间步 t,智能体执行动作 at 后获得新的部分观测 obst+1。信念更新分为两步:
步骤 1:硬约束更新
若观测明确显示物品 oi 位于位置 l∗:
bt+1hard(oi,l)={1,0,if l=l∗otherwise
若观测排除某些位置(例如:打开柜子后未发现物品),定义未排除位置集合 U={l:l consistent with obst+1},则:
bt+1hard(oi,l)=⎩⎨⎧0,∑l′∈Ubt(oi,l′)bt(oi,l),if l∈/Uif l∈U
步骤 2:软约束回归
为避免过度拟合单次观测,引入遗忘机制使信念逐渐回归先验:
bt+1soft(oi,l)=bt(oi,l)−λ⋅(bt(oi,l)−b0(oi,l))
其中 λ∈[0,1] 为遗忘率(实验中设为 0.05),控制回归速度。
最终信念(结合硬约束与软约束):
bt+1(oi,l)=α⋅bt+1hard(oi,l)+(1−α)⋅bt+1soft(oi,l)
世界状态重采样:
从更新后的信念中采样新的世界状态 Gt+1,用于后续的 MCTS 搜索:
Gt+1∼bt+1
采样过程如下:
for each object o_i in grabbable_objects:
# 从容器位置采样
container = sample_categorical([None, cab_id, dw_id, ...], b_{t+1}(o_i, INSIDE))
if container is not None:
add_edge(o_i, container, INSIDE)
else:
# 从表面位置采样
surface = sample_categorical([table_id, counter_id, ...], b_{t+1}(o_i, ON))
add_edge(o_i, surface, ON)
3.4.4 完整 Pipeline 总结
信念系统的完整工作流程如下:
┌─────────────────────────────────────────────────────────────┐
│ 离线阶段(一次性) │
│ LLM 采样 → 统计频率 → 常识知识库 K_commonsense │
└────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 在线阶段(每个 Task) │
│ │
│ 1. 初始化:加载 K → b_0 → 采样 G_0 │
│ 2. 执行动作 a_t → 获得观测 obs_{t+1} │
│ 3. 更新:b_t → b_{t+1}(硬约束 + 软回归) │
│ 4. 采样:G_{t+1} ~ b_{t+1} │
│ 5. MCTS:在 G_{t+1} 上搜索最佳动作 │
│ 6. 重复步骤 2-5 │
└─────────────────────────────────────────────────────────────┘
关键优势:
- 离线预生成:避免在线推理延迟,LLM 用于常识知识构建而非实时查询
- 概率建模:显式建模位置不确定性,支持多样化采样
- 动态更新:结合硬约束(观测)与软回归(先验),平衡准确性与鲁棒性
- 环境适应:通过映射机制将通用常识适配到具体环境实例
图 3 展示了信念系统的完整架构,包括常识知识库构建、信念初始化、交互式更新和世界状态采样四个关键模块。