OverviewFilesCommitsIssuesDocsReleasesPeers

atomspace-layer-discovery commits / 1be28db

experiments: PREREG level2 Test A-JT (JT layer 1) and jigsaw-transformer v3 (sense split by disjuncts)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1be28db3b1531daf128025ac5dfdb3c561e9455e
by plankatron <fleeky@gmail.com> · 2026-10-18T21:47:20.000Z

Changed files (2) +80 -0

experiments/jigsaw-transformer/PREREG-v3.md +47 -0
……@@ -0,0 +1,47 @@
1# Jigsaw transformer v3 — split words into senses by their disjuncts. Pre-registration
2
32026-10-18. Written and committed **before any v3 code or run**. Follows `RESULTS-v2.md`: per-occurrence context
4has a small order-dependent effect, but every learner's *collapsed* sense accuracy is ~0.63 against MAJ 0.886 —
5polysemous words sit in wrong classes at the type level, because exchange gives each word one class from its
6mixed contexts. Linas's answer is to cluster **word-disjunct pairs (Sections)**, so a word's Sections can go to
7different classes. v3 tests that, with one split round.
8
9## The learner (per checkpoint, everything re-learned from the text so far)
10
111. **V2-DJ** as pre-registered (unchanged), giving final parameters.
122. **Sections.** E-step on every training sentence; occurrence t's Section = (word, its disjunct's connectors
13 (side, class)).
143. **Split test per word** with ≥ 20 training occurrences. Model the word's occurrences as bags of connectors.
15 Initialise a 2-way split on the single connector whose presence/absence gives the largest G-statistic
16 (deterministic); refine with 20 EM passes of a 2-component mixture of multinomials (add-0.1). Occurrences
17 with no connectors are left out of the fit and go to the larger component. **Accept** the split if
18 G = 2·(LL₂ − LL₁) exceeds the χ² 0.999 quantile with df = number of distinct connectors the word uses
19 (Wilson–Hilferty), and the smaller component has weight ≥ 0.05. Otherwise one sense.
204. **Sense units.** Training occurrences in the smaller component of a split word get a new unit id. Layer 0
21 (word-pair PMI attention) and the exchange clustering are re-run over **units**; each training occurrence
22 starts one-hot in its unit's class, so a split word's prior π(z | w) has two modes.
235. **EM** over words exactly as V2-DJ (held-out text has words only; the context picks the sense).
24
25## Arms
26
27**JT-V3** and **JT-V3-COLL**; **JT-V2D** and **JT-V2D-COLL** in the same job; MAJ. Ordered and shuffled-within-
28sentence; 5 seeds; tiers 3K/10K/30K; audit as v2 (the state hash also covers the units).
29
30**Split diagnostics** (final checkpoint): eligible words, words split, **split precision** (share of split
31words that are gold-polysemous), **split recall** (share of eligible gold-polysemous words that are split),
32base rate (share of eligible words that are polysemous).
33
34## Predictions (paired over 5 seeds at 30K; "beats" = 95% CI of the paired difference excludes 0)
35
36- **S1 (senses are found):** split precision ≥ 2 × base rate (mean over seeds), and split recall ≥ 0.3.
37- **S2 (type-level classes improve):** JT-V3-COLL beats JT-V2D-COLL on sense accuracy.
38- **S3 (senses improve):** JT-V3 beats JT-V2D on sense accuracy.
39- **S4 (control):** on shuffled text, words split ≤ 0.5 × words split on ordered text (mean), and JT-V3-SHUF
40 does not beat JT-V2D-SHUF on sense accuracy.
41- **S5 (no class damage):** token V-measure JT-V3 − JT-V2D has 95% CI lower bound > −0.02.
42- **S6 (audit):** replay and mutation checks all PASS.
43
44## Procedure
45
46One smoke run (seed 1, 3K) only to check it runs and the audit passes; no parameter changes after it. Scored by
47`summarize-v3.py`, written before the full run.
experiments/level2/PREREG-JT.md +33 -0
……@@ -0,0 +1,33 @@
1# Level 2, Test A-JT — layer 1 from the jigsaw transformer. Pre-registration
2
32026-10-18. Written and committed **before any code or run**. Same harness, corpus, tiers, held-out set, rules
4(`all`, `conn`, `comp`) and measures as Test A (`PREREG.md` amendment 1, results `RESULTS.md`). Test A found
5that the learned layer-1 **parse** costs most of the level-2 recall (gold classes with the window-PMI parse keep
60.343 of true phrases as complete assemblies). Here layer 1 is the jigsaw transformer's V2-DJ arm
7(`../jigsaw-transformer/PREREG-v2.md`), which learns classes and a parse together from the text.
8
9## New layer-1 sources
10
11`jt <seed> --v2 dj --dump <prefix>` writes, per tier, the final checkpoint's per-token labels (argmax q_t from
12the E-step with the final parameters, on training and held-out sentences) and its attention parse (Eisner over
13α_tj + α_jt, as in the v2 parse score). `l2 <seed> --jt <prefix>` reads them and adds:
14
15| arm | symbols | parse |
16|---|---|---|
17| **C-JT** | JT labels | none (all spans) |
18| **M-JT-conn / M-JT-comp** | JT labels | l2's own window-PMI parse over the JT labels (as every Test A source) |
19| **M-JTA-conn / M-JTA-comp** | JT labels | **JT's attention parse** |
20
21All Test A arms are re-run unchanged in the same job; 10 seeds (as Test A).
22
23## Predictions (at 30K unless stated; paired over 10 seeds; "beats" = 95% CI of the paired difference excludes 0)
24
25- **B1 (the parse is the lever):** M-JTA-comp beats M-JT-comp on type recall.
26- **B2 (better layer 1 than the exchange classes):** M-JT-comp beats M-L-comp on type recall.
27- **B3 (strong):** M-JTA-comp beats M-G-comp (gold classes, window-PMI parse) on type recall.
28- **B4 (focus):** at every tier, M-JTA-comp beats C-JT on candidate precision.
29- **B5 (a real layer):** at every tier, M-JT-comp and M-JTA-comp beat M-R-comp on type recall.
30- **B6 (search size, reported with B1):** candidate types of M-JTA-comp ≤ those of C-JT.
31
32**Control R0:** every Test A arm reproduces `results/1792340082` exactly for all seeds (the harness change does
33not touch them). Failure voids the run.