MachineSex/src/neural
Giorgio Gilestro d22dd9d535 recombination: reproduce the E4 "merge, don't average" finding in real weights
src/neural/recombine.py mirrors Layer-1 run_coverage but trains K_T specialist RNNs on
assignments from the exact shared-switch retention construction (K_T/rho/q clean; union
matches the closed form), then recombines the measured teacher distributions two ways:
mean (naive pooling) vs oracle-guided max-merge (per-mode strongest teacher, M2N2-style),
each followed by size-n resampling.

Result (8 reps): at rho=0, union rises 0.49->0.96 (supply matches closed form); analytic
surviving_max rises 0.043->0.087 while surviving_mean stays flat ~0.045 — the conservation
law (averaging cancels the union gain, max-merge realises it). At rho=1 (identical
teachers) union and max are flat. The lesson holds in the neural setting; trained-weight
columns show the same signs but noisier (smoothing inflates baseline; deep tail barely
clears n=200 resampling). torch-gated test added. 93 tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 21:49:44 +01:00
..
__init__.py Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00
config.py Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00
evaluate.py Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00
experiment.py Rename neural experiments to descriptive paths (drop N* codes) 2026-07-04 21:21:56 +01:00
generation_loop.py Rename neural experiments to descriptive paths (drop N* codes) 2026-07-04 21:21:56 +01:00
models.py Rename neural experiments to descriptive paths (drop N* codes) 2026-07-04 21:21:56 +01:00
oracle.py Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00
recombine.py recombination: reproduce the E4 "merge, don't average" finding in real weights 2026-07-04 21:49:44 +01:00
synthetic.py Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00
torch_mlp.py Rename neural experiments to descriptive paths (drop N* codes) 2026-07-04 21:21:56 +01:00
torch_models.py Rename neural experiments to descriptive paths (drop N* codes) 2026-07-04 21:21:56 +01:00
torch_vae.py Rename neural experiments to descriptive paths (drop N* codes) 2026-07-04 21:21:56 +01:00
train.py Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00