卷积(Convolution)
是什么
卷积就是把一个「滤镜」在数据上滑动,每一步做一次加权求和。
直观理解
原始信号: [3, 7, 2, 5, 8, 1, 6]
卷积核: [⅓, ⅓, ⅓] (3 天平均窗口)
滑过去 →
位置0: (3×⅓ + 7×⅓ + 2×⅓) = 4.0
位置1: (7×⅓ + 2×⅓ + 5×⅓) = 4.67
位置2: (2×⅓ + 5×⅓ + 8×⅓) = 5.0
位置3: (5×⅓ + 8×⅓ + 1×⅓) = 4.67
位置4: (8×⅓ + 1×⅓ + 6×⅓) = 5.0
结果: [4.0, 4.67, 5.0, 4.67, 5.0] ← 平滑后的曲线数学定义
(f ∗ g)(t) = ∫ f(τ) · g(t-τ) dτ
把 g 翻过来,在 f 上滑动,每步算重叠部分的积分。
在图像处理(CNN)里
拿一张图片,用小矩阵(卷积核)在上面滑动:
图片(5×5): 卷积核(检测竖边):
┌─────────────────┐ ┌──────────┐
│ 10 10 10 0 0 │ │ 1 0 -1 │
│ 10 10 10 0 0 │ ∗ │ 1 0 -1 │
│ 10 10 10 0 0 │ │ 1 0 -1 │
└─────────────────┘ └──────────┘
在明暗交界处(10 → 0),卷积输出值很大 → 检测到了竖边不同的卷积核能检测不同特征:竖边、横边、模糊、锐化……
一句话
卷积 = 拿一个滤镜在数据上滑动,每步加权求和。
| 领域 | 滤镜是什么 |
|---|---|
| 信号处理 | 平滑窗口 |
| 图像处理 | 边缘检测器 |
| CNN | 网络自己学出来的特征提取器 |
CNN 的设计来自猫实验
Hubel & Wiesel(1959年,诺贝尔奖)
两位神经科学家把猫固定,在屏幕上打光,同时用电极记录猫视觉皮层里单个神经元的放电。
发现了两件事:
1. 每个神经元只对视野里的一小块区域有反应(局部感知)
整张图:🖼️
这个神经元只管这里:[ 3×3 小块 ]
对其他区域的刺激:没反应2. 神经元分层响应,从简单到复杂
第一层神经元 → 只识别"某个角度的边缘"
第二层神经元 → 识别"边缘组合成的形状"
第三层神经元 → 识别"形状组合成的物体(比如猫耳朵)"直接启发了 CNN 的两个核心设计
| 神经科学发现 | CNN 对应设计 |
|---|---|
| 神经元只管一小块(局部感知) | 小窗口(3×3)在图片上滑动,不看全图 |
| 从边缘→形状→物体的层级结构 | 多层卷积,浅层提取边缘,深层识别物体 |
CNN 的发明者 Yann LeCun 在论文和演讲里多次明确承认,CNN 设计直接来自这个猫实验。
不是比喻,是真的从猫身上得出来的。
微电极记录:怎么"听"神经元说话
神经元放电的本质是电信号
神经元"放电"时,细胞内外离子快速交换,产生约 100 毫伏的电压脉冲,向外辐射:
神经元静息: -70mV
神经元放电: +40mV ← 这个瞬间变化就是"放电"
↓
-70mV 恢复(约 1 毫秒)电极怎么捡到这个信号
头骨 → 开一个小孔
↓
微电极(尖端直径几微米,比细胞还小)插入视觉皮层
↓
电极尖端靠近单个神经元
↓
神经元放电 → 电压变化被电极捕获
↓
放大器 → 计算机记录 / 扬声器发出"噼啪"声每次神经元放电,扬声器就响一声。Hubel 和 Wiesel 就是靠听声音来判断哪个视觉刺激让神经元兴奋。
实验现场的意外发现
猫被麻醉固定,眼睛对着屏幕,头骨打开小孔,电极缓慢推进去。
他们一直找不到能让神经元响的图案,沮丧了很久。后来在换幻灯片时,玻璃片的边缘划过屏幕,神经元突然疯狂放电。
这才发现:神经元响应的不是光点,而是特定角度移动的边缘。
这个技术叫微电极记录(Microelectrode Recording),今天仍是神经科学最基础的工具之一。
这个实验可以在人身上做吗
皮肤表面:完全可以,非常常见
把电极贴在皮肤上,捡取从深处透出来的电信号:
| 技术 | 电极位置 | 测什么 |
|---|---|---|
| EEG(脑电图) | 头皮表面 | 大脑整体电活动 |
| EMG(肌电图) | 肌肉表面皮肤 | 肌肉收缩信号 |
| ECG(心电图) | 胸部皮肤 | 心脏电信号 |
去医院做的心电图、脑电图就是这个原理,完全无创。
皮肤表面的根本局限
单个神经元的信号 ← 微电极才能捡到
皮肤表面捡到的 ← 数百万神经元叠加后的总和
就像:
单个人说话 ← Hubel & Wiesel 的微电极
整个体育场的噪声 ← EEG 头皮电极活人身上的单神经元记录
在以下医疗场景会做:
- 癫痫手术:术中微电极定位异常放电区域
- 帕金森深脑刺激(DBS):植入电极持续抑制震颤
- 脑机接口(BCI):Neuralink 在人脑植入几百根微电极,读取信号控制设备
动物实验的伦理代价
Hubel 和 Wiesel 的猫实验中,猫被麻醉固定、开颅插电极,实验结束后通常被安乐死。这个拿了诺贝尔奖的发现,代价是大量动物的生命。
科学界后来提出 3R 原则约束动物实验:
| 原则 | 含义 |
|---|---|
| Replace(替代) | 能用计算机模型或细胞实验代替就代替 |
| Reduce(减少) | 尽量用最少的动物数量 |
| Refine(改善) | 尽量减少痛苦,改善实验过程 |
知识的获取是否可以用另一个生命的痛苦来换——这个问题科学界至今没有统一答案,只是在不断收紧边界。
卷积可以从其他地方独立推导出来吗
可以。猫实验只是其中一条路,卷积从多个完全不同的角度都能推出来。
路线一:从"效率"推导
全连接网络的问题:
1000×1000 的图片 = 100万像素
每个像素连到1000个神经元 = 10亿个参数
→ 根本训练不动为了减少参数,问两个问题:
- 识别猫耳朵,真的需要看整张图吗?→ 不需要 → 局部连接
- 左上角和右下角的猫耳朵,检测方法一样吗?→ 一样 → 权重共享
局部连接 + 权重共享 = 卷积。不需要猫,只需要想清楚"怎么省参数"就能推出来。
路线二:从"滑动平均"推导
想平滑一组数据去掉噪声,最自然的想法:
每个点 = 自己和左右邻居的平均值
→ 拿窗口 [⅓, ⅓, ⅓] 在数据上滑动
→ 这就是卷积信号处理领域在神经科学之前几十年就用这个了。
路线三:从"找模板"推导
想在音频里找某个声音片段:
把模板在信号上逐位滑动
每个位置算一次相似度(点积)
相似度最高的地方就是匹配位置
→ 滑动 + 点积 = 卷积路线四:从物理现象推导
很多自然现象天然就是卷积:
| 现象 | 为什么是卷积 |
|---|---|
| 图片模糊 | 每个像素 = 周围像素的加权平均 |
| 声音回声 | 此刻听到的 = 过去所有声音的加权叠加 |
| 热传导 | 某点温度 = 周围温度的扩散叠加 |
结论
猫实验 → 局部感知 → 卷积(神经科学路线)
省参数 → 局部+共享 → 卷积(工程路线)
平滑数据 → 滑动窗口 → 卷积(统计路线)
找模板 → 滑动点积 → 卷积(信号处理路线)
物理方程 → 叠加原理 → 卷积(数学路线)卷积是一个"必然会被发现"的概念——不管从哪个方向出发,只要面对"局部、重复、叠加"这类问题,都会撞上它。猫实验只是其中一扇门。