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

第3章 感知与认知的边界

第3章 感知与认知的边界

在研究“模拟人的感知与认知”之前,必须首先解决一个基础问题:

什么是感知,什么是认知?

如果这两个概念没有被严格区分,那么后面的感知元素、对象、属性、动态状态、认知匹配、个体认知等理论都会发生混淆。

很多人工智能系统把“传感器获得的数据”直接称为感知,又把“识别出的结果”直接称为认知。这样做在工程上看起来简单,但实际上把不同层次的过程压缩成了一个过程。

例如,一个机器人通过触觉传感器检测到:

当前接触压力为 1.8N。

这是感知。

但是机器人进一步形成:

当前抓取力度已经足够,无需继续增加压力。

这已经不是单纯的感知,而是对当前状态进行了判断。

如果进一步形成:

这个物体表面容易滑动,因此应该保持当前压力,并调整夹持位置。

那么系统已经进入了认知过程。

因此:

感知解决“获得了什么”,认知解决“这些获得的信息意味着什么,以及当前应该如何理解它”。

但是,这个区分仍然不够。

因为人的感知本身并不是一个完全被动的数据采集过程,而认知也不是一个脱离感知、独立运行的高级模块。

二者之间存在连续转换、动态反馈和相互影响。

本章要建立的,正是这一边界。


3.1 为什么必须区分感知与认知

传统计算机系统通常采用一种比较清晰的数据流程:

传感器
↓
数据
↓
处理
↓
结果

这种结构适合描述确定性较强的信息处理过程。

例如温度传感器:

Sensor
↓
25.3℃

压力传感器:

Sensor
↓
1.8N

距离传感器:

Sensor
↓
35cm

这些结果可以被直接记录。

但是人的行为并不是这样简单。

一个人拿起鸡蛋时,并不是先计算:

压力 = ?
摩擦 = ?
重量 = ?
蛋壳强度 = ?

然后再执行抓取。

人的手在接触鸡蛋之后,会不断获得新的触觉信息,同时根据这些信息不断调整动作。

过程更接近:

接触
↓
感觉
↓
感知
↓
判断当前状态
↓
调整压力
↓
再次感觉
↓
再次判断
↓
再次调整

因此,人的认知并不是感知完成以后才一次性启动。

它是一个持续运行的过程。

这也是本书与传统“感知—识别—执行”模型的重要区别。


3.2 感知不是认知

首先必须建立第一条边界:

感知本身不等于认知。

感知的基本任务,是使系统获得关于外部环境或者自身状态的可处理信息。

例如:

视觉:
看到一个白色椭圆形对象

触觉:
检测到接触

压力:
检测到压力增加

温度:
检测到温度下降

空间:
检测到对象距离缩短

运动:
检测到对象正在移动

这些都属于感知层面的信息。

感知可以形成:

Element

即:

能够进入后续处理过程的基本信息单元。

例如:

颜色 = 白色
形状 = 椭圆
压力 = 1.2N
位置 = X,Y,Z
速度 = 0.2m/s
温度 = 20℃

这些信息本身还没有告诉系统:

“这是什么?”

也没有告诉系统:

“应该怎么办?”

因此:

感知
≠
认知

感知是认知的重要输入,但感知本身不能代表完整认知。


3.3 认知也不是简单的数据处理

如果把认知定义成:

对感知数据进行计算。

仍然是不够的。

因为普通数据处理并不一定形成认知。

例如:

压力 1N
压力 2N
压力 3N
压力 4N

系统可以计算:

最大值 = 4N
平均值 = 2.5N

这属于数据处理。

但如果系统根据这些变化形成:

压力持续增加,同时对象出现滑移,因此当前抓取状态正在变得不稳定。

那么系统已经开始形成状态判断。

进一步:

当前任务要求保持对象完整,因此不应继续增加压力,而应调整接触位置。

这才进入了认知与决策的关系。

因此:

数据处理
↓
信息处理
↓
状态判断
↓
关系判断
↓
意义形成
↓
认知

认知不是简单地计算一个数字。

认知的核心在于:

系统是否建立了信息之间的关系,并形成了与当前对象、状态、任务和行为有关的判断。


3.4 感知的边界在哪里

感知层并不是无限的。

本书将感知限定为:

