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:
parent
72d5e9e736
commit
ea051a5f92
15 changed files with 435 additions and 77 deletions
16
results/speciation_real_emergent/README.md
Normal file
16
results/speciation_real_emergent/README.md
Normal 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 0–4 vs 5–9), `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 Fisher–Muller 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).
|
||||
18
results/speciation_real_emergent/manifest.json
Normal file
18
results/speciation_real_emergent/manifest.json
Normal 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"
|
||||
}
|
||||
32
results/speciation_real_emergent/resolved_config.yaml
Normal file
32
results/speciation_real_emergent/resolved_config.yaml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue