- paper/pnas -> paper/manuscript (venue-neutral)
- configs/layer1 -> configs/inheritance, src/knowledge -> src/inheritance
(imported as `inheritance`), make layer1 -> make inheritance; layer2 alias dropped
- inheritance and trained-network bundles named after the manuscript figure
they feed (fig2_grounding_sweep, figS3_rebaselining, ...), or descriptively
where they feed none; configs keep their `experiment:` value so parquet
hashes are unchanged, only output.dir moves
- figure scripts, SI figure sources, notebooks, REPRODUCING.md, README and the
SI Methods/tables updated; make clean no longer deletes tracked manifests;
reproduce.sh hashes the s{seed}/ layouts too
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
32 lines
1.5 KiB
YAML
32 lines
1.5 KiB
YAML
experiment: kernel_smooth
|
|
kind: lineage
|
|
seed: 20260705
|
|
n_replicates: 24
|
|
|
|
# (Learning-kernel bridge, anti-collapse arm): neutral Wright-Fisher OVER-predicts the RNN's
|
|
# collapse. This matches the RNN grounding regime (K=256, n=200, Zipf): neutral (reset=0) drives
|
|
# H all the way to 0, but the real RNN only PARTIALLY collapses -- H plateaus ~0.68 of a possible
|
|
# 0.88, forward-KL plateaus ~2 (does not diverge), ~half the tail stays alive (results/figS6_grounding_rnn).
|
|
# The estimator's smoothing / regularisation supplies a diversity FLOOR. A mutation-toward-prior
|
|
# knob (reset=u: p <- (1-u)p + u*uniform) reproduces the H-floor. reset=0.006 is calibrated to the
|
|
# RNN's stationary dry H. Honest caveat carried in the write-up: uniform-mutation matches the
|
|
# H-floor but overshoots forward-KL (analytic ~6 vs RNN ~2), evidence the RNN's smoothing target
|
|
# is TRUTH-LIKE, not uniform -- a refinement for future work. The sign, though, is unambiguous:
|
|
# the estimator here REMOVES collapse pressure (opposite to the VAE's sharpening).
|
|
|
|
truth: {K: 256, R: 1, tail: zipf, zipf_s: 1.3, tail_threshold: 0.001, init: truth}
|
|
|
|
dynamics:
|
|
n: 200
|
|
grounding: {m: 0, policy: proportional}
|
|
kernel: {reset: 0.0, temperature: 1.0, floor: 0.0}
|
|
|
|
generations: 100 # long enough to show neutral -> 0 vs smoothed -> floor clearly
|
|
|
|
metrics: {kl_floor: 1.0e-9, support_eps: 1.0e-9}
|
|
|
|
sweep:
|
|
- param: dynamics.kernel.reset
|
|
values: [0.0, 0.006] # neutral (H -> 0) vs smoothed (H floors, like the RNN)
|
|
|
|
output: {dir: results/figS2_kernel_smooth}
|