系统对自身、对象和环境变化进行检测、获取、区分和形成基本信息元素的过程。

这里有几个重要关键词:

第一,检测

系统必须能够发现某种变化。

例如:

压力发生变化

第二,获取

系统必须获得变化的某种可处理表示。

例如:

Pressure = 1.4N

第三,区分

系统能够区分不同状态。

例如:

无接触
↓
轻微接触
↓
持续接触

第四,形成元素

最终形成可以进入后续认知处理的信息:

PressureElement
ContactElement
MotionElement
TemperatureElement

所以:

环境变化
↓
感觉输入
↓
检测
↓
区分
↓
感知元素

到这里,感知层基本完成自己的任务。

但是:

感知元素本身还不是完整的认知。


3.5 从感知元素到认知元素

这是本书非常重要的一条分界线。

假设视觉系统检测到:

白色
椭圆
约 60mm
静止

这些可以成为:

感知元素

但是,当这些元素开始发生组合:

白色
+
椭圆
+
特定大小
+
特定位置

系统可能开始形成:

Object Candidate

也就是:

一个可能存在的对象。

进一步,如果系统把这些元素与已有经验、对象属性和关系进行匹配:

白色
+
椭圆
+
易碎
+
厨房环境
+
历史经验

可能形成:

Egg

这时候,信息已经从单纯的感知元素进入了认知结构。

因此,本书需要区分:

Perceptual Element
感知元素

Cognitive Element
认知元素

感知元素强调:

系统获得了什么信息。

认知元素强调:

这些信息在当前认知结构中具有什么关系和意义。


3.6 对象不是感觉本身

这是第二个容易混淆的地方。

人看到一个鸡蛋,并不是眼睛直接“得到一个鸡蛋”。

眼睛获得的是光学信息。

例如:

颜色
轮廓
明暗
位置
大小
运动

这些信息经过组织以后,才逐渐形成:

Object

所以:

感觉
↓
感知元素
↓
元素组合
↓
对象形成

对象并不是单独存在于感知器官里的一个数据。

对象是认知系统对多个元素及其关系进行组织后形成的结构。

例如:

颜色 = 白
形状 = 椭圆
尺寸 = ...
位置 = ...
表面 = ...
运动 = ...

经过组合以后:

Object A

再进一步:

Object A
+
历史经验
+
属性
+
关系

可能形成:

鸡蛋

因此:

对象是感知信息进入认知结构后的重要组织形式。


3.7 属性也不是认知本身

假设系统已经形成一个对象:

Object = Egg

那么它可能具有:

颜色
形状
重量
尺寸
表面摩擦
硬度
承受压力
易损程度
当前位置
速度

这些属于:

Attribute

但是属性仍然不是认知。

例如:

PressureCapacity = 5N

只是一个属性值。

只有当它与当前状态发生关系时,才开始产生认知意义。

例如:

当前压力 = 2N
承受压力 = 5N

此时可以形成:

当前压力 < 承受能力

再加入:

滑移正在增加

则关系进一步变化:

压力较低
+
滑移增加

可能意味着:

当前抓取稳定性不足。

因此:

属性
↓
属性关系
↓
状态判断
↓
认知

这也是为什么后面的“动态属性理论”非常重要。


3.8 静态信息为什么不足以形成完整认知

如果系统只保存:

压力 = 2N

那么它只能知道一个瞬间的值。

但人实际上不会只看一个值。

人会感知:

压力正在增加

或者:

压力正在减少

或者:

压力没有继续变化

这些都是动态信息。

因此:

Value

只是一个状态描述。

而:

Change
Rate
Trend

才开始描述变化。

例如:

Pressure(t0) = 1.0N
Pressure(t1) = 1.3N
Pressure(t2) = 1.7N
Pressure(t3) = 2.1N

系统不仅获得:

Pressure = 2.1N

还可以获得:

Pressure ↑

进一步获得:

Pressure Increase Rate

如果同时观察到:

Slip ↑

那么认知系统面对的就不是一个压力数字,而是一个动态关系:

Pressure ↑
+
Slip ↑

这比单独的:

Pressure = 2.1N

具有更高的认知价值。


3.9 感知是连续的,认知也是连续的

传统模型容易把系统理解成:

感知
↓
认知
↓
行动

看起来像三个独立阶段。

但真实的人类行为更加接近:

感知
 ↓
初步认知
 ↓
行为
 ↓
新感知
 ↓
认知变化
 ↓
行为变化
 ↓
新感知

因此,本书采用:

动态闭环认知模型。

即:

Perception
     ↓
Cognition
     ↓
Action
     ↓
Environment Change
     ↓
Perception

但这里还需要更进一步。

行为不仅改变环境,也会改变感知条件。

例如抓取鸡蛋:

手靠近鸡蛋
↓
视觉距离变化
↓
接触
↓
触觉出现
↓
压力变化
↓
手部调整
↓
接触面积变化
↓
摩擦变化
↓
再次调整

所以行为本身也是新的感知条件制造者。


3.10 感知与认知之间不是一条固定的线

感知与认知之间并不存在一个永远固定的切割点。

同一个信息,在不同情况下可能处于不同层次。

例如:

压力 = 2N

第一次获得时:

它只是一个感知数据。

当与历史状态比较:

2N > 之前的 1N

形成:

压力正在增加。

当再与对象属性比较:

2N < 最大承受压力

形成:

当前压力尚未达到危险水平。

再加入摩擦和滑移:

压力 ↑
滑移 ↑

形成:

当前抓取可能正在失稳。

再加入任务目标:

目标 = 完整拿起鸡蛋

形成:

不能单纯继续增加压力,需要调整抓取策略。

因此,同一个:

Pressure = 2N

随着关系不断增加,其认知层次不断变化。

这说明:

认知不是某一个数据进入系统以后自动产生的标签,而是信息在关系网络中不断形成意义的过程。


3.11 认知的真正边界:关系

由此,本书可以提出一个非常重要的判断:

感知的核心是元素形成,认知的核心是关系形成。

感知更关注:

有什么?
多少?
在哪里?
发生了什么变化?

认知进一步关注:

它是什么?
它与什么有关?
为什么发生?
当前是什么状态?
意味着什么?
下一步可能发生什么?
应该如何处理?

因此可以初步表示为:

感知:

Input
↓
Detection
↓
Element

认知:

Element
↓
Relation
↓
Object
↓
Attribute
↓
State
↓
Matching
↓
Cognition

当然,这并不意味着对象一定在关系之前形成。

实际过程可以反复进行:

Element
↓
Object Candidate
↓
Relation
↓
Object Refinement
↓
Attribute
↓
State
↓
New Relation
↓
New Cognition

认知是动态组织,而不是一次性分类。


3.12 认知不是“识别”

人工智能领域经常把:

识别

当成:

认知

例如:

Image
↓
Egg

系统识别出了“鸡蛋”。

但这只能解决:

“它像什么?”

却没有解决:

“现在应该怎样处理它?”

真正的认知还需要考虑:

Egg
+
Weight
+
Surface
+
Friction
+
Pressure Capacity
+
Current Contact
+
Current Motion
+
Task

然后形成:

Current State

进一步形成:

Action Preference

因此:

Recognition
≠
Cognition

识别只是认知过程中的一个可能环节。


3.13 认知不是固定知识库

另一个重要区别是:

认知不是从数据库中查询一个固定答案。

如果机器人面对鸡蛋,只建立:

Egg → Grip Pressure = 1.5N

那么这种方式本质上仍然属于静态匹配。

因为现实中的鸡蛋并不完全相同:

大小不同
重量不同
蛋壳不同
表面状态不同
湿度不同
接触角度不同
摩擦不同
机器人手指材料不同
抓取速度不同

因此:

Egg
≠
固定压力

正确的认知过程应该是:

当前对象状态
+
当前环境
+
当前接触状态
+
当前任务
+
动态反馈

不断重新匹配。

所以:

认知不是从固定答案中寻找结果,而是在当前状态下持续形成匹配。

这为后面的“动态认知匹配”理论奠定基础。


3.14 感知与认知的反馈关系

虽然感知和认知需要区分,但二者并不是互相独立。

认知会反过来影响感知。

例如一个人准备拿起一个未知物体。

第一次:

视觉感知
↓
发现对象

随后:

认知:
这个对象可能易碎

于是人的行为会发生变化:

动作速度降低
接触更加轻柔
注意触觉反馈

新的行为又产生新的感知:

接触压力
摩擦
形变
滑移

然后认知进一步更新:

