E13b/c: harden real-weight speciation — full symmetry group + emergent-divergence null

E13c (the symmetry defense): alignment now runs modulo the FULL
function-preserving unit symmetry group of a ReLU MLP (per-unit positive
rescaling via canonicalise_scale, composed with Re-Basin permutations;
sanity gate recovers a permuted-and-rescaled copy exactly). Verdict: the
full group removes the independent-init barrier (residual 0.001) and
essentially none of the conflict barrier (0.502 -> 0.497) — the residual
is functional, not a missed symmetry (answers arXiv:2606.23607). The
cliff gains a hybrid-fitness readout: merged accuracy 0.97 -> 0.03 with
conflict. Floor proposition drafted (paper/si-notes.md S1): endpoint
invariance + max(eps_A, eps_B) >= mu(S)/2 for any merged model under any
alignment group.

E13b (emergent divergence): pre-registered second reading — with NO
conflicting training signal (disjoint class specialists; rolled-input
conventions), residual is 0.000 at every divergence to t_div=3200, and
the merge RESCUES the forgetting specialists (parents 0.535/0.474 ->
merged 0.955; a sustained Fisher-Muller rescue at zero barrier).
Speciation in real weights requires functional conflict; it does not
emerge from compatible specialisation on shared ancestry. LLM-scale
over-specialisation (cf. 2607.11997) deferred to Phase-3 llm_speciation.

3-panel figure, READMEs, +2 tests (149 green), make mnist wired.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
This commit is contained in:
Giorgio Gilestro 2026-09-06 12:35:14 +01:00
parent 72d5e9e736
commit ea051a5f92
15 changed files with 435 additions and 77 deletions

View file

