上一节里,损失函数把"预测得不够好"变成了可度量的误差,梯度下降再把这份误差变成参数的微小修正。模型终于知道了:自己错了,也知道大致该往哪里改。
但还有一个更根本的问题没有回答:它内部究竟该学什么?
面对一张机械臂图像,人很容易注意到边缘、关节、夹爪和整体姿态;面对电流、振动、温度等传感器序列,经验丰富的工程师也能挑出峰值、周期、突变与耦合关系。过去,这些有用信息通常需要人工设计。深度学习的不同之处在于:它能在训练反馈的引导下,把原始数据逐层变换成更适合任务的内部表示。
文章摘要
本文以机械臂视觉识别与多传感器状态判断为线索,解释深度学习为何能从原始数据中逐层形成有用特征。神经网络并不是凭空"看懂"图像,而是在损失函数与反向传播的反馈下,学习一组连续变换:浅层先保留边缘、颜色、局部波动等低级模式,中层把它们组合为纹理、轮廓和零部件,高层再形成与姿态、类别或故障状态相关的抽象表示。文章同时说明自动特征提取依赖数据、网络结构与训练目标三者共同约束,并澄清"特征可视化"不等于模型真正理解。最后把表征学习放回控制---嵌入式---机器学习的主线:底层系统提供可信数据,学习模型负责从复杂规律中提炼信息,而安全控制与工程规则仍须保留在闭环中。
写在前面
继续回到那台机械臂。
假设现在的任务不再是根据位置、电流、速度估计一个连续的负载值,而是让系统看一眼相机画面,判断夹爪是否正确抓住零件。一个工程师可能会先想到很多可手工编写的规则:
- 夹爪附近是否出现某种颜色;
- 零件边缘是否位于预期区域;
- 两根指爪的间距是否足够小;
- 图像中是否出现明显遮挡或反光。
这些规则并不荒唐。在场景固定、相机位置不变、零件种类很少时,它们甚至可能很好用。可一旦光照改变、零件旋转、背景杂乱,或者夹爪姿态略有偏移,规则就会迅速膨胀。我们不得不不断追问:到底该提前设计多少特征,才能覆盖真实世界的变化?

深度学习并非跳过"特征"直接得到答案;它真正改变的是:特征不再完全由人预先规定,而是在任务反馈中被逐层学出来。
这一节想回答的便是:
神经网络中的"表征"到底是什么?为什么一层层的计算,有机会把原始数据变成对任务更有用的信息?
一、先给结论:自动提取特征,不是魔法,而是"为任务而压缩"
先把结论说清楚。
所谓特征,可以先理解为:原始数据中,能够帮助我们完成当前任务的信息表达。
相机采到的是一大片像素;加速度计输出的是随时间变化的数值;电流传感器给出的是波形。它们都是真实数据,却未必是模型最容易直接利用的形式。对于"夹爪是否抓稳"这个任务,单个像素的亮度通常意义有限;但"夹爪轮廓""零件是否被两侧接触""接触后是否发生异常抖动",就更接近我们真正需要的判断依据。
神经网络所学到的表征(representation),正是原始输入经过一层层变换后形成的内部状态。理想情况下,它会做到两件事:
- 保留与当前任务有关的信息;
- 弱化与当前任务无关、却会干扰判断的变化。
这可以看作一种"面向任务的压缩"。它不是把数据简单压小,而是试图把复杂、混杂的输入整理成对后续判断更友好的形式。
| 输入层面 | 原始数据长什么样 | 更有用的内部表征可能是什么 |
|---|---|---|
| 机器视觉 | 像素亮度、颜色、局部噪点 | 边缘、纹理、零件轮廓、夹爪与工件的相对关系 |
| 状态监测 | 电流、振动、温度、速度序列 | 周期性、突变、频段能量、负载变化与异常模式 |
| 语音识别 | 随时间变化的声波采样点 | 音素、发音片段、词语及上下文关系 |
| 文本理解 | 离散的字符或词元 | 语法关系、语义角色、上下文含义 |
这里有一个很关键的限定:**网络不会无条件地学到"最本质"的特征。**它学什么,取决于训练数据提供了什么变化、网络结构允许表达什么关系,以及损失函数究竟奖励什么结果。所谓"自动",是减少人工逐条指定特征的负担;并不代表可以省掉任务定义、数据治理和验证边界。
二、从人工特征到学习表征:差别不在有没有特征
在传统机器学习流程中,常见路径是:工程师先依据经验提取一组特征,再把这些特征交给分类器或回归器。
例如,为了识别旋转设备是否异常,我们可能人工计算:振动信号的均方根、峰值、峭度、特定频段能量,以及转速附近的谐波幅值。它们不是原始波形,却是人根据机理和经验加工后的"摘要"。
这类做法有两个很大的优点:
- 可解释性较强:能明确说明某个特征对应怎样的物理现象;
- 小数据时很有效:先验知识能减少模型必须自己摸索的范围。
它也有明显的边界:当机理复杂、传感器很多、模式会随工况变化时,人很难穷尽所有有效组合。即使每个单独特征都有道理,把它们怎样组合起来才有用,仍然可能超出直觉的覆盖范围。
深度学习并没有取消特征这件事,而是把流程改成了:
text
传统方式:原始数据 → 人工设计特征 → 学习器 → 任务输出
深度学习:原始数据 → 多层可学习变换 → 任务输出
后者的核心优势在于,特征提取器本身也能接收误差信号。若模型把"抓稳"误判为"未抓稳",损失不只会影响最后一层分类器,也会沿着网络反向传回前面各层,让它们逐渐调整出更能服务这一判断的表示。
但这不是二选一的阵营之争。在工业场景中,最可靠的方案常常是结合:把已知物理量、健康指标和安全规则保留为显式输入或约束,再让网络从难以手工刻画的残差、图像细节和多变量耦合中继续学习。
人工特征把已知机理写进模型;学习表征则尝试从数据中补上人尚未写清的部分。
三、神经网络的一层,到底做了什么?
先暂时不把神经网络想得太神秘。一层最基本的网络可以做两步:
- 将输入按不同权重组合;
- 再经过一个非线性变换,得到新的输出。
用一个很简洁的式子表示,就是:
h=σ(Wx+b) h = \sigma(Wx + b) h=σ(Wx+b)
其中,xxx 是这一层接收到的输入,WWW 和 bbb 是需要从数据中学习的参数,σ\sigmaσ 则表示非线性激活。式子不必死记,它只说明:这一层会以很多不同的"观察角度"重新组合输入,再决定哪些响应应被保留、放大或压低。
如果没有非线性,无论堆多少层,整体仍可化成一次线性变换,表达能力并不会真正增加。非线性的存在,使得后续层能够在前一层结果的基础上继续组合,逐步描述更复杂的模式。
以图像为例,浅层中的某些单元可能对"左上到右下的明暗变化"特别敏感;另一些单元可能偏好圆弧、垂直边缘或某种颜色对比。它们起初并不知道自己叫"边缘检测器",训练过程中只是在大量样本上发现:对这类模式产生响应,有助于让最终损失下降。
这也解释了为什么"特征"不一定等于我们日常语言中的一个名词。一个单元可能对某个角度的边缘敏感,也可能只在"金属反光 + 圆形轮廓 + 特定位置"共同出现时才强烈响应。它是任务所需的一种内部编码,不保证刚好对应一个人类可以命名的概念。
四、为什么越深,越可能从局部模式走向整体概念?
层数本身不自动产生智慧。真正有意义的是:后一层处理的是前一层已经整理过的结果,因此可以在更大的组合范围内发现关系。

