Which Weights Carry the Transition?
Ongoing research. This is an experimental result from active work, not a settled conclusion. The numbers are what we measured and the method is described so you can judge it, but the programme is still running and later experiments may revise what it means. More about this programme.
EXPLORATORY. Not a preregistered study. Local CPU, 40 training runs, no GPU, no cost.
Program v2 tier 3, item D1. Decisive computation: . Output: analysis/transition_anatomy.py. Reproduce with analysis/transition_anatomy.jsonpython analysis/transition_anatomy.py in about twenty minutes on a throttled laptop CPU.
The question
The representation expands at the transition. Which weights move to produce that?
E3 sharpened this a great deal. The expansion is present in every gated recurrent cell tested and absent in attention and in an ungated cell, so multiplicative gating is the suspect. A GRU stacks three gates in each recurrent matrix: reset, update, candidate, 48 rows each at width 48, so "which matrix" becomes answerable as "which gate".
Two parts, because observation and causation are different questions.
Part A: where the motion is
Per-group update norms through training, aligned to each run's own transition, and reported relative to each group's own weight norm, because an absolute update norm mostly measures how many parameters a group has. The window is ±40 steps around the transition.
| Group | In window | Elsewhere | Concentration |
|---|---|---|---|
| gate: update | 0.06624 | 0.02429 | 2.73x |
| gate: candidate | 0.06161 | 0.02741 | 2.25x |
| gate: reset | 0.05436 | 0.02740 | 1.98x |
| head | 0.05096 | 0.01465 | 3.48x |
| final_norm | 0.01781 | 0.00355 | 5.01x |
| embedding | 0.00842 | 0.00492 | 1.71x |
Motion localises, in both senses. It concentrates in time, every group moves 1.7x to 5x faster inside the transition window than outside it, and in place: the update gate moves 7.9x faster than the embedding.
The kill test, "motion is spread uniformly across matrices and time", does not fire.
Part B: what is load-bearing
Freeze one group at a time and ask what it costs. Every arm runs with weight_decay = 0, including the control, because AdamW's decoupled decay shrinks a parameter whether or not it has a gradient, and a "frozen" group under the project's usual 0.01 would drift toward zero and measure decay rather than freezing.
| Frozen group | Learned | Accuracy lost | Transition width | Expansion remaining |
|---|---|---|---|---|
| gate: candidate | 5/5 | +0.2328 | 3.47x | 56% |
| gate: reset | 5/5 | +0.0124 | 1.84x | 106% |
| embedding | 5/5 | +0.0017 | 1.02x | 101% |
| gate: update | 5/5 | -0.0013 | 1.00x | 121% |
| final_norm | 5/5 | -0.0024 | 1.02x | 102% |
| head | 5/5 | -0.0043 | 1.22x | 98% |
Nothing is fatal. All six freezes still transition in 5 of 5 runs. The network routes around every single-group freeze, which is worth stating plainly because it is the kind of result that would be invisible under a pass/fail reading.
The result: motion and necessity dissociate
The update gate moves fastest in the transition window and costs nothing to freeze: its arm is a hair more accurate than the control and expands 21% more. The candidate gate moves less and is the expensive one: freezing it costs 23 percentage points of accuracy, makes the transition 3.5x wider, and removes 44% of the expansion.
Where the parameters move is not where the work is being done. That is the entire reason Part B exists, and a study that ran only Part A would have named the update gate and been wrong.
The ordering is also informative in its own right. The candidate gate is the GRU's proposal for a new hidden state, the content of what gets written. The update gate controls how much of that proposal is admitted. That the content matters more than the admission rate is not obvious in advance, and it is the first mechanistic handle this program has on what gating contributes.
Two corroborations of earlier results
- Freezing the embedding costs
0.0017. Archive mining found the embedding unchanged to four decimal places under the geometry penalty; here it is confirmed to be doing almost nothing at the transition either, from the causal side. - **Freezing the head costs nothing** (
-0.0043, i.e. very slightly better). Combined with F3, where freezing the recurrence was devastating, the pair is clean: the recurrence is load-bearing and the readout is not. A model with a random, never-trained output layer still reaches0.9954.
Limits
- One architecture (GRU), one task, one width, five seeds. The gate decomposition is GRU-specific by construction; an LSTM has four gates and would need its own version, which E3's result now makes worth running.
- Freezes are single-group. Pairs are untested, and "no single group is required" is compatible with some pair being required.
- Part A measures update norms, not directions. Two groups moving equally far may be doing very different things, and a rotation that leaves the norm unchanged is invisible here.
- The
weight_decay = 0control makes Part B internally consistent but not directly comparable to the project's archived runs, which all used0.01.