Research record

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: analysis/transition_anatomy.py. Output: analysis/transition_anatomy.json. Reproduce with python 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?

The part that changes most is not the part that matters most
The part that changes most is not the part that matters most. Six parts of a small model. The blue bars show how much each part's numbers change during the moment the model learns the task. The orange bars show how much accuracy is lost if that part is held fixed and never allowed to learn at all. Each series is scaled against its own largest value, because the two quantities have no shared unit. The tallest blue bar and the tallest orange bar are different parts. The component that changes the most during learning turns out to cost nothing when frozen, while the one that actually matters changes less. Watching where a system is busiest is a poor way to find out which parts it depends on, and this is the cheapest possible demonstration of that: you have to hold each part still and see what breaks.

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.

GroupIn windowElsewhereConcentration
gate: update0.066240.024292.73x
gate: candidate0.061610.027412.25x
gate: reset0.054360.027401.98x
head0.050960.014653.48x
final_norm0.017810.003555.01x
embedding0.008420.004921.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 groupLearnedAccuracy lostTransition widthExpansion remaining
gate: candidate5/5+0.23283.47x56%
gate: reset5/5+0.01241.84x106%
embedding5/5+0.00171.02x101%
gate: update5/5-0.00131.00x121%
final_norm5/5-0.00241.02x102%
head5/5-0.00431.22x98%

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 reaches 0.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 = 0 control makes Part B internally consistent but not directly comparable to the project's archived runs, which all used 0.01.

Want this measured on your data?

We build private models our clients own and run on their own infrastructure, and every engagement proves measured lift on the client's own tasks before we call it done. Start free with a readiness scorecard that tells you whether your data can support it, or book a short call.