"由低到高"并不意味着每一层都能被清晰命名;它强调的是信息从局部、具体的模式,逐渐被组合为更抽象、更贴近任务的结构。
仍以机械臂图像为例,可以用下面的层级来建立直觉。
| 层级 | 更容易捕捉的模式 | 对任务有什么价值 |
|---|---|---|
| 浅层 | 明暗、颜色、边缘、简单纹理 | 找到物体边界与局部变化,为后续组合保留细节 |
| 中层 | 圆弧、角点、重复纹理、小型局部轮廓 | 把零散边缘拼成更稳定的局部形状 |
| 较深层 | 关节、螺栓、连杆、夹爪等部件组合 | 对视角、局部遮挡和光照变化更有适应性 |
| 输出附近 | "是否抓稳""零件类型""姿态是否异常"等任务相关模式 | 直接支撑分类、回归或决策 |
这里的"更有适应性"尤其重要。若模型只依赖某几个固定像素,机械臂稍微移动就可能认不出来;若它学到的是相对稳定的轮廓和部件组合,同一个夹爪即便出现在画面不同位置,也仍可能被识别出来。
不过,网络是否真的获得了这种不变性,仍取决于训练数据。若训练图片永远来自同一机位、同一背景,它完全可能走捷径:不是识别夹爪,而是记住背景里的某块阴影。数据增强、跨设备验证和有意识的工况覆盖,正是为了逼迫模型学习更可迁移的关系。
五、表征怎样被学出来?仍然离不开"预测---比较---反向修正"
现在可以把上一节的训练闭环接到这一节里。
模型从原始输入开始,经过多层计算,得到一个最终预测;损失函数将预测与正确标签比较;随后,误差信号通过反向传播穿过网络,使每一层都收到"自己的输出怎样影响最终错误"的信息。

