自适应预处理网络:模型与推导
这篇笔记只解决一个核心问题:
为什么这个 ORN-LN 自适应预处理网络的输出
y会比输入x更去相关?z、K、LC 和 NNC 到底在里面做了什么?
我先用很慢的直觉解释,再放回论文里的公式语言。
0. 先把变量认清楚
| 记号 | 含义 | 可以先粗略理解成 |
|---|---|---|
x |
ORN soma 的原始输入活动 | 还没预处理的气味响应 |
y |
ORN axon 的输出活动 | 预处理之后送往下游的表示 |
z |
LN / lateral population 的活动 | 负责发现“共同模式”的侧向神经元 |
W |
ORN-LN 之间学到的权重 | 哪些 ORN 模式会驱动哪些 LN |
M |
LN-LN 之间的竞争 / 抑制结构 | LN 之间避免重复解释同一个模式 |
K |
LN 数量,也就是 z 的维度 |
最多有多少个侧向通道去解释共享结构 |
最简单的回路图是:
odor stimulus → ORN soma activity
x→ ORN axon outputy→ downstream
同时,y 会驱动 LN activity z,而 z 又通过 inhibitory feedback 反过来影响 y。
所以 y 不是单独由 x 决定的。y 是 x 和 LN 反馈一起达到平衡后的结果。
1. 去相关到底是什么意思
先不要想 PCA。先想一个更简单的问题。
假设有两个 ORN:x₁ 和 x₂。如果很多气味来了以后,它们总是一起变大、一起变小,那么这两个通道就是相关的。
这种相关通常说明两件事:
- 它们各自有自己的信息。
- 它们还共享了一部分重复信息。
比如:
| 气味 | x₁ |
x₂ |
直觉 |
|---|---|---|---|
| A | 高 | 高 | 两个 ORN 都被共同因素推高 |
| B | 低 | 低 | 两个 ORN 都低 |
| C | 中 | 中 | 仍然一起动 |
这里 x₁ 和 x₂ 的共同升降可能来自总浓度、某个分子族、背景响应,或者某个 dominant chemical block。这个共同升降就是冗余。
去相关不是把信息删掉,而是让输出里的“共同升降”少一点。理想效果是:
x里很多 ORN 总是一起动;经过预处理后,y里这种一起动的成分被压小了,于是不同通道更能表达各自独立的部分。
这就是为什么论文常看 covariance matrix、correlation matrix、eigenvalue spectrum 和 effective dimension。它们都是在问:
输出
y还会不会被少数几个共同方向支配?
2. 先用一个新手版比喻理解
把 x 想成一群学生一起交作业。每个学生有自己的答案,但他们里面有一段话是全班都差不多的套话。
- 每个学生自己的答案:有用的个体差异。
- 全班都差不多的套话:重复的共享结构。
- 老师看多了以后发现:这段套话每次都出现。
- 老师之后批改时会把套话的影响压低一点,让真正不同的部分更显眼。
在网络里:
x是原始答案。z像“发现套话模式”的检查器。Wz是检查器反馈回来的“这部分像套话,要压一下”。y = x - γ²Wz就是被压过之后的输出。
注意:这不是把套话整段删光。因为有时那段共同结构里也有有用信息。网络做的是压缩,不是清零。
3. 为什么 y 能去掉 x 里的相关结构
3.1 第一步:相关结构就是“经常一起出现的方向”
输入的 covariance 可以写成 Cₓ = E[xxᵀ]。
这句话的意思是:我们统计很多气味刺激下,ORN 活动 x 的哪些维度经常一起变化。
如果 Cₓ 有一个很大的 eigenvalue,意思就是:
在某个方向上,输入变化特别大;很多样本都沿着这个方向一起涨落。
这个方向可能对应总浓度,也可能对应某个分子族共同激活很多 ORN。
所以“强相关结构”不是神秘东西。它就是数据里反复出现、幅度很大、很多 ORN 一起参与的共同模式。
3.2 第二步:为什么 LN 会优先看到这些共同模式
LN 的活动 z 是被 Wᵀy 驱动的。直觉上,Wᵀy 在问:
当前输出
y里面,有多少成分像我这个 LN 已经学到的模式?
如果某个模式在数据里经常出现、幅度又大,它就更容易反复驱动某些 LN。长期学习以后,W 会更稳定地对这些模式敏感。
这一步非常关键:
z不是手动算出来的 PCA 坐标,但它会被高方差、强相关、反复出现的结构强烈驱动。
所以你觉得“z 好像学到了前 K 个特征空间”,这个直觉有一部分对:它确实倾向于捕捉主导共享结构。
但它不等于 PCA 里的“前 K 个 component”。它是由电路动力学、非负约束、W、M、ρ、γ 共同决定的 LN 活动。
3.3 第三步:为什么被 LN 看到以后,y 里的相关结构会变小
LC 的第一条稳态关系可以写成:
y = x - γ²Wz
这句话可以慢慢读:
x是原始输入。Wz是 LN 根据当前模式产生的反馈信号。γ²Wz是反馈强度。y是输入减去这部分反馈后的输出。
如果某个共享模式很强,它会强烈驱动 z。z 一强,Wz 也强。于是这个共享模式在 y 里被压得更多。
如果某个方向本来就弱、不是很多 ORN 共同参与,它驱动 z 不强,反馈也弱,于是它在 y 里被保留得更多。
所以整个过程像这样:
x里有一个经常出现的共同模式。- 这个共同模式让多个 ORN 一起变大,因此 covariance 里出现强方向。
- 强方向更容易激活 LN,也更容易被
W学到。 - LN 被激活后,通过
Wz反馈到 ORN output。 - 反馈项在
y = x - γ²Wz里把这个共同模式压小。 - 共同模式压小后,通道之间就没那么一起涨落了。
- 因此
y的 correlation matrix 更接近对角,spectrum 更平,effective dimension 更高。
这就是“输出 y 能去掉 x 中相关性结构”的核心原因。
更短地说:
强相关结构会更容易驱动 LN;LN 又专门反馈抑制它驱动到的结构;所以强相关结构在输出
y中被优先压缩。
3.4 但 y 不是 x 减去前 K 个 PCA 方向
这个区别很重要。
错误理解:
z等于前K个 PCA features,y等于x减去这些 features。
更准确的理解:
z是一个K维的侧向活动空间,它倾向于表示输入中强、常见、共享的模式。y是在x和 LN feedback 互相耦合后得到的平衡输出。
为什么不能说成“直接减去前 K 个 PCA 方向”?
- PCA 是先全局计算
Cₓ,再显式求 eigenvectors。这个网络不是这样做的。 z不是只由x决定,而是由当前的y、W、M和反馈平衡共同决定。Wz不是硬投影删除,而是连续的 feedback shrinkage。- NNC 里还有
y ≥ 0和z ≥ 0,因此它更像非负特征或 soft cluster,而不是普通线性 PCA 坐标。
所以你可以把它理解成:
PCA whitening 是工程上“先算清楚所有方向,再精确除以每个方向的标准差”。
LC / NNC 是生物回路里“用 LN 学到常见共享模式,再用反馈把这些模式压下去”。
这两个结果可能相似,但实现方式不同。
4. LC 的去相关原理
LC 指 linear circuit。活动方程是:
dy/dτ = -y - γ²Wz + xdz/dτ = -Mz + (ρ² / γ²)Wᵀy
看第一条:
dy/dτ = -y - γ²Wz + x
它包含三股力量:
| 项 | 作用 |
|---|---|
+x |
原始 ORN soma 输入把 y 往上推 |
-y |
活动自身衰减,防止无限变大 |
-γ²Wz |
LN 反馈抑制,把学到的共享模式压下去 |
看第二条:
dz/dτ = -Mz + (ρ² / γ²)Wᵀy
它也包含几股力量:
| 项 | 作用 |
|---|---|
Wᵀy |
当前 y 有多像每个 LN 学到的模式 |
ρ² / γ² |
调节 y 驱动 z 的相对强度 |
-Mz |
LN-LN 竞争,避免所有 LN 都学同一个东西 |
所以 LC 的逻辑是:
x推动y。y驱动z。z通过Wz反过来抑制y。- 反复出现的高方差方向会产生更强反馈。
- 这些方向在
y里被压缩。
这叫 partial decorrelation 或 partial whitening。它不是完整 whitening,因为它不会保证 Cᵧ = I。
5. NNC 的去相关原理
NNC 指 nonnegative circuit。它和 LC 很像,但多了非负约束:
y ≥ 0,z ≥ 0
离散形式可以写成:
y(τ + 1) = [y(τ) + η(-y - Wz + x)]₊z(τ + 1) = [z(τ) + η(-Mz + ρ²Wᵀy)]₊
其中 [a]₊ = max(0, a)。
非负约束会改变直觉。LC 里的 z 可以正负变化,所以更像线性子空间变量;NNC 里的 z 只能非负,所以更像:
- 某类 odor feature 的激活强度。
- 当前气味属于某个 soft cluster 的程度。
- 某组 ORN 共同活动模式的“存在量”。
所以 NNC 的去相关可以这样理解:
- 某个气味来了,激活一组 ORN。
- 如果这个 ORN pattern 很像过去常见的某个模式,对应的 LN
z会变大。 - 这个 LN 通过
Wz抑制相关 ORN output。 - 常见模式被压缩,剩下的输出更强调差异部分。
- 因为
z非负,它更像“这个模式出现了多少”,而不是“沿 PCA 轴的正负坐标”。
因此 NNC 的一句话解释是:
NNC 用非负 LN feature / soft cluster 来识别常见 ORN 活动模式,再用模式特异性的反馈抑制降低冗余。
6. K 越大为什么常常效果越好
你观察到 K 越大,去相关效果确实更好,这个现象很合理。
K 是 LN 的数量,也就是 z 的维度。它决定网络有多少个“侧向检查器”可以去发现共享模式。
可以这样想:
K |
网络能做什么 |
|---|---|
K = 0 |
没有 LN 反馈,y 基本就是 x,相关结构还在 |
K = 1 |
只能重点压一个最明显的共同模式,比如总浓度轴 |
K = 5 |
可以压几个共同模式,比如浓度轴加几个分子族轴 |
K 更大 |
可以覆盖更多高方差 / 高相关方向 |
所以在输入确实有多个共享相关方向时,K 增大通常会让去相关变强。原因不是“数学上强行删除更多 PCA component”,而是:
LN 通道更多,网络可以学到并反馈压缩更多种共享模式。
但这里也有边界。
K 越大不一定永远越好,因为:
- 如果主要相关结构已经被前几个 LN 处理了,再增加
K的收益会变小。 - 如果
K太大而数据样本不够,网络可能学到噪声或不稳定模式。 - 如果反馈太强,可能把任务相关的信息也压掉。
- 真正压缩多强还取决于
ρ、γ、学习率和输入统计。
所以更准确的说法是:
在共享相关结构较多、学习稳定、参数合适时,较大的
K通常带来更强的 partial decorrelation;但它增加的是反馈容量,不是保证输出维度等于K,也不是保证越大越无限好。
7. 参数对去相关的影响
7.1 K:能处理多少类共享模式
K 控制 LN population 的容量。
K小:只能压最强、最明显的相关方向。K大:可以压更多相关方向。K太大:收益可能饱和,也可能受样本量和噪声影响。
可以把 K 叫做“可学习共享模式的数量上限”,不要直接叫“PCA component 数量”。
7.2 ρ:压缩强度和输入尺度的相对参数
ρ 控制 y 驱动 z 的强度,也影响反馈压缩的有效强度。
直觉上:
ρ太小:LN 不够活跃,反馈弱,去相关弱。ρ适中:主导共享方向被明显压缩。ρ太大:压缩可能过强,活动尺度和稳定性可能受影响。
所以 ρ 不是简单的“越大越好”,而是控制 partial whitening 的强度。
7.3 γ:反馈尺度和活动尺度匹配
在 LC 里,γ 同时出现在 γ²Wz 和 (ρ² / γ²)Wᵀy 里。
它影响:
z对y的反馈强度。y对z的驱动强度。- 权重和活动的尺度匹配。
- 动力学稳定性。
所以 γ 更像电路实现中的尺度参数,不是单独的“去相关按钮”。
7.4 W 和 M:一个学 ORN-LN 模式,一个学 LN-LN 竞争
慢学习规则的直觉是:
W学y和z的共同活动;M学z和z的共同活动。
W 让 LN 知道哪些 ORN 输出模式经常一起出现。
M 让 LN 之间相互竞争,避免所有 LN 都表示同一个最强模式。
没有 M 的竞争,多个 LN 可能都盯着同一个 dominant direction,容量被浪费。
有了 M,不同 LN 更容易分工,覆盖多个共享结构。
8. 怎么判断模型真的去相关了
不要只看分类准确率。去相关和分类准确率不是一个东西。
如果 LC / NNC 真的让表示更去相关,你应该看到:
| 指标 | 期待变化 |
|---|---|
| mean absolute off-diagonal correlation | 下降 |
| covariance eigenvalue spectrum | 更平 |
| explained variance of PC1 | 下降 |
| effective dimension | 上升 |
| correlation heatmap | 非对角线变淡 |
| PCA scatter | 不再被单一方向强烈拉长 |
分类准确率可能上升,也可能不明显。原因是:
去相关改善的是表示效率和冗余结构;分类准确率还取决于标签边界是否刚好受益于这种几何改变。
如果标签本来就沿着 ORN 的高方差方向很好分开,强行压缩这个方向不一定提高分类。
9. 最容易混淆的四句话
混淆 1:z 是不是 PCA 的前 K 个成分?
不是。
更准确地说:
z是一个由电路学习出来的K维侧向活动,它倾向于响应输入中的主导共享结构。
它可能和 PCA 主方向相似,但不是显式 PCA。
混淆 2:y 是不是 x 减去前 K 个主成分?
不是。
更准确地说:
y是x在 LN feedback 下达到平衡后的输出;强共享模式被连续压缩,而不是被硬删除。
混淆 3:K 越大是不是一定越好?
不一定,但常常会更好。
如果输入里有很多共享相关方向,更多 LN 能处理更多模式,所以去相关增强。
但如果主要共享结构已经处理完,或者数据噪声很大,再增加 K 的收益会下降。
混淆 4:LC / NNC 是不是完整 whitening?
不是。
完整 PCA whitening 会让 Cᵧ = I。LC / NNC 更适合说成:
partial whitening, normalization, and decorrelation。
中文就是:
部分白化、归一化和去相关。
10. 可以直接写进论文的版本
自适应预处理网络可以理解为一种由 similarity matching 原理推导出的 ORN-LN 回路。该网络并不显式计算 PCA,也不直接删除输入的前 K 个主成分;相反,它通过 ORN 输出活动 y 与侧向 LN 活动 z 之间的快速反馈动力学,以及 ORN-LN、LN-LN 突触的慢速局部学习,逐渐捕捉输入表示中反复出现的高方差共享结构。由于这些共享结构更容易驱动 LN 活动,它们会通过 Wz 反馈项在 ORN axon output 中被优先压缩,从而降低通道间相关性、平坦化协方差谱,并提高表示的有效维度。因此,该模型的去相关作用应理解为生物可实现的部分去相关或部分白化,而不是严格的 PCA whitening。参数 K 控制侧向群体能够表示的共享模式数量上限;较大的 K 通常允许网络压缩更多主导相关方向,但最终效果仍取决于输入统计、ρ、γ、学习动态和非负约束。
11. 一句话记忆
z不是 PCA component,而是一组会被常见共享模式激活的 LN feedback handles;y不是把这些方向硬删掉后的残差,而是把强相关模式压小后的 ORN 输出。