可能比预想更脆弱

于是动作再次改变。

因此:

感知 → 认知
认知 → 行为
行为 → 新感知

构成一个闭环。

这也是模拟人认知系统必须区别于简单传感器系统的原因。


3.15 感知、认知、决策和行为四者的边界

本书后面还会研究决策与行为,因此这里必须先划清四者关系。

可以暂时建立如下定义。

感知

获取和形成当前环境及自身变化的基本信息元素。

感觉
↓
感知
↓
元素

认知

对元素、对象、属性、状态和关系进行组织、匹配并形成当前理解。

元素
↓
关系
↓
对象
↓
属性
↓
状态
↓
匹配
↓
认知

决策

在当前认知基础上,对可能的行动方向进行选择。

认知
↓
候选行为
↓
比较
↓
选择

行为

决策在实际环境中的执行过程。

Decision
↓
Action
↓
Environment

于是可以形成:

感知
 ↓
认知
 ↓
决策
 ↓
行为
 ↓
环境变化
 ↓
感知

但必须强调:

这不是严格的单向流水线,而是动态循环系统。


3.16 为什么这一边界对机器人尤其重要

目前大量机器人系统采用:

传感器
↓
数据
↓
模型
↓
动作

这种结构。

它能够完成很多任务,但面对动态环境时容易出现一个问题:

系统往往是在寻找“正确动作”,而不是持续寻找“当前最合适的状态匹配”。

两者完全不同。

例如抓取鸡蛋。

传统思路可能是:

鸡蛋
↓
预设抓取参数
↓
执行

而本书研究的认知工程思路是:

发现对象
↓
建立对象状态
↓
获取触觉
↓
获取压力
↓
获取摩擦变化
↓
检测滑移
↓
动态匹配
↓
判断当前稳定性
↓
调整压力
↓
再次感知
↓
再次匹配

最终不是寻找一个永远固定的:

正确压力值

而是在寻找:

当前条件下,使任务完成且对象受损最小的动态匹配状态。

这已经从单纯的控制问题进入了认知问题。


3.17 感知与认知的工程表达

为了让理论最终能够进入工程系统,本书不能停留在概念层。

可以首先建立两个基本结构。

感知结构

Perception
{
    source
    element
    value
    state
    timestamp
    change
}

例如:

Perception
{
    source: "tactile_sensor",
    element: "pressure",
    value: 1.8,
    state: "contact",
    timestamp: T1,
    change: "+0.3"
}

这是感知信息。


认知结构

认知则不能只有一个 value。

它至少需要考虑:

Cognition
{
    object
    attributes
    state
    relations
    matching
    probability
    goal
    action
}

例如:

Object = Egg

State:
    contact = true
    stable = uncertain

Attributes:
    pressure_capacity = unknown
    friction = changing

Relations:
    pressure ↑
    slip ↑

Goal:
    complete_grasp = true

此时系统已经不是在保存一个传感器数字,而是在描述:

当前对象处于什么状态,以及当前信息之间是什么关系。

这就是认知工程与普通数据采集系统之间的重要区别。


3.18 本章的核心结论

通过本章,可以建立几条基础原则。

第一:

感知不是认知。

第二:

识别不是完整认知。

第三:

数据处理不是完整认知。

第四:

对象、属性和状态本身也不是完整认知。

第五:

认知的核心不是单个数据,而是信息之间动态关系的形成与匹配。

第六:

感知与认知虽然具有边界,但不是两个完全独立的系统。

第七:

认知会影响行为,行为又会改变感知条件,因此感知与认知必须放在动态闭环中研究。

最终可以得到本章的基本结构:

             环境
               ↓
              感觉
               ↓
              感知
               ↓
          感知元素
               ↓
       ┌───────┴───────┐
       ↓               ↓
     对象             属性
       ↓               ↓
       └───────┬───────┘
               ↓
             状态
               ↓
             关系
               ↓
          动态匹配
               ↓
             认知
               ↓
             决策
               ↓
             行为
               ↓
          环境发生变化
               ↓
             新感知

而这一章最重要的理论边界可以概括为:

感知使系统获得信息,认知使信息形成关系与意义;感知回答“获得了什么”,认知回答“这些信息在当前对象、状态、关系和目标中意味着什么”。

Leave a Reply

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