第16章 属性之间的动态关系
对象的属性不是彼此孤立存在的。一个属性发生变化,往往会引起另一个属性发生变化;多个属性同时变化,又会共同改变对象的状态。因此,真正的认知对象不是“属性值的集合”,而是“属性及其变化关系的动态系统”。
上一章讨论了属性本身的动态性。
我们已经知道:
Attribute
↓
Value
State
Change
Rate
Trend
这说明一个属性不能只用一个固定数值表示。
但是,仅仅知道单个属性如何变化还不够。
因为现实中的对象很少只有一个属性在独立变化。
一个鸡蛋被抓取时,压力发生变化,摩擦发生变化,接触面积发生变化,滑移状态发生变化,蛋壳受到的形变也可能发生变化。
这些变化并不是五组互不相关的数据。
它们共同描述着:
“当前这个鸡蛋正在经历什么状态。”
因此,认知系统必须从:
属性值
进一步进入:
属性变化
再进入:
属性之间的变化关系
最终形成:
对象动态状态
这就是本章要建立的理论。
16.1 从单一属性到属性关系
假设一个对象具有四个属性:
Pressure
Friction
Slip
Deformation
分别表示:
压力
摩擦
滑移
形变
如果采用传统的静态数据结构,可以简单表示为:
Object
├── Pressure = 2.0
├── Friction = 0.8
├── Slip = 0
└── Deformation = 0.1
这种结构可以描述对象当前的一组数据。
但是,它无法直接回答一个更加重要的问题:
这些属性之间发生了什么?
例如:
Pressure ↑
Slip ↑
和:
Pressure ↑
Slip ↓
虽然都有:
Pressure ↑
但是它们表达的对象状态完全不同。
第一种可能表示:
压力增加,但对象仍然开始滑移。
第二种可能表示:
压力增加以后,抓取稳定性提高。
因此:
属性值本身不是完整的认知信息,属性变化之间的关系同样属于认知信息。
可以表示为:
属性
↓
属性值
↓
属性变化
↓
变化之间的关系
↓
认知意义
16.2 属性变化不是独立事件
现实世界中,属性变化往往存在三种基本情况。
第一种:独立变化
例如一个物体的温度发生变化,而其他相关属性暂时没有明显变化。
可以表示:
A ↑
而:
B ≈ constant
C ≈ constant
这种情况下,A 的变化可以暂时独立分析。
第二种:伴随变化
两个属性同时发生变化。
例如:
Pressure ↑
Deformation ↑
这时候系统应该记录:
Pressure.Change
Deformation.Change
但是仍然不能直接认为:
压力导致了形变。
因为同时发生变化并不等于因果关系。
因此工程系统首先应该记录:
co-change
即:
共同变化。
第三种:相互影响
如果经过连续观察发现:
Pressure ↑
↓
Deformation ↑
并且这种关系在多个状态下持续出现,那么系统可以进一步形成:
Pressure
↓
Influence
↓
Deformation
这里就从:
共同变化
进入:
影响关系
这一区分非常重要。
16.3 属性关系的基本层级
属性关系不能一开始就直接定义为“因果关系”。
更合理的认知形成过程应该是:
属性
↓
变化
↓
共同变化
↓
关联
↓
影响
↓
可能的因果关系
因此可以建立一个属性关系层级:
Value
↓
Change
↓
Co-change
↓
Correlation
↓
Influence
↓
Causal Hypothesis
其中:
Value
表示属性当前是什么值。
Change
表示属性发生了什么变化。
Co-change
表示两个或多个属性是否共同变化。
Correlation
表示变化之间是否具有稳定关联。
Influence
表示一个属性变化是否可能影响另一个属性。
Causal Hypothesis
表示系统形成的因果假设。
这样可以避免认知系统过早地把“同时发生”错误地判断为“因果”。
16.4 属性变化的时间关系
属性关系不仅仅是数值关系,还具有时间关系。
例如:
t1:Pressure ↑
t2:Slip ↑
与:
t1:Slip ↑
t2:Pressure ↑
含义并不一样。
因为:
时间顺序
本身就是认知信息。
因此动态属性关系至少需要考虑:
Value
Change
Time
Direction
Magnitude
Duration
Sequence
可以抽象成:
AttributeChange
=
Value
+
Direction
+
Magnitude
+
Time
+
Duration
而两个属性之间的动态关系可以进一步表示为:
Relation(A, B)
=
Change(A)
+
Change(B)
+
Time(A)
+
Time(B)
+
Sequence
这意味着:
认知系统判断的不是两个属性“有没有关系”,而是两个属性“在什么时间、以什么方向、以什么幅度、按照什么顺序发生变化”。
16.5 属性变化的方向关系
属性之间可能存在不同方向关系。
例如:
Pressure ↑
Slip ↓
可以表现为一种反向变化关系。
而:
Pressure ↑
Deformation ↑
则表现为同向变化关系。
因此可以首先建立一个简单的变化关系:
Same Direction
Opposite Direction
No Clear Relation
即:
同向
反向
不明确
但实际认知系统不能只停留在“↑”和“↓”。
还必须考虑:
变化幅度
变化速度
变化持续时间
变化延迟
例如:
Pressure +5%
Deformation +1%
与:
Pressure +5%
Deformation +30%
虽然方向相同,但是认知意义明显不同。
16.6 属性之间的关联
当两个属性经常表现出稳定的共同变化模式时,可以形成:
属性关联。
例如某个物体在多个抓取过程中都出现:
压力增加
↓
接触面积增加
↓
摩擦力增加
↓
滑移减少
那么系统就可以逐渐形成:
Pressure
↕
Contact Area
↕
Friction
↕
Slip
注意,这里的:
↕
并不立即表示严格因果。
它首先表示:
这些属性在当前对象与当前任务中具有稳定的动态关联。
这是认知系统非常重要的一步。
因为机器人不需要一开始就知道完整的物理理论。
它首先需要知道:
哪些变化通常会一起出现。
16.7 属性之间的影响
当系统积累了足够的动态观察后,可以进一步建立影响关系。
例如:
Pressure ↑
↓
Deformation ↑
或者:
Pressure ↑
↓
Contact Force ↑
↓
Slip ↓
这时候系统已经不再只是记录数据。
而是在形成:
Dynamic Relation Model
即:
动态关系模型。
可以表示为:
A
↓
Change(A)
↓
Relation
↓
Change(B)
↓
B
这使系统开始具有预测能力。
因为如果当前出现:
Pressure ↑
系统就可以根据已有关系判断:
Deformation 可能 ↑
Slip 可能 ↓
注意这里使用的是:
可能
而不是:
一定。
因为真实世界的对象状态永远受到多个变量共同影响。
16.8 属性协同变化
这是本章最重要的概念之一。
现实中的复杂对象往往不是:
A → B
这么简单。
而是:
A
B
C
D
↓
共同变化
↓
对象状态
例如鸡蛋抓取:
Pressure
Friction
Contact Area
Slip
Deformation
这些属性共同参与抓取过程。
因此真正需要计算的不是:
Pressure Score
Friction Score
Slip Score
Deformation Score
然后分别做判断。
而应该建立:
Pressure(t)
Friction(t)
Slip(t)
Deformation(t)
Contact(t)
然后进行:
Dynamic Cooperative Matching
即:
动态协同匹配。
16.9 为什么必须协同判断
假设机器人发现:
Pressure = 2
单独看这个数值,没有足够的认知意义。
因为:
2N
到底是否合适?
取决于:
对象重量
接触面积
摩擦情况
对象材料
对象结构
当前运动状态
滑移情况
形变情况
任务目标
因此:
Pressure = 2
不是完整认知。
真正的认知应该是:
Pressure = 2
+
Friction = X
+
Slip = Y
+
Deformation = Z
+
ObjectState = S
+
Task = T
然后形成:
综合动态状态
所以:
一个属性的值通常没有独立的最终意义,它的认知意义来自于它与其他属性、状态、任务和变化之间的关系。
16.10 鸡蛋抓取:从单数据判断转向协同认知
现在重新看机器人抓鸡蛋的问题。
传统测试模式可能是:
实验1:压力 1
实验2:压力 2
实验3:压力 3
实验4:压力 4
……
然后不断测试:
哪一个压力值最合适?
这实际上是一个非常低效的思路。
因为真正需要寻找的不是:
最佳压力值
而是:
在当前对象、当前接触条件、当前运动状态和当前任务目标下,使对象受损最小,同时保持抓取稳定的动态匹配状态。
因此目标从:
Find Pressure
转变为:
Find Optimal Dynamic State
也就是:
寻找最优动态状态
16.11 最小受损不是单一压力值
鸡蛋抓取时,机器人真正需要优化的是:
Damage → MIN
但是:
Damage
又不是一个孤立变量。
它可能受到:
Pressure
Friction
Contact Area
Slip
Acceleration
Deformation
Duration
等因素共同影响。
因此:
Damage
=
f(
Pressure,
Friction,
Slip,
Deformation,
Motion,
Time,
Object
)
这里的 f 不一定需要预先知道。
它可以通过动态认知系统逐步建立。
重要的是:
系统不再把每一个数据看成独立答案,而是寻找数据之间的动态关系。
16.12 从“最小压力”到“最小受损”
这里需要特别区分两个概念。
最小压力
Pressure → MIN
并不一定正确。
因为压力太小可能导致:
Slip ↑
Drop Risk ↑
最终:
Object Damage ↑
最小受损
真正的目标应该是:
Damage → MIN
同时满足:
Stability ≥ Threshold
Task Success = TRUE
因此可以表示为:
Minimize Damage
Subject To:
Stability sufficient
Task completed
也就是说:
不是压力越小越好,而是在能够完成任务的条件下,使对象受到的损伤最小。
这就是动态认知匹配的重要意义。
16.13 动态协同匹配模型
我们可以把这一过程抽象为:
Object
↓
Attributes
↓
Attribute Changes
↓
Relations
↓
Co-change
↓
Influence
↓
Dynamic State
↓
Task Matching
↓
Cognitive State
进一步可以写成:
C(t)
=
M[
O(t),
A(t),
ΔA(t),
R(t),
T(t),
G
]
其中:
O(t) = 对象当前状态
A(t) = 当前属性集合
ΔA(t) = 属性变化
R(t) = 属性之间的动态关系
T(t) = 时间状态
G = 当前目标
M = 动态匹配
最终得到:
C(t)
即:
当前时刻的认知状态。
16.14 认知不是读取数据,而是解释变化
这是本章需要建立的一个根本观点。
传统系统:
Sensor
↓
Data
↓
Threshold
↓
Action
而认知系统应该逐渐变成:
Sensor
↓
Element
↓
Object
↓
Attribute
↓
Change
↓
Relation
↓
Dynamic Matching
↓
Cognition
↓
Action
二者的根本区别在于:
传统系统主要读取数据;认知系统需要理解数据之间的动态关系。
16.15 从属性关系到对象状态
当多个属性及其变化关系被综合之后,系统才真正能够形成:
对象动态状态。
例如鸡蛋抓取过程中:
Pressure ↑
Friction ↑
Slip ↓
Deformation ≈ 0
系统可以形成:
ObjectState
=
StableGrip
而如果出现:
Pressure ↑
Friction ≈ constant
Slip ↑
Deformation ↑
则可能形成:
ObjectState
=
GripRisk
如果继续变化:
Slip ↑↑
Deformation ↑↑
则可能形成:
ObjectState
=
DamageRisk
因此:
属性
↓
变化
↓
关系
↓
协同
↓
动态状态
这就是对象认知从“数据”走向“状态”的过程。
16.16 对象动态状态不是预先固定的标签
这里还需要进一步区分:
Static Label
和:
Dynamic State
例如:
Egg
是对象身份。
但是:
Stable
Slipping
Compressed
Damaged
属于对象当前状态。
同一个鸡蛋:
t1 → Stable
t2 → Slipping
t3 → Compressed
t4 → Damaged
对象没有改变:
Egg
但是对象状态发生了连续变化。
所以:
对象是相对稳定的认知结构,状态则是对象在特定时间和环境中的动态表现。
16.17 属性关系具有上下文
同一个属性关系,在不同环境下可能产生不同结果。
例如:
Pressure ↑
在不同对象上可能产生:
玻璃 → 破裂风险增加
海绵 → 形变增加
钢球 → 几乎没有明显形变
鸡蛋 → 蛋壳损伤风险增加
因此:
Pressure → Deformation
不是一个脱离对象的绝对规则。
更准确的是:
Object
+
Attribute
+
Context
+
Change
+
Relation
共同决定认知。
这意味着未来的认知系统不能只保存:
Pressure → Deformation
而应该保存类似:
ObjectType
+
Condition
+
PressureChange
+
ObservedDeformationChange
形成情境化动态关系。
16.18 动态关系也是经验
当某种动态关系反复出现时,它就可以进入个体认知系统。
例如机器人经过多次操作发现:
某类鸡蛋
+
某种接触面
+
某种速度
+
某种压力变化
经常出现:
Slip ↓
Deformation ≈ 0
Task Success = TRUE
那么这个动态关系就不再只是当前数据。
它可以成为:
Experience
进入后面的个体认知系统。
于是形成:
动态关系
↓
重复观察
↓
稳定模式
↓
经验
↓
记忆
↓
未来匹配
这也说明:
动态关系是连接感知、认知与个体经验的重要桥梁。
16.19 本章建立的理论结构
到这里,我们已经可以把本章的核心结构完整表示出来:
对象
↓
属性
↓
属性值
↓
属性变化
↓
属性之间的共同变化
↓
属性关联
↓
属性影响
↓
属性协同
↓
对象动态状态
↓
动态认知
再进一步:
对象动态状态
↓
动态匹配
↓
认知
↓
行为
↓
新的属性变化
↓
新的对象状态
因此认知系统不是一个静态计算器,而是一个持续运行的动态系统。
16.20 本章核心结论
本章最终建立五个核心认识。
第一,属性不是孤立的。
Attribute
必须放入:
Relation
中理解。
第二,变化本身是一种认知信息。
不是只有:
Value
有意义。
还必须考虑:
Change
Rate
Trend
Time
第三,共同变化不能直接等同于因果。
认知关系应该逐步形成:
Co-change
↓
Correlation
↓
Influence
↓
Causal Hypothesis
第四,复杂对象必须进行属性协同认知。
尤其在机器人操作中:
压力
+
摩擦
+
滑移
+
形变
+
运动
+
时间
必须作为动态协同数据进行综合判断。
第五,真正需要寻找的不是某一个最优参数,而是对象的最优动态状态。
因此:
Pressure → MIN
并不是最终目标。
真正的目标是:
Damage → MIN
同时满足:
Task Success
+
Stability
最终形成:
属性之间的动态关系,是从“对象具有什么”进入“对象正在发生什么”的关键一步;而对象正在发生什么,才是动态认知真正需要理解的内容。
下一章将进入:
第17章 对象动态状态
重点解决:
当多个属性持续变化并形成协同关系之后,认知系统究竟如何定义、识别和更新“对象当前处于什么状态”。