首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第六章 认知匹配:机器如何从对象、属性与变化形成认知

第六章 认知匹配:机器如何从对象、属性与变化形成认知

第五章建立了对象属性理论。

我们已经不再把对象理解为一个静态的数据结构,而是把对象理解为一个持续变化的认知结构

对象
 ↓
属性
 ↓
属性值
 ↓
属性变化
 ↓
属性关系
 ↓
对象状态

但是,到这里仍然存在一个最关键的问题:

机器获得了这么多元素、对象和属性以后,究竟如何形成“认知”?

机器看到一个白色、椭圆形、约 60 克的物体,并不能因为这些数据存在,就自动得到:

这是鸡蛋。

机器必须把当前获得的信息,与已有的对象、属性、状态、关系、经验和目标进行比较。

这种过程,本书定义为:

认知匹配(Cognitive Matching)

认知匹配是本书整个理论体系的核心机制之一。


6.1 什么是认知匹配

本书定义:

认知匹配,是机器将当前感知获得的元素、对象、属性、状态、关系及其动态变化,与已有认知结构进行比较、关联、协同和概率评估,从而形成当前认知结果的过程。

可以简化为:

当前感知
   ↓
当前对象
   ↓
当前属性
   ↓
当前状态
   ↓
已有认知结构
   ↓
匹配
   ↓
认知结果

因此:

Matching → Cognition

不是:

Data → Cognition

这是本书一个非常重要的区别。


6.2 认知不是数据本身

假设机器获得:

Color = White
Shape = Oval
Weight = 60g
Surface = Smooth

这些只是:

感知数据

机器还需要知道:

这些数据与什么对象相似?
哪些属性最重要?
哪些属性相互支持?
哪些属性相互冲突?
当前状态是什么?
历史上有没有类似对象?
当前任务是什么?

所以:

Data
≠
Cognition

而是:

Data
 ↓
Element
 ↓
Attribute
 ↓
Matching
 ↓
Cognition

6.3 认知匹配的基本输入

认知匹配至少可以接受以下输入:

Element
Object
Attribute
Relation
State
Time
Position
Motion
Context
Memory
Experience
Goal

因此可以表示:

Cognitive Matching
=
F(
    Element,
    Object,
    Attribute,
    Relation,
    State,
    Time,
    Position,
    Motion,
    Context,
    Memory,
    Experience,
    Goal
)

这并不意味着每一次匹配都必须使用全部输入。

不同任务使用不同的匹配维度。


6.4 认知匹配不是一种匹配

“匹配”不是单一算法。

人的认知过程中实际上存在多种不同性质的匹配。

本书暂时建立以下认知匹配体系:

认知匹配
│
├── 感觉匹配
├── 元素匹配
├── 属性匹配
├── 对象匹配
├── 关系匹配
├── 语义匹配
├── 逻辑匹配
├── 状态匹配
├── 时间匹配
├── 位置匹配
├── 运动匹配
├── 情境匹配
├── 经验匹配
├── 目标匹配
├── 概率匹配
└── 协同匹配

这些匹配不是完全平行的。

它们可以形成层级结构。


6.5 第一层:感觉匹配

感觉匹配是最底层的匹配之一。

例如视觉系统获得:

颜色
形状
亮度
轮廓

触觉系统获得:

压力
摩擦
温度
振动

机器可以比较:

当前感觉
   ↓
历史感觉

例如:

当前触觉 = 柔软
历史触觉 = 柔软

形成:

Feeling Match = High

感觉匹配并不一定马上形成对象认知。

它首先解决:

当前感觉与过去感觉是否存在对应关系?


6.6 感觉匹配的意义

人的感觉系统并不是每一次都从零开始。

例如第一次触摸某种材质时:

不知道是什么

第二次接触类似材质:

感觉熟悉

第三次:

快速判断

这实际上可以理解为:

Current Sensation
       ↓
Previous Sensation
       ↓
Matching
       ↓
Similarity

所以:

感觉匹配是经验形成的重要基础。


6.7 第二层:元素匹配

感觉经过初步处理以后,可以形成感知元素。

例如视觉获得:

圆形
白色

触觉获得:

柔软

重量传感器获得:

60g

这些元素可以与已有元素进行匹配:

White
↔
White

Oval
↔
Oval

Soft
↔
Soft