所谓"自动提取",并不是网络事先拥有一套特征字典,而是在每次误差反馈后,逐步改变内部连接,让下一次表征更能帮助完成任务。
可以把这个过程理解为一场分工明确的协作:
| 环节 | 它做的事 | 对表征学习的意义 |
|---|---|---|
| 前向计算 | 把原始输入逐层变为预测 | 产生当前这套内部表征的实际结果 |
| 损失评估 | 比较预测与真实答案 | 判断当前表征是否真的服务了任务 |
| 反向传播 | 计算参数对损失的影响 | 将"错在哪里"分配给不同层的连接 |
| 参数更新 | 微调权重与偏置 | 让下一轮更倾向于保留有用模式、抑制无效模式 |
以"是否抓稳"为例。如果一批光照变化下的抓取成功样本被错误判为失败,反向传播并不会直接写入一句规则:"忽略反光"。它做的是更细粒度的参数调整:那些过度依赖局部亮斑的连接会逐渐失去优势,而能同时利用夹爪形状、接触区域和整体结构的连接,更有机会在后续训练中被强化。
这就是深度学习与手工规则最本质的不同:规则由人直接写在表面;表征则被分散地编码在大量参数的共同作用中。
六、网络结构不是中性的:它决定了模型更容易学到什么
既然特征由数据"学出来",是不是给任何网络、任何数据都一样?显然不是。
网络结构本身包含了很重要的先验假设,也就是它更擅长把哪类关系当作值得学习的模式。
| 结构或机制 | 它更擅长利用的关系 | 典型场景 |
|---|---|---|
| 全连接网络 | 各输入变量之间的整体组合 | 表格数据、已整理的传感器特征 |
| 卷积结构 | 局部空间关系、平移后仍可能有效的模式 | 图像、视觉检测、局部时序片段 |
| 循环或时序结构 | 前后时刻的依赖与动态变化 | 设备状态序列、语音、轨迹预测 |
| 注意力机制 | 较远位置之间的重要关联 | 长序列、多模态信息、语言理解 |
例如,图像中"一个边缘"无论出现在左上角还是右下角,都可能同样有价值。卷积结构用局部连接和权重共享,把这种假设直接写进了网络;它不需要为画面的每个位置单独学习一套边缘检测器,因此在视觉任务中通常更高效。
这与控制理论中的建模取舍很相似:我们不可能把世界的每一个细节都放进模型,只能挑选最适合当前问题的结构假设。选错结构,网络也许仍能拟合训练集,却会以更高的数据代价、更差的泛化能力来弥补。
所以,自动特征提取并不意味着"结构无关"。更准确的说法应当是:
人不再逐条设计具体特征,但仍要为任务选择合适的数据表示、网络归纳偏好与评估方式。
七、三个常见误解:自动提取特征,不等于自动理解世界
1. "可视化像边缘,就说明模型在理解边缘"
可视化某层激活,确实有助于观察网络对什么模式敏感;但它只能提供线索,不能单独证明因果关系。一个看上去像"夹爪检测器"的单元,可能同时依赖背景位置、亮度或训练集中的偶然关联。
2. "网络越深,特征一定越好"
更深的网络通常能表达更复杂的组合关系,但也会增加训练难度、计算量和过拟合风险。若任务本身简单、数据规模有限,过大的模型可能先记住噪声与设备个性,而不是学习可迁移规律。
3. "能自动学习,就不需要领域知识"
领域知识仍然决定哪些信号可信、标签怎样定义、故障漏报有多危险、模型输出能否直接进入控制链路。对于机械臂这样的具身系统,网络可以辅助感知、预测与估计,但限位、急停、力矩保护等安全约束不能交给一个离线准确率来担保。
可以把这三点汇总成一句话:表征学习扩展了我们从数据中发现规律的能力,却没有取消工程上对边界、因果与安全的责任。
八、把表征学习放回五层知识框架:它是"数据驱动的状态提炼"
回看专栏从控制理论到机器学习的主线,神经网络与表征并不是一块孤立的知识。
在控制理论中,我们用状态变量来描述系统中真正影响未来演化的信息;在状态估计中,我们从不完整、带噪声的测量里推断不可直接观测的状态;在机器学习中,表征学习同样是在从复杂输入中提炼对任务有效的内部状态,只是这套提炼规则不完全依赖人工推导,而是通过数据与反馈逐步形成。
| 层次 | 面对的原始信息 | 需要提炼出的东西 | 主要保障 |
|---|---|---|---|
| 控制理论 | 系统输入、输出与机理 | 可用于预测和控制的状态描述 | 可控、可观、稳定性分析 |
| 嵌入式系统 | 传感器采样、时间戳、执行器反馈 | 可信、同步、可实时处理的信号 | 采样质量、实时性、数值与故障保护 |
| 机器学习 | 高维图像、多传感器序列、历史日志 | 对预测或识别有用的任务表征 | 数据分布、损失设计、验证与泛化 |
| 大模型与 Agent | 多模态上下文、工具结果与长期记忆 | 支撑理解、规划与行动的上下文表征 | 对齐、检索校验、权限与安全边界 |
从这个角度看,深度学习不是用"黑箱"取代前面的知识,而是在显式模型不够用时,为系统增加一层从数据中归纳复杂模式的能力。底层控制环仍负责快速稳定与安全兜底;学习表征则更适合处理视觉、声音、复杂耦合信号等难以写成固定规则的问题。
In the end:下一步该看什么
到这里,我们知道了深度学习如何把原始输入逐层组织成更适合任务的内部表征,也知道这种能力来自数据、结构与误差反馈的共同作用。
但新问题随之出现:一个网络能够在训练集上提取出"看起来有效"的特征,为什么换一批样本、换一台设备、换一个光照条件后,结果有时会突然变差?模型究竟是学到了规律,还是仅仅记住了训练数据里的偶然细节?
下一节将继续追问这条边界:过拟合与泛化:模型为什么会"刷题很强,实战失灵"。