summaryrefslogtreecommitdiff
path: root/RESNET_CROSSOVER.md
blob: 126c05109f9555874d9137440b49283d34328b39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Residual-CNN crossover protocol

## Scope and immutable topology

This is the residual-family realization of
`CROSS_ARCHITECTURE_CROSSOVER.md`.  The primary validation panel contains all
nine registered methods at ResNet-20, ResNet-32, and ResNet-56, hence 27
cells.  A failed, nonfinite, chance, out-of-memory, or timed-out cell remains
in the panel.  No endpoint may remove a method or collapse a depth.

Every cell uses `CIFARLocalResNet`: the standard CIFAR `6n+2` basic-block
topology, base width 16, BatchNorm after every convolution, option-A identity
shortcuts, residual multiplier 1, global average pooling, and a linear
10-class readout.  Trainable forward tensor shapes and counts are identical
within a depth.  The shared data path is the stratified seed-2027 45k/5k
CIFAR-10 train/validation split, standard crop/flip augmentation, batch 128,
float32, model/loader seed 0, momentum 0.9, and weight decay `1e-4`.  Test is
loaded by the inherited data utility but never iterated, selected, or
reported in P1/P2.

## Method adapters and completed R0 mechanics

- BP is exact reverse mode on the common forward graph.
- Ordinary FA is `CIFARHierarchicalFAResNet`: independent fixed convolutional
  feedback follows every child edge; option-A shortcut adjoints and local
  ReLU/BatchNorm Jacobians are exact.
- DFA is the existing independent output-to-population spatial vectorizer.
- PEPITA performs the ordinary and error-modulated presentations, with a
  fixed output-error-to-input He-uniform projection times 0.05.  A hidden
  first-minus-second activity field directly multiplies the modulated
  presynaptic state; convolutional correlations average spatial positions.
- Forward-Forward overlays a candidate label on the first ten input
  coordinates, normalizes each edge input, greedily trains one residual-DAG
  population at a time with the softplus goodness objective, and scores all
  candidates using layers after the first.  BatchNorm updates only at the
  target layer.  The linear readout is the final goodness layer.
- Equilibrium Propagation has one hard-sigmoid state per residual-DAG
  population, synchronous leaky dynamics, 20 free and 4 nudged steps,
  `dt=0.5`, beta magnitude 0.5 with random sign, squared output cost, symmetric
  forward-edge transposes, and free-versus-nudged local correlations.
- Dual Propagation uses the author DP-transpose setting: alpha 0, beta 0.1,
  16 topological `fwK` inference passes, and the same forward edge for
  symmetric feedback.  Each option-A shortcut contributes its exact
  parameter-free transpose.
- clean-KP is the existing independently recomputed reciprocal-correlation
  rule.  It never reads a forward weight or forward update.
- SDIL uses that same KP substrate plus four-RMS soma-predictable traffic, a
  64-example instruction-free closed-form predictor fit, and the paired
  neutral projection on every task minibatch.

The deterministic float64 audit requires matched forward outputs or forward
parameter counts and explicit local equations.  Current errors are:
Dual-Propagation contrastive directions `1.07e-15`; PEPITA local directions
`1.52e-14`; EP contrastive directions `3.36e-14`; and Forward-Forward local
objective exactly zero error with zero non-target gradients and parameter
changes.  Existing BP/FA/DFA/KP/SDIL mechanics remain covered by
`experiments/conv_local_smoke.py`.  Autograd is used only by BP, by the
single detached target layer in FF, and by independent post-training
alignment diagnostics.

## R1 bounded validation-only selection

R1 uses ResNet-20, seed 0, ten constant-rate epochs, full 45k training data,
5k validation data, validation after every epoch, no early stopping, no
alignment probe, and no test evaluation.  Fixed canonical or previously
validated settings are BP 0.1, FF 0.03, clean-KP 0.1, and SDIL 0.1.  The
complete bounded grids are:

| Method | Hidden/base learning rates | Output rate |
|---|---|---|
| ordinary FA | 0.01, 0.03, 0.1 | 0.1 |
| DFA | 0.01, 0.03, 0.1 | 0.1 |
| PEPITA | 0.0003, 0.001, 0.003 | same |
| EP | 0.0003, 0.001, 0.003 | same |
| Dual Propagation | 0.01, 0.025, 0.05 | same |

Select maximum best validation accuracy, then a finite final loss, then the
lower rate.  If every candidate is nonfinite, select the lowest rate and
retain all failures.  The selected rate is copied without depth-specific
tuning to ResNet-20/32/56.  R1 development records are not primary panel
cells.  A timeout or nonzero exit has a manifest, ranks after every finite
candidate, and does not make the registry disappear.

## R2 complete 27-cell validation panel

BP, ordinary FA, DFA, clean-KP, SDIL, and Dual Propagation receive 200 global
epochs with 10x drops at epochs 100 and 150; their R1-selected base rates and
the fixed output rates above are unchanged.  PEPITA receives 100 epochs with
its selected rate and 10x drops at epochs 60 and 90.  FF receives 40 epochs
per greedy layer at its fixed Adam rate.  EP receives 100 constant-rate
epochs with its selected rate and fixed relaxation parameters.  Each method
sees the same 45k ordinary examples per applicable global epoch; extra
presentations, candidate-label passes, free/nudged relaxations, symmetric
feedback, and local correlations are charged separately.

Every cell records the complete command, source and protocol hashes, selector
hash, split and CIFAR source hashes, final and best validation metrics,
completed epochs, first nonfinite step, wall time, physical GPU, peak allocated
and reserved memory, parameter count, forward MACs, ordinary examples,
presentations, candidate evaluations, relaxation passes, causal task-loss
queries, and method-specific invariants.  A per-cell 48-hour wall cap is fixed
before launch.  A capped or failed cell is recorded and the shard continues.
The complete analyzer rejects missing/duplicate cells, source or architecture
drift, test evaluation, ordinary-example drift, and silent failure omission.

The R1 selector itself uses the same source discipline: one pre-launch lock
binds its complete 19-job registry to a clean commit, tracked-file hashes, and
the physical-GPU5/7 allowlist.  Every job rechecks the lock before starting,
and its manifest records the resolved physical UUID.  Formal launch occurs
from a detached worktree so unrelated main-branch commits cannot mix
revisions inside a shard.

## R3 untouched confirmation

No R3 test endpoint opens until all 27 R2 records and the complete analyzer
are committed.  A later commit must freeze the untouched seeds and evaluate
every method/depth cell, never an SDIL-only winner subset.  Native author
records remain separately labelled fidelity evidence and cannot substitute
for a matched cell.

## Prespecified analyses

Report all methods at all depths in accuracy-versus-wall and
accuracy-versus-hardware-independent-work panels, with failure markers.
Report ResNet-20 to ResNet-56 paired change, forward parameter count, and an
independent fixed alignment probe.  clean-KP equality in a clean task is a
substrate sanity check, not an SDIL novelty result.  A residual-family scaling
claim requires the complete panel and cannot be inferred from the already
confirmed four-method panel alone.