形成:

Element Match

6.8 第三层:属性匹配

元素进一步组成对象属性。

例如:

Shape = Oval
Weight = 60g
Surface = Smooth

机器将当前属性与候选对象的属性进行匹配。

例如:

Current Object
        ↓
 ┌──────┼──────┐
 ↓      ↓      ↓
 Egg   Ball   Stone

分别计算:

Egg Match
Ball Match
Stone Match

属性匹配开始进入对象识别阶段。


6.9 第四层:对象匹配

对象匹配解决:

当前感知对象与哪个已有认知对象最接近?

例如:

Current Object

与:

Egg
Ball
Stone
Apple

进行匹配。

可以形成:

Egg      = 0.91
Ball     = 0.63
Stone    = 0.28
Apple    = 0.54

此时机器不是简单输出:

Egg

而是内部形成:

Candidate Distribution

这为第五卷的概率认知理论建立基础。


6.10 第五层:关系匹配

对象单独存在时,很多认知是不完整的。

例如:

Cup

只是一个对象。

但如果:

Egg
inside
Basket

机器获得的认知就不同。

因此需要匹配:

Object A
Relation
Object B

例如:

A near B
A inside B
A on B
A above B
A touching B
A moving toward B

这就是:

关系匹配。


6.11 关系本身也是认知元素

关系不是简单的连接线。

例如:

A → B

如果关系是:

near

那么表示:

A 靠近 B

如果关系是:

inside

则表示:

A 在 B 内部

如果关系是:

holding

则表示:

A 正在持有 B

因此:

Relation

本身可以成为认知元素。

进一步可以形成:

Object
+
Object
+
Relation
=
Relational Object Structure

6.12 第六层:语义匹配

语义匹配解决的是:

不同表达是否指向相同或相近的认知意义?

例如:

electric toothbrush

和:

powered toothbrush

可能在某些上下文中具有较高语义相关性。

再例如:

抓住鸡蛋

和:

稳定夹持鸡蛋

虽然语言表达不同,但可能描述相同或相近的行为结构。

因此:

Symbol
 ↓
Meaning
 ↓
Semantic Matching

但是本书需要特别区分:

语义匹配不是认知匹配的全部。

语义只是认知匹配的一种。

机器完全可以在没有语言的情况下完成大量认知。


6.13 第七层:逻辑匹配

逻辑匹配解决:

当前信息是否满足某种逻辑关系或条件?

例如:

Pressure ↑
AND
Slip ↑

则:

Risk ↑

或者:

Object = Egg
AND
Deformation > Threshold

则:

Damage Risk = High

这就是逻辑匹配。

逻辑匹配可以表示:

AND
OR
NOT
IF
THEN

但需要注意:

逻辑匹配通常建立在已经获得的元素、属性和状态之上。

因此:

Element
 ↓
Attribute
 ↓
State
 ↓
Logic

而不是直接:

Logic
 ↓
Reality

6.14 第八层:状态匹配

状态匹配是本书非常重要的一层。

机器需要知道:

对象现在是什么状态?

例如:

Egg

可能处于:

静止
接触
抓取
移动
滑动
掉落
破损

状态不是简单一个属性。

它往往来自多个动态属性的协同。

例如:

Position ≈ Stable
Pressure > 0
Slip ≈ 0
Motion ≈ 0

得到:

Grip = Stable

6.15 状态匹配是动态匹配

如果:

t1:
Slip = Low

t2:
Slip = Medium

t3:
Slip = High

那么机器不能只看:

当前 Slip

还需要知道:

Slip 正在增加。

所以状态匹配应该包括:

State(t)
+
State(t-1)
+
ΔState

形成:

Dynamic State Matching

6.16 第九层:时间匹配

很多认知不能脱离时间。

例如:

A 先发生
B 后发生

机器需要知道:

A → B

还是:

B → A

因此时间匹配包括:

时间点
时间顺序
时间间隔
持续时间
周期
变化速度

例如:

Pressure ↑
        ↓
Deformation ↑

如果:

Pressure

先变化,

Deformation

随后变化,

那么机器可以建立:

Temporal Relation

6.17 时间匹配与因果认知

时间先后并不等于因果。

例如:

A happened before B

只能证明:

A → B

发生在时间上。

但不能直接证明:

A causes B

