imagining syntax

Text set in serif type with a dotted bar in the margin was drafted by an LLM (claude-fable-5) and sometimes reviewed by the author. The rest is the author's own. How to read this site

schedopt_bo_r6

20260722_132509_schedopt_bo_r6 · complete · published 2026-07-23 · seed 1000

part of investigation alpha-curriculumschedule-optschedopt-v2

Intent

Step E of the schedopt re-freeze continuation (Phase 4), round 6: eight candidate schedules from the four-parameter modulation family, the three-parameter ramp multiplied by (1 + A·w) with amplitude A in [0, 1] and w pinned to burst_16's realized tooth wave (period 400/3 steps, duty 0.5, peak-first), proposed by Thompson sampling from a Gaussian process warm-started from every three-parameter evaluation re-expressed at A = 0 and scored at the re-frozen operating point v2 (m_star=95.5, k=350, dwell 2) over the shared search seed pool. The pre-registration (experiments/schedopt/phase4_prereg.md) precedes every run of this phase; v1 and v2 numbers are never merged.

Hypothesis

Hypothesis: The tooth amplitude helps at a speed-measuring objective \@{schedopt-bo-r6-hypothesis}

At least one modulated candidate beats the best smooth schedule on the search pool, and the running optimum's amplitude A is greater than zero. Search-phase s-hat values are never reported as results.

Setup

model
GPT (nanoGPT-derived), weight-tied embeddings — 2 layers × 4 heads × 256 dim (~1,635,584 params) · block 50 · dropout 0.1 · vocab 167 tokens
training
AdamW (β 0.9/0.95, wd 0.1) · lr 0.0006 constant (no warmup, no decay) · batch 32 · 350 iterations · fresh init per replicate (seeds derived from base seed) · 25 seeds (base 1000)
training data
PCFG, zipfian noun–verb pairing (oneshot where noted) · 12,000 sentences per dataset (9,600 train — 1 epoch = 300 iters) · unseen holdout 10
code
commit a35464c3d0aa

data regime (all arms): fresh-dataset-per-stage — 14 dataset(s) × 25 iters each = 0.02 epochs per dataset

Replicate this experiment

Get the code at this exact version:

git clone https://github.com/ClaireHobbs/imagining-syntax
cd imagining-syntax
git checkout a35464c3d0aa
pip install -e ".[dev]"

Download the config (experiment.yaml) and run:

imsyn exp run experiment.yaml

Checks

PASS children_complete PASS replicate_coverage PASS schedule_total_matches_final_waypoint PASS instrument_consistent PASS objective_computable

Results — objective: P(unseen_mismatch ≥ 95.5 by t = 350, dwell 2, smoothing 1)

armŝwilson95median crossing [CI]crossed
r6_c50.840[0.653, 0.936]220.8 [215.3, 229.6]21/25
r6_c30.760[0.566, 0.885]238.5 [218.6, 242.2]19/25
r6_c70.760[0.566, 0.885]222.2 [218.3, 274.8]19/25
r6_c40.480[0.300, 0.665]241.3 [219.6, 269.7]12/25
r6_c10.240[0.115, 0.434]296.7 [292.9, 310.1]6/25
r6_c20.160[0.064, 0.347]251.1 [223.6, 278.8]4/25
r6_c60.160[0.064, 0.347]199.2 [197.1, 234.6]4/25
r6_c00.040[0.007, 0.195]224.7 [224.7, 224.7]1/25

Trajectory summary — unseen_mismatch

Evaluation data: seen_* probed at reference α = 1.4 · unseen_* = held-out pairings, uniform (α-independent) · 1000 pairs per condition
armend of training (t = 350)per-seedflags
r6_c0 69.5 ±5.0
r6_c1 83.7 ±22.7 ⚠ seed_split: range 5.5-100.0 (1 low / 13 high of 25)
r6_c2 84.8 ±5.7
r6_c3 97.0 ±7.7
r6_c4 90.2 ±3.2
r6_c5 98.9 ±3.9
r6_c6 48.5 ±30.4 ⚠ seed_split: range 1.4-100.0 (4 low / 4 high of 25)
r6_c7 96.5 ±8.7

Conclusions

Conclusion: The amplitude axis pays immediately \@{schedopt-bo-r6-conclusion}

The first modulated round answers the pre-registered amplitude question in the direction the hypothesis expected, and by a wide margin on the search pool. Three of the eight candidates beat the best smooth schedule, and the near-smooth control in the same batch did not, so the gain tracks the tooth amplitude rather than the ramps it rides on.

Result: Teeth on a mid-high ramp clear the smooth optimum \@{schedopt-bo-r6-amplitude-pays}

The best candidate, r6_c5 (ramp α 3.22 to 1.98 with early curvature γ 0.29, amplitude A = 0.58), crossed on 0.84 of the pool seeds, Wilson interval 0.65 to 0.94, against 0.52 for the best smooth schedule r3_c5. Two more modulated candidates reached 0.76: r6_c3 (2.05 to 1.48, γ 3.05, A = 0.42) and r6_c7 (4.97 to 3.49, γ 0.44, A = 0.94). The near-smooth probe r6_c1 (A = 0.02) read 0.24, in line with the smooth ascending basin it sits in.

The round also marked out where teeth fail. Full-amplitude teeth on a ramp that descends toward zero (r6_c6, 2.60 to 0.30, A = 0.97) crossed on 0.16 of seeds: with a multiplicative wave, its valleys bottom out near deep-uniform exposure, which the campaign's earlier results already tie to erosion. The winning region instead keeps both the peaks and the valleys inside the productive range. These are search-phase values on the v2 objective, never merged with v1 numbers and not reportable results; the held-out test comes after the search stops.

Comparison figures

curriculum_comparison.png
curriculum_comparison.png
objective_crossing_ecdf.png
objective_crossing_ecdf.png
objective_shat.png
objective_shat.png
objective_survival.png
objective_survival.png
schedules.png
schedules.png

Children

Child peak unseen_mismatchStatus
r6_c0 72.1 done
r6_c1 83.7 done
r6_c2 87.3 done
r6_c3 97.0 done
r6_c4 94.2 done
r6_c5 98.9 done
r6_c6 76.8 done
r6_c7 96.5 done

experiment.yaml