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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
|
# AAAI Accept-Bar Experiments
Status: **complete, paper-grade local outputs** (2026-07-21). This note
records the experiments added after the focused-paper review. It supplements
the pre-existing master reference (note 42); it does not rewrite the paper.
## 1. What was added
Four missing controls are now implemented and run:
1. FA and DFA initialization-cost calibration at hidden depths `{1,2,3,4,6}`.
2. FA finite-time gap and operator-predictor errors over depth
`{1,2,3,4,6}` and width `{32,64,96}`.
3. Same-rate, exact-initialization-rate-compensated, and independently tuned
BP/FA learning-rate controls.
4. A non-MLP initialization validation: a two-convolution-layer CNN with
cross-entropy loss on an MNIST subset, for both FA and DFA.
Two three-panel composite figures are generated from these results plus the
existing random-direction-deletion negative control.
## 2. Shared implementation checks
New shared implementation: `scripts/feedback_rules.py`.
- Arbitrary-depth manual BP agrees with autograd to `5.55e-17` max error.
- FA and DFA output-layer gradients agree with BP exactly.
- A 4096-feedback-draw numerical moment test for each rule lands within the
Monte Carlo interval predicted by the exact initialization result.
- The CNN manual BP agrees with autograd to `5.55e-17`; FA and DFA preserve
the exact output gradient.
Commands:
```bash
python scripts/test_feedback_rules.py
python scripts/cnn_initialization_validation.py --self-test
```
## 3. FA/DFA initialization calibration across depth
Configuration:
- synthetic random regression, `N=64`, input dimension 16, output dimension 4;
- fixed width 64;
- hidden depth `{1,2,3,4,6}`;
- 6 fixed forward initializations per depth;
- 256 independent feedback draws per forward initialization and rule;
- real FA/DFA backward pass for every draw (15,360 feedback evaluations).
The predicted quantity is the relative deficit in BP's first-order loss
decrease:
```text
1 - ||g_output^BP||^2 / sum_l ||g_l^BP||^2.
```
Depth-aggregated results:
| depth | predicted | FA measured | DFA measured |
|---:|---:|---:|---:|
| 1 | 0.050380 | 0.050200 | 0.050578 |
| 2 | 0.276966 | 0.275983 | 0.278078 |
| 3 | 0.402635 | 0.402218 | 0.402282 |
| 4 | 0.458542 | 0.457015 | 0.456779 |
| 6 | 0.623193 | 0.624234 | 0.623791 |
Across all 60 rule/depth/init rows, max absolute calibration error is
`0.009164`; max standardized error is `2.412` Monte Carlo standard errors.
The same exact prediction covers FA and DFA even though their feedback paths
differ.
Output: `outputs/aaai_depth_experiments/initialization_rows.csv` and
`initial_deficit_calibration.png`.
## 4. Finite-time FA cost across depth and width
Configuration:
- same synthetic task family, `N=64`, output dimension 4;
- hidden depth `{1,2,3,4,6}`, width `{32,64,96}`;
- 4 forward initializations x 8 FA feedback initializations per cell;
- full-batch SGD, fixed learning rate `1e-3`, horizon `T=50`;
- early operator snapshot `s=20`;
- 480 FA trajectories plus cached matched BP trajectories.
Curve uncertainty is computed across forward-initialization means (feedback
draws are nested within each initialization), rather than treating all 32
feedback trajectories in a cell as independent.
At width 64, the measured mean gap rises with depth:
| depth | measured | frozen `K(0)` | linear velocity | early retangent |
|---:|---:|---:|---:|---:|
| 1 | 0.042081 | 0.046148 | 0.041747 | 0.043214 |
| 2 | 0.152697 | 0.176001 | 0.150869 | 0.159079 |
| 3 | 0.252548 | 0.301208 | 0.246641 | 0.263831 |
| 4 | 0.281210 | 0.360586 | 0.274093 | 0.302059 |
| 6 | 0.346053 | 0.518519 | 0.312131 | 0.371649 |
For the same fixed-width architecture, the independent per-block alignment
proxy `prod_l 1/D_l` falls from `3.91e-3` at depth 1 to `3.39e-21` at depth 6,
an 18.06-order-of-magnitude change. Over that sweep, the measured initial
deficit changes from `0.0504` to `0.6240`, and the measured finite-time gap
from `0.0421` to `0.3461`. Thus depth makes the matrix-level mismatch
astronomically worse without producing a commensurate optimization-cost
explosion. The direct comparison is saved in
`mismatch_vs_cost_by_depth.{csv,png}`.
Across the full 480-row grid:
| predictor | MAE | relative MAE vs mean measured gap | correlation |
|---|---:|---:|---:|
| frozen `K(0)` | 0.06693 | 28.6% | 0.97166 |
| linear operator velocity | 0.01043 | 4.45% | 0.99492 |
| early retangent | 0.01394 | 5.95% | 0.99830 |
The frozen operator increasingly underpredicts progress at larger depth. Two
snapshots recover most of the magnitude, supporting the scoped statement that
the later cost depends on operator evolution. The finite-time result remains
FA-only.
Output: `outputs/aaai_depth_experiments/finite_time_rows.csv`,
`finite_time_metrics.csv`, and the corresponding plots.
### Parameter-matched supplement
The fixed-width result is accompanied by an equal-parameter-count control.
Using depth-2 width-64 as the target (`P=5376`, no biases), the closest
uniform widths are `{269,64,47,39,31}` for depths `{1,2,3,4,6}`, with all
parameter counts within 49 of the target. Each cell contains 4 forward
initializations x 8 feedback initializations; error bars again use the four
forward-initialization means.
| depth | width | parameters | measured gap |
|---:|---:|---:|---:|
| 1 | 269 | 5380 | 0.02695 |
| 2 | 64 | 5376 | 0.15270 |
| 3 | 47 | 5358 | 0.18857 |
| 4 | 39 | 5343 | 0.37599 |
| 6 | 31 | 5425 | 0.21024 |
The gap is not monotone in depth once parameter count is fixed: it peaks at
depth 4 and falls at depth 6. This is another reason not to infer optimization
cost directly from the number of independently mismatched matrices. Output:
`outputs/parameter_matched_depth_control/`.
## 5. Learning-rate alternative explanation
Configuration:
- fixed width 64, depth `{1,2,3,4,6}`, `N=128`, 200 steps;
- baseline BP/FA learning rate `1e-3`;
- compensated FA rate `1e-3 / rho`, with `rho` read from one BP backward pass;
- independent BP and FA rates selected using 4 tuning initializations x 4 FA
feedback seeds from
`{0.00025,0.0005,0.001,0.002,0.004,0.008,0.016,0.032,0.064,0.128,0.256}`;
- stability-confirmed evaluation on 6 new forward initializations x 8 feedback
initializations; all 720 reported evaluation rows stable.
Learning-rate curve uncertainty is likewise computed across the six forward
initializations, with eight feedback draws nested within each one.
| depth | same-rate gap | compensated gap | reduction | independently tuned gap |
|---:|---:|---:|---:|---:|
| 1 | 0.05906 | 0.04053 | 31.4% | 0.56940 |
| 2 | 0.19916 | 0.09729 | 51.2% | 0.64210 |
| 3 | 0.27346 | 0.16263 | 40.5% | 1.13002 |
| 4 | 0.29340 | 0.18442 | 37.1% | 1.30812 |
| 6 | 0.40664 | 0.28850 | 29.1% | 1.75739 |
Initialization compensation removes a material part of the same-rate gap but
does not remove it at any tested depth. Independent tuning does not rescue
FA: the selected BP rates are `0.064-0.128`, whereas the selected FA rates
fall from `0.064` at depth 1 to stability-confirmed `0.004` at depth 6. BP therefore makes much
more progress in the same 200-step budget. This result should be described as
a fixed-horizon optimization comparison, not a claim about asymptotic
convergence.
Output: `outputs/learning_rate_compensation/`.
## 6. Cross-entropy CNN initialization validation
Configuration:
- MNIST subset, 128 examples resized to `8x8`;
- `Conv(1,8,3x3) -> ReLU -> Conv(8,12,3x3) -> ReLU -> global average pool -> linear`;
- cross-entropy loss;
- 4 forward initializations;
- 2048 real-backward feedback draws per initialization and rule (FA and DFA).
The predicted deficit spans `0.592-0.816`. Across the eight rows, max
absolute calibration error is `0.008309`, and max standardized error is only
`1.308` Monte Carlo standard errors. This validates the initialization
identity outside squared-loss MLPs without making a finite-time CNN claim.
Output: `outputs/cnn_initialization_validation/`.
## 7. Figures
- `outputs/aaai_main_figures/figure1_mismatch_vs_initial_cost.{png,pdf}`:
BP/FA/DFA schematic; minimax mismatch plus the 250x null-model
overprediction; joint initialization calibration across rule, depth, MNIST
MLP, and cross-entropy CNN.
- `outputs/aaai_main_figures/figure2_training_dynamics.{png,pdf}`:
measured finite-time cost over depth/width; frozen-operator calibration;
two-snapshot calibration.
- Supplemental learning-rate figures:
`outputs/learning_rate_compensation/learning_rate_control_by_depth.png` and
`learning_rate_tuning_curves.png`.
- Direct depth contrast:
`outputs/aaai_depth_experiments/mismatch_vs_cost_by_depth.{csv,png}`.
- Parameter-matched supplement:
`outputs/parameter_matched_depth_control/parameter_matched_gap_by_depth.png`.
## 8. Claim boundary after these experiments
Supported:
- The exact expected initialization result applies to both FA and DFA under
independent zero-mean feedback, and is validated through depth 6.
- It also holds for a cross-entropy CNN in the tested convolutional feedback
implementation.
- Simple initial-rate compensation reduces but does not eliminate the
finite-time FA/BP gap in the tested MLP setting.
- FA's later gap and frozen-model error grow with depth; two early operator
snapshots remain predictive.
Not supported / not claimed:
- DFA finite-time dynamics.
- CNN finite-time training equivalence or modern large-scale scaling.
- A universal absence of width/depth thresholds.
- A per-eigenmode erosion theorem.
## 9. Reproduction commands
```bash
python scripts/aaai_depth_experiments.py --part init \
--depths 1 2 3 4 6 --width 64 --train-samples 64 \
--init-seeds 6 --feedback-draws 256 --torch-threads 16 \
--outdir outputs/aaai_depth_experiments
python scripts/aaai_depth_experiments.py --part finite \
--depths 1 2 3 4 6 --finite-widths 32 64 96 --train-samples 64 \
--finite-init-seeds 4 --finite-feedback-seeds 8 \
--lr 0.001 --horizon 50 --early-step 20 --torch-threads 16 \
--outdir outputs/aaai_depth_experiments
python scripts/aaai_depth_experiments.py --part summarize \
--outdir outputs/aaai_depth_experiments
python scripts/parameter_matched_depth_control.py \
--depths 1 2 3 4 6 --reference-depth 2 --reference-width 64 \
--train-samples 64 --init-seeds 4 --feedback-seeds 8 \
--lr 0.001 --horizon 50 --early-step 20 --torch-threads 16 \
--outdir outputs/parameter_matched_depth_control
python scripts/learning_rate_compensation.py \
--depths 1 2 3 4 6 --width 64 --train-samples 128 --steps 200 \
--base-lr 0.001 --tune-init-seeds 4 --tune-feedback-seeds 4 \
--eval-init-seeds 6 --eval-feedback-seeds 8 --torch-threads 16 \
--outdir outputs/learning_rate_compensation
python scripts/cnn_initialization_validation.py \
--train-samples 128 --image-size 8 --channels 8 12 \
--init-seeds 4 --feedback-draws 2048 --torch-threads 8 \
--outdir outputs/cnn_initialization_validation
python scripts/plot_aaai_main_figures.py \
--outdir outputs/aaai_main_figures
```
|