所以本书需要区分:

时间匹配

和:

因果匹配

后者需要进一步建立:

重复关系
条件关系
变化对应
反馈关系

才能形成较强因果认知。


6.18 第十层:位置匹配

位置匹配解决:

对象在哪里?

包括:

X
Y
Z
Distance
Direction
Region

例如:

Object A
Position = (x1,y1,z1)

与:

Object B
Position = (x2,y2,z2)

进行比较。

可以得到:

Distance
Direction
Relative Position

6.19 相对位置比绝对位置更重要

对于机器人来说:

Egg
Position = (500,200,100)

本身意义有限。

更重要的是:

Hand
       ↓
Egg

之间的关系:

Distance = 10cm
Direction = Forward

因此:

认知匹配应该大量使用对象之间的相对位置,而不是只使用绝对坐标。


6.20 第十一层:运动匹配

运动匹配研究:

位置变化
速度
加速度
方向
轨迹

例如:

Position(t1)
Position(t2)
Position(t3)

可以形成:

Motion

进一步:

Motion Pattern

例如:

靠近
远离
旋转
摆动
滑动
跌落

6.21 运动是属性变化

运动其实可以理解为:

Position(t)

随时间变化。

因此:

Motion
=
ΔPosition / ΔTime

这说明:

运动匹配本质上也是动态属性匹配的一种特殊形式。

类似地:

Pressure Rate
Deformation Rate
Temperature Rate

也都可以纳入动态属性变化体系。


6.22 第十二层:情境匹配

相同对象、相同属性,在不同情境中可能产生不同认知。

例如:

Object = Egg

在:

厨房

与:

机器人搬运系统

中的任务不同。

机器人搬运系统关注:

重量
摩擦
脆弱程度
抓取稳定性

而烹饪系统可能关注:

温度
新鲜度
破损

因此:

Context

决定:

哪些属性重要
哪些匹配优先
哪些结果需要关注

6.23 第十三层:经验匹配

经验匹配解决:

当前情况与过去发生过的情况是否相似?

例如机器人过去抓过:

Egg_001
Egg_002
Egg_003

每次都发现:

Pressure = 0.7N
Friction = High
Slip = Low
Damage = 0

那么下一次遇到类似对象时:

Current Object
      ↓
Experience Matching
      ↓
Historical Pattern

可以快速形成初始策略。

这就是:

经验匹配。


6.24 经验不是固定答案

经验匹配不能变成:

上次成功
 ↓
这次直接复制

因为:

对象不同
环境不同
位置不同
材料不同
状态不同

所以经验只能形成:

Prior

而不是:

Final Answer

这也是概率认知的重要来源。


6.25 第十四层:目标匹配

机器行为不是没有目的。

例如抓鸡蛋的目标可能是:

目标:
把鸡蛋从 A 移动到 B

此时认知匹配就必须围绕目标进行。

机器需要判断:

当前状态
是否满足目标?

例如:

Egg Stable = Yes
Destination Reached = No

那么继续移动。

如果:

Egg Stable = No

则需要调整抓取。

所以:

Current State
+
Goal State

之间也存在:

目标匹配。


6.26 第十五层:概率匹配

到这里,机器已经有大量匹配结果:

感觉
元素
属性
对象
关系
状态
时间
位置
运动
情境
经验
目标

这些结果可能互相支持,也可能互相冲突。

因此最终不应该强制输出:

True / False

而应该形成:

Probability Distribution

例如:

Egg       0.91
Ball      0.06
Stone     0.02
Unknown   0.01

这就是:

概率匹配。


6.27 人的认知为什么像概率匹配

这也是本书一个重要的理论假设:

人的认知并不是面对现实以后直接获得绝对真值,而是在有限感觉、经验、记忆和情境下,对候选解释进行概率性匹配。

例如远处看到一个人:

可能是 A
可能是 B
可能是陌生人

随着距离缩短:

视觉元素增加

再听到声音:

听觉元素增加

再看到面部:

属性匹配增强

最终:

P(A) ↑
P(B) ↓

这就是一个动态认知过程。


6.28 第十六层:协同匹配

这是本章最重要的匹配类型之一。

前面的匹配可以分别进行:

Pressure Matching
Friction Matching
Slip Matching
Deformation Matching

但是实际行为认知需要:

