Re-scopes Layer 2 into a cheaper, architecture-general neural collapse proof
before the LLM rung. Realises the same Wright–Fisher abstractions in real trained
generative models on a fully-synthetic sandbox with an exact oracle, reusing
knowledge.metrics/truth/seeding and the output contract so neural curves overlay
the Layer-1 analytic curves.
- src/neural/: synthetic token-grammar sandbox (lossless identity + stochastic
style), ExactOracle, HistogramModel bridge, generation loop, experiment runner
- HARD GATE passed: histogram lineage reproduces Layer 1 exactly (neutral decay,
exact H_eq, tracks run_lineage) — tests/test_neural_validation.py
- torch models: autoregressive RNN + MLP (VAE implemented, not yet fidelity-
passing); determinism seeding derived from the SeedSequence stream
- N0 bridge (neural g*=0.047 ≈ Layer-1 0.048), N1 collapse-in-weights, N2 phase
boundary, N5 architecture-generality (collapse + grounding-rescue in histogram
+ RNN + MLP). Manifests/configs committed; parquet gitignored, hashes tracked
- additive backward-compatible save_artifacts extension; Makefile neural targets
Finding: neural smoothing partially resists H-collapse, so forward-KL and tail
survival are the sharp neural collapse metrics (H is smooth, per Layer 1).
92 tests green. Remaining (tasks/todo.md): N4 merge, N2 refine, N3/N6, VAE
fidelity, MNIST tier, figures. LLM/LoRA rung and C3 deferred.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
experiment: N5_architecture_generality
|
|
kind: gen_lineage
|
|
seed: 20260704
|
|
n_replicates: 5
|
|
|
|
# N5 (a new Layer-1.5 axis, no Layer-1 counterpart): is collapse ARCHITECTURE-GENERAL?
|
|
# Run the same dry-vs-grounded protocol across three genuinely different learners that
|
|
# share only the generative-collapse operator: the exact histogram (= Wright-Fisher, the
|
|
# analytic anchor), an autoregressive GRU (recurrent), and an autoregressive MLP (feed-
|
|
# forward). Expect the same SIGN in all: dry (g=0) loses diversity / forgets the tail;
|
|
# grounding arrests it. Falsifier: the signs appear only for the histogram -> real neural
|
|
# inductive biases break the Wright-Fisher mapping. (The sequence VAE is implemented but
|
|
# excluded here: it does not clear the gen-0 fidelity gate on the Zipf-codeword task, so
|
|
# its collapse would be confounded with underfitting; see tasks/todo.md.)
|
|
generations: 22
|
|
|
|
synthetic:
|
|
K: 256
|
|
R: 1
|
|
tail: zipf
|
|
zipf_s: 1.3
|
|
tail_frac: 0.5
|
|
tail_threshold: 1.0e-3
|
|
init: truth
|
|
style_len: 3
|
|
style_vocab: 5
|
|
id_base: 2
|
|
|
|
model:
|
|
kind: rnn # overwritten per arm by the model.kind sweep
|
|
hidden: 192
|
|
embed: 24
|
|
epochs: 25
|
|
lr: 2.0e-3
|
|
batch_size: 256
|
|
n_eval: 12000
|
|
|
|
dynamics:
|
|
n: 200
|
|
grounding: {m: 0, policy: proportional} # m overwritten per g by the sweep
|
|
remint: {enabled: false, period: null, H_gate: null}
|
|
|
|
metrics:
|
|
kl_floor: 1.0e-9
|
|
support_eps: 1.0e-9
|
|
|
|
sweep:
|
|
- param: model.kind
|
|
values: [histogram, rnn, mlp]
|
|
- param: g
|
|
values: [0.0, 0.05]
|
|
|
|
output:
|
|
dir: results/N5
|