第7章 感觉:感觉是认知的起点
7.1 感觉是认知的起点
如果要模拟人的感知与认知,首先必须回答一个最基础的问题:
人究竟是从什么地方开始认识世界的?
通常人们会直接说:
人通过视觉、听觉、触觉等方式认识世界。
这句话没有错,但它仍然没有进入认知工程的层面。
因为“视觉”“触觉”“听觉”只是感觉系统的名称,并没有说明:
感觉系统到底产生了什么。
更没有说明:
这些产生出来的信息,如何进入后续的感知、对象识别、属性判断和认知匹配。
因此,在模拟人的感知与认知理论中,必须把“感觉”从一个生理概念进一步转换为一个可以进入工程系统的概念。
本书将“感觉”定义为:
个体与外部环境发生物理或信息交互后,由感觉系统产生的原始变化响应。
这里有几个关键词:
个体、环境、交互、变化、响应。
感觉并不是一个已经完成解释的数据。
例如,一个人用手触摸一个鸡蛋。
手接触到鸡蛋以后,皮肤上的压力感受发生变化。
这个变化本身就是感觉。
但是:
“这是一个鸡蛋。”
并不是感觉本身。
同样:
“这个鸡蛋很脆。”
也不是感觉本身。
甚至:
“我不能用力。”
仍然不是感觉。
这些都是后续的感知、属性形成、关系匹配和认知结果。
因此必须把几个层次严格区分:
外部对象
↓
物理变化
↓
感觉
↓
感知
↓
感知元素
↓
对象与属性
↓
认知
这也是本书后续理论能够成立的第一道边界。
7.2 感觉不是“认识”
人在生活中经常把感觉和认识混在一起。
例如:
“我看到了一只杯子。”
从语言上看,这似乎只是一个简单的感觉。
实际上,这句话已经跨越了多个认知层级。
真正发生的过程可能是:
光线进入眼睛
↓
视觉系统产生变化响应
↓
产生视觉感觉
↓
形成颜色、轮廓、亮度、位置等感知信息
↓
这些信息形成若干感知元素
↓
元素之间发生组合
↓
形成一个对象
↓
对象被识别为“杯子”
因此:
“看到”并不等于“感觉”。
“看到”这个词在自然语言中通常已经包含了感觉和感知两个过程。
为了建立工程理论,我们必须把它们拆开。
可以暂时表示为:
Sensation
↓
Perception
↓
Cognition
其中:
- Sensation:感觉
- Perception:感知
- Cognition:认知
三者不能简单地视为同一个过程。
7.3 感觉来自交互
感觉不是凭空出现的。
必须存在某种交互。
例如:
光 → 眼睛
声音 → 耳朵
压力 → 皮肤
温度 → 皮肤
气味 → 嗅觉系统
味道 → 味觉系统
但是从理论工程角度看,还可以进一步抽象。
感觉的产生可以表示为:
Environment
↓
Interaction
↓
Physical Change
↓
Sensor Response
↓
Sensation
也就是说:
感觉是交互之后产生的响应,而不是对象本身。
例如,一个鸡蛋放在桌面上。
鸡蛋本身不是“压力感觉”。
只有当人的手指接触鸡蛋,并且产生压力变化时,感觉系统才产生相应的压力感觉。
因此:
鸡蛋 ≠ 压力感觉
接触鸡蛋
↓
产生压力
↓
压力发生变化
↓
感觉系统响应
↓
压力感觉
这个区分非常重要。
因为如果机器人系统直接把:
Egg = Pressure
作为静态知识,它实际上已经跳过了感觉过程。
而真正的模拟人认知系统必须能够处理:
对象
+
交互
+
变化
+
感觉
7.4 感觉具有变化性
感觉最重要的特征之一,是:
感觉不是一个永远不变的值。
人的感觉通常来自变化。
例如:
手慢慢接近鸡蛋。
开始:
压力 = 0
接触瞬间:
压力 > 0
继续施力:
压力 ↑
如果鸡蛋发生轻微变形:
形变 ↑
如果手指开始滑动:
摩擦状态发生变化
因此,感觉更接近:
S(t)
而不是:
S
也就是说:
感觉应该被理解为随时间变化的响应过程。
可以表示为:
Sensation(t)
进一步,可以关注:
S(t)
ΔS
dS/dt
Trend(S)
分别表示:
- 某一时刻的感觉状态
- 感觉发生了多少变化
- 感觉变化的速度
- 感觉变化的趋势
这为后面的动态属性理论打下基础。
7.5 感觉的强度
感觉并不是只有“有”和“没有”。
很多感觉存在强弱。
例如压力:
无接触
↓
轻微接触
↓
正常接触
↓
较大压力
↓
过大压力
可以用一个连续变量表示:
P(t)
其中:
P = Pressure
但是这里需要特别注意:
压力感觉的数值并不等于“危险程度”。
例如:
压力 = 2
本身没有足够意义。
还需要知道:
对象是什么?
对象能够承受多少压力?
当前是否发生滑移?
对象是否正在变形?
目标是什么?
所以:
感觉值
只是后续认知所需要的一个输入。
它不能直接等于:
认知结果
7.6 感觉的方向性
某些感觉不仅有强度,还有方向。
例如触觉。
手指接触物体时,不仅可以感觉到压力大小,还可能感觉到:
- 压力方向
- 摩擦方向
- 移动方向
- 振动方向
- 物体相对运动方向
因此:
Pressure
可能进一步成为:
PressureVector
类似地,视觉也不仅仅是“看到颜色”。
还存在:
位置
方向
距离
运动
变化
所以,感觉系统产生的并不是一个简单的单值。
它更接近一个动态状态集合:
S(t) =
{
intensity,
direction,
position,
frequency,
change,
time
}
当然,这并不意味着人的大脑真的以这样的程序结构存储感觉。
这里是在进行理论工程抽象。
7.7 不同感觉通道
人的感觉并不是单一通道。
至少可以从工程角度划分为:
视觉
听觉
触觉
温度
嗅觉
味觉
平衡
空间
时间
不同感觉通道具有不同的信息来源和响应方式。
例如:
视觉
主要涉及:
光
颜色
亮度
轮廓
位置
运动
听觉
主要涉及:
声音
频率
强度
时间
方向
变化
触觉
主要涉及:
接触
压力
摩擦
振动
形变
位置
温度感觉
主要涉及:
温度
温差
升温
降温
变化速度
但是这些感觉并不是彼此完全独立的。
人拿起一个杯子时,可能同时产生:
视觉
+
触觉
+
温度感觉
+
空间感觉
+
运动感觉
因此,模拟人的感知不能简单设计成:
一个传感器
→
一个判断
而应该考虑:
多个感觉通道
↓
同时变化
↓
感觉协同
7.8 感觉不是知识库
这是认知工程中一个非常容易产生错误的地方。
传统系统往往喜欢把大量知识预先写进去:
鸡蛋
压力范围:X
摩擦系数:Y
抓取速度:Z
然后机器人遇到鸡蛋,就直接读取这些数据。
这种方法可以解决一部分工程问题,但它存在明显局限:
它把动态环境中的实际感觉,退化成了静态知识。
现实中的鸡蛋并不是完全一样的。
不同鸡蛋可能存在:
大小不同
重量不同
表面湿度不同
表面粗糙度不同
蛋壳强度不同
温度不同
位置不同
姿态不同
即使是同一个鸡蛋:
刚开始抓取
和:
已经被抓住
其状态也不同。
因此:
知识可以提供先验,但不能代替当前感觉。
这也是后面“个体认知”和“动态认知匹配”能够成立的重要原因。
7.9 感觉与当前状态
感觉具有一个重要特点:
它描述的是当前交互状态,而不是对象的全部知识。
例如机器人手指碰到鸡蛋。
当前感觉可能是:
Pressure = 0.8
Slip = 0.1
Vibration = 0.02
Temperature = 24
这些数据只能说明:
当前发生了什么。
它们并不能单独告诉机器人:
应该怎样做。
真正的认知需要继续向后发展:
感觉
↓
当前状态
↓
对象
↓
对象属性
↓
动态变化
↓
关系
↓
匹配
↓
认知
因此,本章讨论感觉时必须坚持一个原则:
感觉提供信息,但不直接提供完整认知。
7.10 感觉的时间性
人的感觉始终存在时间维度。
同一个对象,在不同时间产生的感觉可能完全不同。
例如:
t1:未接触
t2:刚接触
t3:开始施力
t4:压力增加
t5:出现滑移
t6:调整力量
t7:保持稳定
如果只保存:
Pressure = 3
那么大量信息都会丢失。
而如果记录:
Pressure(t)
则可以看到:
0
↓
0.5
↓
1.0
↓
1.8
↓
2.1
↓
1.6
这时系统才能知道:
压力正在增加,随后又下降。
因此:
时间不是感觉之外的附属信息,而是感觉本身的重要维度。
7.11 感觉的变化比感觉值本身更重要
假设两个时刻:
t1:压力 = 2
t2:压力 = 2
如果只看数值:
2 = 2
似乎没有变化。
但是如果进一步观察中间过程:
t0:1
t1:3
t2:2
那么系统会发现:
压力曾经快速增加,然后下降。
这可能意味着:
- 手指进行了调整;
- 物体发生了移动;
- 出现了滑移;
- 控制动作发生了变化。
因此,在模拟人的认知中:
状态值本身只是一个截面,变化过程才可能揭示真正的行为信息。
这正是本书后面提出动态属性理论的基础。
7.12 多感觉共同描述一个对象
人在认识一个对象时,很少只使用一种感觉。
例如一个人拿起一个杯子:
视觉告诉他:
轮廓
位置
大小
颜色
触觉告诉他:
接触
压力
表面
摩擦
温度感觉告诉他:
冷
温
热
空间感觉告诉他:
位置变化
距离变化
方向变化
这些感觉最终并不是各自形成一个独立世界。
它们需要进行组合。
可以抽象为:
Visual(t)
+
Touch(t)
+
Temperature(t)
+
Position(t)
↓
Multi-Sensation State
但是此时仍然不能直接称为“认知”。
因为:
多感觉组合
还只是感觉层面的综合。
下一步还需要形成:
感知元素
这将成为第9章讨论的核心。
7.13 感觉与对象之间不能直接建立固定等式
这是整个理论体系中非常重要的一点。
不能简单建立:
感觉 → 对象
例如:
压力大 → 鸡蛋
这是错误的。
同样:
温度高 → 热水
也不是必然成立。
因为一个感觉可能对应多个对象。
例如:
压力感觉
↓
鸡蛋
玻璃
塑料
金属
木头
人体
反过来,一个对象也可以产生多种感觉:
鸡蛋
↓
视觉
触觉
压力
温度
空间
重量
因此应该建立:
感觉 ←→ 元素 ←→ 对象
而不是:
感觉 = 对象
这就是为什么下一章必须引入“感知”。
7.14 感觉、感知、认知的第一层结构
到这里,我们可以建立本书最基础的三级结构:
第一层:感觉
外界变化
↓
感觉响应
第二层:感知
感觉
↓
信息组织
↓
感知元素
第三层:认知
感知元素
↓
对象
↓
属性
↓
状态
↓
关系
↓
动态匹配
↓
认知
因此:
感觉不是认知的缩小版,而是认知系统的输入基础之一。
这一区分非常重要。
7.15 感觉工程化
如果把这一理论进一步工程化,一个感觉对象至少应该能够描述:
Sensation
{
channel
value
intensity
direction
position
time
change
source
}
例如:
Touch
{
channel: "touch",
pressure: 1.8,
direction: "down",
position: [x, y, z],
time: t,
change: +0.4
}
这里并不是说真实人的神经系统就是这样工作的。
而是为了建立:
能够被程序、算法和认知系统处理的理论结构。
这就是本书所说的“理论工程”。
理论必须能够逐步转换成:
概念
↓
变量
↓
状态
↓
关系
↓
结构
↓
算法
否则理论无法进入工程。
7.16 感觉数据不应该直接决定行为
假设机器人检测到:
Pressure = 3
不能直接得出:
Reduce Pressure
因为系统还不知道:
对象是谁?
对象能够承受多少?
当前是否稳定?
是否正在滑移?
任务是什么?
之前发生了什么?
所以正确过程应该是:
感觉
↓
感知
↓
元素
↓
对象
↓
属性
↓
状态
↓
变化
↓
关系
↓
认知匹配
↓
决策
↓
行为
这与传统的:
Sensor
↓
Rule
↓
Action
存在本质区别。
后者可以是一个控制规则。
前者才开始接近:
模拟人的感知与认知过程。
7.17 从“感觉值”走向“感觉状态”
因此,本书不把感觉简单定义成一个数字。
更准确地说:
感觉是个体在特定时间、特定位置、特定交互条件下产生的动态响应状态。
可以表示为:
S = f(
channel,
value,
intensity,
position,
direction,
time,
change
)
而这个状态并不是最终结果。
它还需要进入下一层:
Sensation
↓
Perception
也就是:
感觉如何被组织成可供认知系统使用的感知信息。
7.18 本章小结
本章建立了“感觉”在整个理论体系中的位置。
我们首先区分了:
感觉 ≠ 感知 ≠ 认知
然后确定:
感觉来自个体与环境之间的交互。
感觉具有:
强度
方向
位置
时间
变化
等特征。
感觉不是静态知识,也不是对象本身。
它是:
外部变化
↓
交互
↓
感觉响应
形成的动态信息。
因此,模拟人的感知系统不能仅仅建立一个静态传感器数据库,而应该能够持续接收:
当前值
+
变化
+
时间
+
关系
并将这些感觉组织成为更高层次的感知元素。
最终,本章形成第一条基础链:
环境
↓
交互
↓
变化
↓
感觉
↓
感知
下一章将继续解决一个关键问题:
感觉只是原始响应,人是如何把这些感觉组织成“可感知的信息”的?