Pressure
+
Friction
+
Slip
+
Deformation
+
Motion

共同参与。

所以:

协同匹配是多个匹配结果之间进一步进行联合判断的过程。


6.29 鸡蛋抓取的完整匹配

假设机器人接近鸡蛋。

第一步:视觉匹配

Shape → Oval
Color → White
Size → Small

得到:

Candidate = Egg

第二步:位置匹配

Hand → Egg
Distance = 8cm

得到:

Approaching

第三步:接触匹配

Pressure > 0
ContactArea > 0

得到:

Contact

第四步:摩擦匹配

Friction = Medium

第五步:滑移匹配

Slip = Low

第六步:形变匹配

Deformation = Low

第七步:状态协同匹配

Pressure
+
Friction
+
Slip
+
Deformation
+
Motion

得到:

Grip Stability = High
Damage Risk = Low

第八步:行为决策

系统发现:

Stability >= Required
Damage = Minimal

于是:

Stop Increasing Pressure

这就是本书真正希望建立的机器行为逻辑。


6.30 机器不应该不断测试

传统机器人控制中,一个简单的方法是:

尝试
 ↓
失败
 ↓
调整
 ↓
再尝试
 ↓
失败
 ↓
再调整

这种方法在很多实际系统中确实可以工作。

但是问题是:

测试成本
+
时间成本
+
数据成本
+
设备磨损
+
对象损坏

对于脆弱对象尤其明显。

例如鸡蛋:

测试一次
→
可能损坏一次

如果通过不断试验寻找压力:

0.2N
0.4N
0.6N
0.8N
1.0N
1.2N

很可能根本没有必要。


6.31 从“不断测试”转向“动态匹配”

本书提出另一种方向:

感知
 ↓
对象识别
 ↓
属性识别
 ↓
历史经验
 ↓
当前状态
 ↓
动态匹配
 ↓
预测
 ↓
最小风险动作

机器人不是盲目地:

试一个

而是根据当前数据不断更新:

Current State

然后计算:

Next Best Action

6.32 动态匹配模型

可以初步表示:

M(t)
=
F(
    E(t),
    O(t),
    A(t),
    R(t),
    S(t),
    T(t),
    P(t),
    V(t),
    C(t),
    H(t),
    G(t)
)

其中:

E = Element
O = Object
A = Attribute
R = Relation
S = State
T = Time
P = Position
V = Motion
C = Context
H = History
G = Goal

最终输出:

Cognition(t)

6.33 认知匹配的动态循环

认知不是一次计算。

而是:

t1
 ↓
Match
 ↓
Cognition
 ↓
Action
 ↓
t2
 ↓
New Data
 ↓
Rematch
 ↓
New Cognition
 ↓
New Action

因此:

认知是连续更新的。

可以表示为:

C(t+1)
=
Update(
    C(t),
    NewData(t+1)
)

这意味着:

机器每获得新的感觉数据,都可能重新认识当前对象。


6.34 认知匹配与学习

如果:

当前匹配

产生错误:

预测:
Grip Stable

实际:
Egg Slipped

那么系统获得:

Prediction Error

下一次遇到类似对象时:

历史经验

就可以影响:

匹配权重

于是:

Matching
 ↓
Action
 ↓
Result
 ↓
Error
 ↓
Learning
 ↓
New Matching Model

这就进入后面的:

学习理论。


6.35 认知偏差进入匹配系统

现在可以正式回答前面提出的问题:

认知偏差应该放在哪里?

本书的答案是:

认知偏差属于认知匹配机制。

它可以影响:

先验
权重
阈值
注意
候选排序
风险判断

例如:

正常匹配:
Egg = 0.80
Ball = 0.15

如果某个个体由于过去经历形成强烈的先验:

Fragile Object Prior ↑

那么:

Egg Risk

的匹配权重可能提高。

因此:

Cognition Bias
        ↓
Matching Parameters
        ↓
Matching Result
        ↓
Cognition

这比把认知偏差当成“认知结果之后的错误”更合理。


6.36 个体认知开始出现

到这里,“个体认知”自然进入理论。

因为不同个体可以拥有不同:

Memory
Experience
Prior
Weight
Threshold
Goal
Bias

因此面对同一个输入:

Input

可以得到:

Person A → Cognition A
Person B → Cognition B

即:

