summaryrefslogtreecommitdiff
path: root/PLAIN_CNN_CROSSOVER.md
diff options
context:
space:
mode:
Diffstat (limited to 'PLAIN_CNN_CROSSOVER.md')
-rw-r--r--PLAIN_CNN_CROSSOVER.md139
1 files changed, 139 insertions, 0 deletions
diff --git a/PLAIN_CNN_CROSSOVER.md b/PLAIN_CNN_CROSSOVER.md
new file mode 100644
index 0000000..1687876
--- /dev/null
+++ b/PLAIN_CNN_CROSSOVER.md
@@ -0,0 +1,139 @@
+# Plain-CNN crossover protocol
+
+## Scope and source freeze
+
+This is the family-specific realization of
+`CROSS_ARCHITECTURE_CROSSOVER.md` for CIFAR-10 miniCNN, VGGlike, and VGG16.
+It contains all nine registered methods. No method or architecture may be
+removed after an endpoint, and a nonfinite or chance result remains a cell.
+
+The forward topologies and data pipeline come from Høier and Zach's Dual
+Propagation repository at revision
+`7b2595b34421e1483a721dbfdeff8cdabda3a1ff`. Native DP-transpose VGG16 was
+first reproduced from that clean revision at 92.46% test accuracy versus the
+paper's `92.41 +/- 0.07%`. Crossover development occurs on the tracked
+`sdil-vgg16-crossover` worktree. Its modifications keep the author-compatible
+defaults and add explicit switches rather than altering the native command.
+
+The PEPITA equations and initialization are checked against
+`GiorgiaD/PEPITA` revision
+`3fe03d80b642fa6df8ed23fc1c6dc9247f98c63b`. Forward-Forward uses candidate
+label overlay, input-length normalization, the softplus goodness objective,
+and greedy layerwise Adam training from the public reference protocol.
+Equilibrium Propagation uses the original hard-sigmoid state function,
+synchronous leaky free/nudged dynamics, random nudge sign, squared output
+cost, and local contrastive correlations. These three are
+architecture-compatible adaptations to the author CNN parameterization, not
+claims that their original papers evaluated VGG16.
+
+## Completed P0 mechanics and compilation gate
+
+The deterministic float64 suite must pass before any selection endpoint:
+
+- FA with `B=W` reproduces exact BP through convolution, ReLU, max-pool, and
+ dense layers to relative error below `2e-12`;
+- actual FA feedback is independently initialized, and detached local
+ objectives have zero cross-layer gradient leakage;
+- DFA direct maps preserve the norm of an output teaching vector in
+ expectation rather than scaling with feature-map size;
+- the PEPITA second-pass readout correlation matches its explicit equation to
+ absolute error below `2e-12`;
+- FF's local objective matches the explicit positive/negative goodness
+ equation, and every non-target layer receives exactly zero gradient during a
+ greedy update;
+- EP's contrastive readout correlation matches the explicit free-minus-nudged
+ equation to absolute error below `2e-12`;
+- KP forward and reciprocal correlations agree below `2e-12`, changing Q
+ after activities are fixed changes its correlation by exactly zero, and
+ `Q=W` remains exact after two momentum-plus-decay steps;
+- dynamic SDIL's paired-neutral projection leaves the clean instruction
+ unchanged to relative error below `2e-12`, observes zero instruction
+ examples, and leaves absolute soma slope below `2e-12`.
+
+The audited errors are respectively `2.31e-16`, `3.47e-17`, `0`,
+`5.55e-17`, `0`, `0`, and `1.27e-15`; all gates pass. Every method also
+completed a one-epoch miniCNN GPU smoke. These smokes exposed test only to
+verify the inherited author's save/restore path and cannot select settings.
+Formal runs use `--test-policy none`, `--early-stop-policy none`,
+`--gradient-diagnostics none`, and `--spectral-diagnostics none`.
+
+## P1 bounded validation-only selection
+
+P1 uses miniCNN, seed 0, feedback seed 1729, traffic seed 4000, the author's
+90/10 train/validation split, batch 100, augmentation, float32 parameters and
+states, momentum 0.9, and weight decay `5e-4`. It evaluates validation but
+never test. BP and methods with a cited canonical setting are fixed:
+
+| Method | P1 setting |
+|---|---|
+| BP | author peak LR 0.025 |
+| PEPITA | LR 0.01, He-uniform input projection times 0.05 |
+| Forward-Forward | Adam LR 0.03, threshold 2, score from layer 1 |
+| Dual Propagation | DP-transpose, alpha 0, beta 0.1, 16 `fwK` nudged passes, LR 0.025 |
+
+Ordinary FA, DFA, clean-KP, and SDIL each run the complete peak-LR grid
+`{0.003, 0.01, 0.03}`. SDIL uses the same candidate rate as clean-KP, four
+RMS soma-predictable traffic, one 64-example closed-form neutral predictor
+fit, and paired-neutral projection on every task minibatch. EP runs the
+complete LR grid `{0.003, 0.01, 0.03}` with beta 0.5, `dt=0.5`, 20 free and
+4 nudged steps. BP, FA, DFA, clean-KP, SDIL, PEPITA, EP, and DP run 10
+global epochs in P1; FF runs 10 epochs per greedy layer.
+
+For each gridded method select maximum best validation accuracy, then finite
+final loss, then the lower LR. If every candidate is nonfinite, retain and
+select the lowest LR; do not invent a recovery grid. The selected rate is
+copied unchanged to VGGlike and VGG16. P1 records are development artifacts,
+not cells in the primary 27-cell panel.
+
+## P2 complete 27-cell validation panel
+
+P2 uses seed 0 and the same split, initialization, method seeds, minibatch
+order, augmentation, precision, and validation-only policy. BP, FA, DFA,
+clean-KP, SDIL, and Dual Propagation use the author 130-epoch schedule:
+batch 100, 10 warmup epochs from 0.001, the P1-selected peak rate, final rate
+`2e-6`, cosine decay ending at epoch 120, momentum 0.9, and weight decay
+`5e-4`. DP keeps alpha 0, beta 0.1, and 16 `fwK` nudged passes.
+
+PEPITA uses 100 epochs, LR 0.01, and the paper/reference-code drops by 0.1 at
+epochs 60 and 90, with the same two-presentation projection and no dropout.
+FF uses 40 epochs per greedy layer, Adam LR 0.03, threshold 2, and candidate
+goodness from all but the first layer. EP uses 100 epochs at the selected
+rate with beta 0.5, `dt=0.5`, 20 free steps, 4 nudged steps, and random beta
+sign. The different inference and presentation counts are part of each
+method and are charged.
+
+Every record contains final and best validation accuracy, selection epoch,
+completed epochs, first nonfinite epoch, training and validation wall time,
+peak memory, forward/relaxation/presentation counts, affine work, feedback
+correlation work, task-loss queries, physical GPU, environment freeze,
+dataset hashes, command, source revision, tracked-dirty state, and the P1
+selector hash. KP/SDIL additionally record per-layer Q/W cosine and
+reciprocal-correlation error. SDIL records the realized traffic ratio,
+slow-predictor residual ratio, pre/post fast-projection traffic ratio,
+post-projection soma slope, and instruction-free observation count.
+
+The P2 analyzer fails completeness unless all 27 cells are present. A
+nonfinite record is retained with its last finite validation metric and a
+failure marker. There is no validation-drop early stopping. The only early
+termination is a nonfinite training trajectory or a predeclared 48-hour
+per-cell wall cap; a capped record remains a timeout cell.
+
+## P3 untouched complete confirmation
+
+P3 is not opened until all P2 cells and its analyzer are committed. Before
+any P3 endpoint, a separate commit fixes the untouched seed identities and
+test policy. Every one of the 27 cells receives the same seeds and its
+P1-selected settings; no winner-only confirmation is permitted. Test is
+evaluated once from the validation-selected checkpoint. Native author
+multi-seed intervals remain separately labelled and cannot substitute for a
+missing matched cell.
+
+## Prespecified family conclusions
+
+The plain-CNN scaling view reports miniCNN, VGGlike, and VGG16 separately for
+every method. It includes accuracy versus wall, accuracy versus
+hardware-independent work, smallest-to-largest paired change, divergence and
+timeout markers, and hidden teaching/BP alignment from an independent fixed
+probe. A result can support SDIL's scaling/Pareto claim only if the complete
+panel is present; clean-KP equality in the clean task is expected and cannot
+be relabelled as an innovation advantage.