技术笔记 | 神经网络的完整描述是固定的计算结构 加上一组参数 。把所有 parameter tensors 写成一个长向量,只是在给可调数字编号;residual、branch 和 parameter sharing 仍由 决定。下一步才需要小心:在这组坐标上使用 Euclidean distance、Hessian 或 isotropic Gaussian 时,我们究竟选择了什么几何。| 2026-07
结论先行
论文常把模型写成 ,更完整的写法是
其中 是 architecture / computation graph, 是挂在图上的所有独立参数。实验固定 后,作者通常把它从符号里省掉。
这能解开几个容易缠在一起的问题:
- 参数可以 flatten,不代表计算图被拉成一条线。 Flatten 只选择参数的存储顺序和坐标编号。
- Residual stream 不是 parameter space。 它是一次 forward 中随 input 和 layer 改变的 activation;参数在不同 inputs 之间共享。
- 图结构会进入几何。 它通过 的 Jacobian、Hessian 的跨模块 blocks、Fisher 和 NTK 进入分析;导数的 shape、SVD 与方向曲率见 Jacobian、Hessian 与 SVD。
- 向量化不自动给出有功能意义的 metric。 Raw distance 和 都依赖当前 parameterization 与坐标尺度。
一句话版本
是计算图上所有可调旋钮的读数表, 规定旋钮之间如何共同产生输出。把读数排成 ,不会把有 residual 和分支的程序改写成线性链。
四个空间不要混在一起
同一篇论文里说到「模型空间」「几何」或「方向」时,可能指下面四种不同对象。
| 对象 | 里面的一个点是什么 | 结构从哪里来 |
|---|---|---|
| Computation graph | 一套算子与依赖关系 | architecture、residual、attention、routing、weight tying |
| Parameter space | 一份完整的独立 weights | parameter tensors 的 Cartesian product |
| Activation / representation space | 某个 input 在某层产生的 hidden state | forward computation;例如 residual stream |
| Function / distribution space | 从 input 到 output 的函数,或条件分布 | 与 共同实现的行为 |
固定 后,有一张从参数到函数的 realization map:
这张 map 往往是 many-to-one。同一个函数可以对应许多组参数,后面会看到 permutation 和 rescaling 两类例子。因此只知道 还不够描述「神经网络是什么」;还需要知道它被哪张 graph 使用。论文写 ,默认读者已经固定了 。
为什么任意复杂的网络仍能写成一个向量
设固定 architecture 中有 个独立 parameter tensors。把第 个 tensor 的元素个数记为 ,那么
选定 tensor 顺序和每个 tensor 内部的索引顺序后,就可以写成
这是 Cartesian product 的坐标化,与 forward graph 是串行、并行还是带 skip connection 无关。考虑一个有 residual 和两条并行分支的小网络:
它的参数仍然可以列成
向量里的相邻坐标不需要对应 graph 里相邻的节点。Graph 的两条分支已经写在 的计算式中,不靠参数的排列顺序表达。
这里还有一个常被悄悄跨过的区别。Parameter space 可以逐坐标相加,不表示网络函数对参数线性。一般来说,
因此「权重是向量」只保证可以定义 weight averaging、task vector 或 random direction;这些操作对应怎样的 function change,要另外分析。
Weight tying 与动态 routing
如果同一份 embedding 同时用于输入和输出,或一个 parameter tensor 在 graph 中被调用多次,它在 里只列一次。Backpropagation 会把所有使用路径产生的导数累加到同一参数上。Parameter sharing 改变的是 ,不是独立参数的计数规则。
MoE 的 activated subgraph 可能随 input 改变,但完整的 router、experts 和参数注册表仍然固定。此时 objective 对不同 routing paths 求期望, 依旧可以向量化。只有 architecture 本身也作为离散变量参与搜索时,单一的 才不足以描述整个搜索空间。
Graph structure 如何进入 Jacobian 与 Hessian
考虑两个 residual blocks:
虽然参数可以写成 ,但 对最终状态的影响是
对应直接通过 residual path 的影响, 对应穿过第二个 block 的影响。Skip connection 没有从 flattened vector 中消失,它进入了 Jacobian。Identity Mappings 对 residual network 的 forward / backward direct path 给出了更完整的分析。
令 task loss 为
固定 、数据分布 与 loss 后, 才成为 parameter space 上的 scalar field。把 Hessian 按 parameter tensors 分块:
Diagonal block 描述一个 tensor 内的局部曲率,off-diagonal block 描述两个参数组的联合变化如何影响 loss。即使两个 modules 在 DAG 中没有直接相连,它们也可能因为共享下游 computation 与同一个 objective 而产生非零 coupling。因此 Hessian block structure 不等于 computation graph adjacency,但它确实由整张 graph 的导数决定。
这也解释了为什么 global Hessian eigenvector 不应被读成「某一层」。一个 eigenvector 是所有 parameter blocks 的联合方向:
它可以在许多 layers 上都有非零分量。若只计算 layerwise Hessian 或丢掉 ,得到的是 block approximation;这种近似便宜、容易解释,但会忽略跨层 coupling。
Flattening 无害,默认 Euclidean geometry 未必无害
把 tensor coordinates 换一种排列通常没有问题。若 是 permutation matrix,令 ,那么
所以「先列 embedding 还是先列 attention」不会改变标准 Gaussian。真正会改变结论的是非正交的 rescaling 或更一般的 reparameterization。
一个简单例子是 ReLU network:
对任意 ,
实现完全相同的函数,但 parameter norms、Euclidean distance 与 Hessian sharpness 都可以改变。这个缩放例子依赖正齐次激活,不能原样套到所有 Transformer blocks;permutation symmetry 则广泛存在于 FFN neurons 和 attention heads,详见 LLM 内部坐标的排列不变性。
这个差别会直接改写实验结论。Sharp Minima 构造了 function-preserving reparameterization,却能把同一个解变得任意 sharp;Git Re-Basin 则先对齐 hidden-unit permutations,再讨论 weight-space connectivity。它们说明:
可以把这件事写得更严格。定义 当且仅当 ,那么 quotient 可以与该 architecture 实际能实现的函数集合 对应。未经处理的 还保留了许多 function-preserving symmetry directions。
几种常见「几何」分别在测什么
Raw Euclidean metric
它把当前坐标中的每个 scalar parameter 当作同单位。这个 metric 计算便宜,也与 SGD、standard Gaussian perturbation 的默认坐标一致,但它不保证同样大的 parameter move 会造成同样大的 logit 或 behavior change。
Hessian curvature
Hessian 属于给定 task、dataset、loss 和 checkpoint 的局部二阶性质。它可能 indefinite,因此一般不能直接当作 distance metric。若 是 vector output,复合函数的 Hessian 可以拆成
其中 。第一项是 generalized Gauss-Newton 结构,第二项保留 network 本身的非线性曲率。两项都经由 computation graph 计算。
Hessian 还依赖 parameterization。非线性换坐标时会出现 gradient 与坐标变换二阶导数的额外项;即使位于 critical point,普通 eigenvalues 也会随非正交 rescaling 改变。因此「top eigenvalues 很大」需要连同坐标约定一起报告。
Function displacement 与 Fisher
对一个小参数变化 ,
若关心输出向量的 squared change,可以定义
于是局部 output displacement 约为 。这个矩阵把 function-space 的变化 pull back 到 parameter coordinates,graph 的 paths 都已经进入 。
对 probabilistic model,更常见的是 predictive-distribution KL:
是 Fisher information。Exact Fisher-Rao metric 与 infinitesimal natural gradient 对 regular invertible reparameterization 有明确的不变性;empirical Fisher、damping、diagonal 或 layer-block approximation 不自动继承完整性质。Natural Gradient 详细讨论了 Hessian、Fisher 与 parameterization invariance 的差别。
NTK
NTK 描述采用当前 parameter inner product 做 gradient descent 时,某个 input 上的更新如何影响另一个 input 的输出。NTK 把 parameter dynamics 翻译到 function space,但它仍使用所选 parameter metric,所以不是脱离 parameterization 的纯函数距离。
Residual stream、circuits 与 parameter direction 的关系
Residual stream 是每个 token 在某一层持有的 维 activation。它随 prompt、token position 和 layer 改变。Parameter vector 则在一次 inference 中固定,并被所有 tokens 与 layers 调用。
这两个空间的维度和坐标没有一一对应关系:
- 一个 weight scalar 会通过许多 inputs、tokens 和 downstream paths 影响大量 activations。
- 一个 activation direction 往往由许多 matrices 的联合作用形成。
- 一个 circuit 是完成某个行为的 computation subgraph,不等于 parameter vector 中一段连续坐标。
因此「参数空间只有少数 active directions」不能直接推出「residual stream 只有少数 features」,也不能推出「只有少数 layers 或 circuits 在工作」。三种说法测的是不同对象。
回到 BoD、ES 与 RandOpt
这类工作通常写
可以把 按 parameter tensors 切成 ,逐 tensor 原位加噪。只要 RNG stream 与 covariance 设计一致,这在分布上等价于先生成一个 flattened vector 再切片;代码没有必要实际分配十亿维 contiguous vector。
需要注意的是, 已经做了一个选择:raw coordinates 独立、同方差。更一般的 sampling rule 是
其中 可以是 layer-normalized、block-diagonal、low-rank 或 Fisher-preconditioned covariance。不同的 会定义不同的 smoothed objective:
所以 isotropic 只表示「在当前 raw coordinates 中各向同性」。它不是 architecture-independent 的中立选择。
BoD 的 global Hessian 与 active subspace 可以跨越许多 parameter tensors。 小不代表只有 个 layers 重要。RandOpt 与 ES 也没有给每层独立打 reward;一个 candidate 同时改变多组 weights,随后运行完整 computation graph,最后取得 whole-model scalar reward。
论文 claim 的正确粒度
这类实验测到的是固定 architecture、parameterization、task reward、data distribution、noise covariance 与 后的 operational geometry。Best-of- 直接支持的是 positive tail 在这套 sampling measure 下可访问;若 Hessian probe 的定义和实现充分,才可进一步讨论 spectral concentration。两者都不能直接升级成 coordinate-free 的「LLM 天生只有 个几何方向」。
RNG 已经足以让理论 covariance 和代码 covariance 分叉。连续生成各 tensor 的 independent Gaussian blocks,接近理论中的 ;若每个 tensor 都重置成同一个 seed,不同 blocks 会共享随机序列前缀,实际 covariance 就不再是 。RandOpt 与 ES-at-Scale 的这项实现差异见 无反向传播的权重空间后训练。
以后读「神经网络几何」时先问什么
- 对象在哪个空间? Parameter、activation、function 还是 predictive distribution?
- 什么被固定? Architecture 、checkpoint、task、dataset 与 decoding randomness 是否明确?
- 坐标如何定义? Full parameter、LoRA coordinates、layer-normalized weights 还是某个 aligned basis?
- metric 或 perturbation covariance 是什么? Raw 、Hessian、Fisher、output KL,还是 ?
- 结果对 reparameterization 是否稳定? 至少应检查 layer rescaling、permutation alignment 与 noise normalization。
- 分析是 full 还是 blockwise? Layerwise approximation 丢掉了哪些 cross-block terms?
- parameter-space signal 是否有 function-space 验证? Top direction 是否真的造成稳定的 logit、reward 或 behavior change?
这组问题比笼统地问「网络的 loss landscape 平不平」更有用。没有指定 space、metric 与 objective 的 geometry claim,通常还不够完整。
与现有笔记的连接
- 权重空间几何:loss landscape、mode connectivity、intrinsic dimension 与本笔记共享同一地基。
- 无反向传播的权重空间后训练:展示 raw Gaussian sampling 如何把一种 parameter metric 变成算法。
- LLM 内部坐标的排列不变性:function-preserving reparameterization 的具体例子。
- Residual Stream 与 Circuits:activation space 与 computation subgraph,不要与 parameter coordinates 混用。
- 内在维度:区分 representation ID、objective ID 与 curvature-active dimension。