Same Input
+
Different Matching Model
=
Different Cognition

这将成为后面“个体认知理论”的核心。


6.37 Cognitive Matching Model

因此可以定义:

认知匹配模型(Cognitive Matching Model)是描述一个认知系统如何利用感知元素、对象属性、关系、状态、时间、空间、运动、经验、目标和个体参数形成认知结果的模型。

可以表示:

CMM
│
├── Perception
├── Element
├── Object
├── Attribute
├── Relation
├── State
├── Time
├── Position
├── Motion
├── Context
├── Memory
├── Experience
├── Goal
├── Bias
└── Probability

6.38 Cognitive Matching Engine

理论进入工程以后,可以建立:

CognitiveMatchingEngine

内部可以进一步划分:

CognitiveMatchingEngine
│
├── SensationMatcher
├── ElementMatcher
├── AttributeMatcher
├── ObjectMatcher
├── RelationMatcher
├── SemanticMatcher
├── LogicMatcher
├── StateMatcher
├── TimeMatcher
├── PositionMatcher
├── MotionMatcher
├── ContextMatcher
├── ExperienceMatcher
├── GoalMatcher
└── ProbabilityMatcher

然后由:

Coordinator

进行协同匹配。

注意:

这是工程结构,不是理论本身。

理论定义:

是什么
为什么
关系是什么

工程定义:

怎么实现
怎么调用
怎么计算
怎么组织

两者必须保持边界。


6.39 认知匹配的总结构

到本章结束,可以形成:

                         当前现实
                            │
                            ↓
                          感觉
                            │
                            ↓
                       感知元素
                            │
                            ↓
                          对象
                            │
              ┌─────────────┼─────────────┐
              ↓             ↓             ↓
            属性           关系           状态
              │             │             │
              └─────────────┼─────────────┘
                            ↓
                     动态变化数据
                            │
        ┌───────────────────┼───────────────────┐
        ↓                   ↓                   ↓
      时间                 位置                 运动
        │                   │                   │
        └───────────────────┼───────────────────┘
                            ↓
                       多维认知匹配
                            │
        ┌───────────────────┼───────────────────┐
        ↓                   ↓                   ↓
      经验                 记忆                 情境
        │                   │                   │
        └───────────────────┼───────────────────┘
                            ↓
                       个体匹配模型
                            │
                  ┌─────────┴─────────┐
                  ↓                   ↓
                偏差                 目标
                  └─────────┬─────────┘
                            ↓
                       概率匹配
                            ↓
                          认知
                            ↓
                         决策
                            ↓
                          行为
                            ↓
                          反馈
                            ↓
                          学习
                            │
                            └────→ 再次匹配

6.40 本章核心结论

本章可以形成一个非常明确的理论判断:

认知不是对数据进行一次静态分类,而是一个持续进行的动态匹配过程。

机器的认知过程不是:

数据
→
标签

而是:

感觉
→
元素
→
对象
→
属性
→
关系
→
状态
→
动态变化
→
多维匹配
→
概率
→
认知

进一步:

认知
→
行为
→
反馈
→
新数据
→
再次匹配

因此,本书的核心循环可以正式定义为:

感知—匹配—认知—行为—反馈循环

即:

Perception
    ↓
Matching
    ↓
Cognition
    ↓
Action
    ↓
Feedback
    ↓
Perception

而其中最关键的不是某一个固定传感器数据,而是:

对象属性在时间中的动态变化,以及不同属性之间的协同匹配。

对于鸡蛋抓取问题,真正需要寻找的也不是一个固定的:

Pressure = X

而是:

Pressure(t)
Friction(t)
Slip(t)
Deformation(t)
Motion(t)
Contact(t)

共同形成的:

Stable Grip
+
Minimum Damage

状态。

这使“机器人行为”从:

不断测试寻找答案

开始转向:

根据当前对象状态进行动态认知匹配,并实时调整行为。

而这正是下一章必须解决的问题:

第七章 多维认知匹配:感觉、属性、语义、逻辑、状态、时间、位置与运动如何协同

下一章将进一步把本章的各种匹配正式组织成多维认知匹配模型,并重点建立“匹配维度之间不是简单并列,而是存在层级、依赖、冲突、协同和权重动态变化”的理论。

Leave a Reply

Your email address will not be published. Required fields are marked *