@ -1,54 +1,85 @@
# E13 — Real-weight model speciation (Git Re-Basin residual)
# E13 — Real-weight model speciation (the alignment residual, now modulo the full symmetry group)
**Claim tested.** E12 predicts model *speciation* analytically: as two lineages diverge, recombination
(merging) fails, via BatesonDobzhanskyMuller incompatibilities. E13 confirms it in **real trained
weights**, and — decisively — separates the part of the incompatibility that is a mere **coordinate
artefact** (removable by permuting hidden units; Git Re-Basin, Ainsworth et al. 2022) from the
**residual** that permutation *cannot* remove, which is the true reproductive-isolation signal. This is
the experiment that answers the mode-connectivity reviewer: if alignment removes the barrier, it was a
coordinate artefact; the barrier that *survives* alignment is real speciation.
weights**, separating the part of the merge barrier that is a mere **coordinate artefact** (removable
by re-coordinating hidden units) from the **residual** that no alignment can remove — the true
reproductive-isolation signal.
**Setup.** Small no-BatchNorm MLPs (78451251210) on MNIST — the clean Re-Basin regime. Two children
are forked from a shared base and trained independently; we weight-average them and measure the
**linear-mode-connectivity error barrier** before (`naive`) and after (`aligned`) in-house, deterministic
Git Re-Basin weight-matching (`neural/rebasin.py`, scipy `linear_sum_assignment`). Statistically
reproducible (seeded torch; NumPy/scipy alignment is deterministic). 3 replicates.
**E13c hardening (2026 PNAS campaign).** Recent work shows symmetry groups *richer than permutations*
remove more of the barrier between independently trained transformers (arXiv:2606.23607;
neuron-identifiability LMC). We therefore align modulo the **full function-preserving unit symmetry
group of a plain ReLU MLP** — per-unit positive rescaling (scale canonicalisation, exact) *composed
with* Git Re-Basin permutation matching (`neural/rebasin.py`; the sanity gate recovers a permuted
**and rescaled** copy to exact weight identity). Both residuals are reported: `residual` (permutation
only) and `residual_scale` (full group).
**Setup.** No-BatchNorm MLPs (78451251210) on MNIST. Children forked/trained per condition;
weight-average merge; linear-mode-connectivity error barrier before/after alignment; midpoint
(merged-model) accuracy recorded alongside. 3 replicates (decomposition/cliff), 4 (emergent).
Statistically reproducible (seeded); the alignment itself is deterministic NumPy/scipy.
### Results — the decomposition (mean over divergence, reps)
| condition | naive barrier | removable (coordinate) | **residual (isolation)** |
|---|---|---|---|
| `shared` (same task, shared fork) | 0.00 | 0.00 | **0.00** |
| `independent` (same task, different init) | 0.056 | 0.055 | **0.001** |
| `conflict` (conflicting label maps) | 0.496 | 0.000 | **0.496** |
| condition | naive barrier | residual (permutation) | **residual (full symmetry group)** | merged acc |
|---|---|---|---|---|
| `shared` (same task, shared fork) | 0.000 | 0.000 | **0.000** | 0.964 |
| `independent` (same task, different init) | 0.044 | 0.001 | **0.001** | 0.960 (= parents) |
| `conflict` (contradictory label maps) | 0.502 | 0.502 | **0.497** | **0.037 (inviable)** |
- **`independent`**: two nets trained *from different random inits* on the *same task* have a real naive
barrier — which alignment **removes ~98%** of (residual 0.001). Same species, different basis: the
incompatibility is a coordinate artefact. (This reproduces the canonical Git Re-Basin result and
proves our alignment works.)
- **`conflict`**: two nets that learned *conflicting* functions have a large barrier that alignment
**removes none** of (residual 0.496). Different species: genuine reproductive isolation. Because
alignment demonstrably works on `independent`, this residual cannot be dismissed as a failure to align.
- The **residual after alignment** is therefore the clean discriminator: ~0 for compatible models (even
independently trained), large only for functionally incompatible ones.
- **`independent`**: the barrier is a coordinate artefact — permutations already remove ~98%, and the
full symmetry group confirms (residual 0.001). The aligned merge performs **at parent level**
(0.960): same species, different basis.
- **`conflict`**: the full symmetry group removes essentially nothing (0.502 → 0.497). The residual is
**functional**, not a missed symmetry — and the hybrid is functionally dead (accuracy 0.037).
Because the same aligner erased the independent-init barrier, this cannot be a failure to align.
- Formal floor (SI note S1, `paper/si-notes.md`): for label maps conflicting on mass `μ(S)`, *any*
single merged model errs at rate ≥ `μ(S)/2` against at least one parent, under *any* alignment
group and merge operator — hybrid disadvantage is information-theoretic, and endpoints/chord are
invariant to all function-preserving transformations.
### Results — the isolation cliff (`speciation_real_cliff/`)
Sweeping the fraction of classes on which child B learns a *conflicting* label map, the residual
(after-alignment) barrier rises monotonically — the real-weight image of E12's cliff:
Sweeping the fraction of conflicting classes (residual = full-symmetry alignment; `t_div=800`):
| conflict fraction | 0.0 | 0.2 | 0.4 | 0.6 | 0.8 | 1.0 |
|---|---|---|---|---|---|---|
| residual barrier | 0.00 | 0.13 | 0.19 | 0.28 | 0.40 | 0.49 |
| residual barrier | 0.000 | 0.122 | 0.187 | 0.278 | 0.406 | 0.506 |
| **merged (hybrid) accuracy** | 0.968 | 0.764 | 0.586 | 0.396 | 0.199 | 0.034 |
residual = naive at every point (alignment removes nothing in the conflict condition), so the cliff is
genuinely functional isolation, not a coordinate artefact.
`residual_scale ≈ residual` at every point (±0.005): the cliff is functional isolation under the full
symmetry group. Read as **hybrid fitness**, the merged model's accuracy falls 0.97 → 0.03 — the
real-weight image of E12's *compatible → outbreeding depression → hybrid inviability* trajectory.
### Results — emergent divergence does NOT speciate (`speciation_real_emergent/`, E13b)
The conflict condition *imposes* contradiction; a true BDM incompatibility is *emergent*. Two
pre-registered conditions with **no conflicting training signal anywhere**: `disjoint` (child A trains
only on classes 04, child B on 59) and `augment` (same labels, inputs rolled ±3 px), swept to
`t_div = 3200` (children trained 6.4× longer than the shared base):
- **Residual barrier = 0.000 at every divergence, both conditions** (naive barrier is 0 too — the
children never leave the shared basin).
- The `disjoint` parents decay to 0.535/0.474 on the full task (each forgets the other's classes),
while the **merged model holds ≈ 0.955 at every divergence** — a sustained ~40-point
**FisherMuller rescue** of two catastrophically-forgetting specialists, at zero barrier.
`augment` shows the same shape (parents 0.65/0.73, merge ≈ 0.90).
**Honest conclusion (the pre-registered second reading):** in this regime — shared ancestry, same
architecture, compatible tasks, divergence up to 3200 steps — **model speciation does not emerge
spontaneously; reproductive isolation requires functional conflict.** Trained networks are *more*
merge-compatible than the biological analogy predicts, and the design rule sharpens: *merge freely
across divergently-specialised lineages of shared ancestry — the danger is conflicting conventions,
not specialisation per se.* Scope caveat: small MLPs, one fork depth; whether long-horizon
over-specialisation at LLM scale erodes mergeability (as the expert-training-duration literature
suggests, arXiv:2607.11997) is exactly the Phase-3 `llm_speciation` question.
### Positioning
The incumbents each hold one piece: Git Re-Basin / Entezari (barriers are coordinate artefacts),
Frankle (the fork-instability protocol), Pari et al. 2024 (specialisation diverges representations,
route don't fuse), Zhou et al. 2026 (predict mergeability from divergence metrics). E13's contribution
is the synthesis they lack: a controlled decomposition where alignment cleanly partitions the merge
barrier into a **removable coordinate artefact** and a **residual reproductive-isolation** term that
rises with task conflict — the real-weight confirmation of E12's speciation prediction, and the direct
answer to "isn't this just a loss barrier / permutation artefact?" **Falsifier (not triggered):**
alignment failing to remove the independent-init barrier (then residual is meaningless), or conflict
showing no residual — instead alignment removed 98% of the former and 0% of the latter.
Git Re-Basin / Entezari (barriers as coordinate artefacts), the richer-symmetry LMC results
(2606.23607 and neuron-identifiability, 2026), Frankle (fork instability), Pari 2024 (route don't
fuse), Zhou 2026 / 2601.22285 (predict mergeability from divergence/geometry), 2603.09463
(merge-collapse capacity theory). E13's contribution is the synthesis they lack: a controlled
decomposition where alignment — *modulo the full symmetry group* — cleanly partitions the merge
barrier into a removable coordinate artefact and a **functional reproductive-isolation residual** that
rises with task conflict, is absent under compatible specialisation, and carries an
information-theoretic floor. **Falsifiers (none triggered):** alignment failing on `independent`
(would invalidate the residual); conflict showing no residual; the richer symmetry group dissolving
the conflict residual (it removed 0.005 of 0.502); emergent conditions showing residual attributable
to alignment failure.

View file

@ -1,8 +1,8 @@
{
"experiment": "speciation_real",
"master_seed": 13,
"git_commit": "56f642e7f9ae01fe01d863bdffe98b226b9dbb7b",
"python": "3.14.5",
"git_commit": "f5f68f52498402ba7cc6a5193e5e357be6357446",
"python": "3.14.7",
"libraries": {
"numpy": "2.5.0",
"scipy": "1.18.0",
@ -12,7 +12,7 @@
"torchvision": "0.27.1"
},
"rows": 45,
"results_sha256": "14b15c16ea8a43523fdc929641b8ad5741445435203d1511ecb698097da0a806",
"results_sha256": "dc77ac51b8dc92549e39edbed8d1a68469ad40de288f28672d87d1739436247a",
"layer": "1.5",
"tier": "speciation_real"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Before After
Before After

View file

@ -1,8 +1,8 @@
{
"experiment": "speciation_real_cliff",
"master_seed": 13,
"git_commit": "56f642e7f9ae01fe01d863bdffe98b226b9dbb7b",
"python": "3.14.5",
"git_commit": "f5f68f52498402ba7cc6a5193e5e357be6357446",
"python": "3.14.7",
"libraries": {
"numpy": "2.5.0",
"scipy": "1.18.0",
@ -12,7 +12,7 @@
"torchvision": "0.27.1"
},
"rows": 18,
"results_sha256": "0252581d848376ad698f56d4e69edbcae40cf5a0f090203d6f723cfc5e25303c",
"results_sha256": "889945655a6efaba9d97eed409f24968c9f77764101bdfa05acdf00c8f8668b7",
"layer": "1.5",
"tier": "speciation_real"
}

View file

@ -0,0 +1,16 @@
# E13b — Emergent divergence (no imposed conflict): does model speciation arise spontaneously?
Companion to `results/speciation_real/` (full legend and interpretation there; figure panel C of
`speciation_real.png`). Pre-registered design: `shared` control, `disjoint` (complementary class
specialists 04 vs 59), `augment` (same labels, inputs rolled ±3 px) — **no conflicting training
signal anywhere** — swept over post-fork divergence `t_div ∈ [100, 3200]`, 4 replicates, with
alignment modulo the full ReLU unit symmetry group (E13c).
**Outcome (the pre-registered second reading):** residual barrier **0.000 at every divergence in both
emergent conditions**; the merged model **rescues** the two forgetting `disjoint` specialists
(parents → 0.535/0.474; merge ≈ 0.955 throughout — a sustained FisherMuller rescue at zero barrier).
**Speciation requires functional conflict; it does not emerge from compatible specialisation on shared
ancestry in this regime.** An honest bound on the biological analogy, and a positive design result:
merging complementary specialists of shared ancestry is safe — the danger is conflicting conventions,
not specialisation. LLM-scale over-specialisation is the open tier (`llm_speciation`, PNAS work order
Phase 3).

View file

@ -0,0 +1,18 @@
{
"experiment": "speciation_real_emergent",
"master_seed": 813,
"git_commit": "f5f68f52498402ba7cc6a5193e5e357be6357446",
"python": "3.14.7",
"libraries": {
"numpy": "2.5.0",
"scipy": "1.18.0",
"pandas": "3.0.3",
"pyarrow": "24.0.0",
"torch": "2.12.1",
"torchvision": "0.27.1"
},
"rows": 72,
"results_sha256": "95c626e0d1854690b0ad6ceaf696caa1cff005104a0814cc044c0b6b2604482b",
"layer": "1.5",
"tier": "speciation_real"
}

View file

@ -0,0 +1,32 @@
experiment: speciation_real_emergent
seed: 813
n_replicates: 4
source_config:
experiment: speciation_real_emergent
kind: speciation_real
seed: 813
n_replicates: 4
speciation_real:
sizes:
- 784
- 512
- 512
- 10
conditions:
- shared
- disjoint
- augment
t_div:
- 100
- 200
- 400
- 800
- 1600
- 3200
base_steps: 500
lr: 0.05
batch: 128
n_eval: 2000
data_root: data
output:
dir: results/speciation_real_emergent