summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RESIDUAL_MIRROR.md23
-rw-r--r--RESULTS.md15
-rw-r--r--REVIEW_SCORECARD.md2
-rw-r--r--ROADMAP.md9
-rw-r--r--results/residual_mirror_short/rrm_lr0.03.json756
-rw-r--r--results/residual_mirror_short/rrm_lr0.1.json756
-rw-r--r--results/residual_mirror_short_gate.json77
7 files changed, 1638 insertions, 0 deletions
diff --git a/RESIDUAL_MIRROR.md b/RESIDUAL_MIRROR.md
index 61e5691..ab13eb8 100644
--- a/RESIDUAL_MIRROR.md
+++ b/RESIDUAL_MIRROR.md
@@ -95,3 +95,26 @@ rate and observation count, residual mirroring improves early alignment by
`0.038200`. This is evidence that removing estimator noise at the fixed point
matters. It remains inherited local predictive weight estimation, so the
strict reviewer score stays `5/10`.
+
+## Audited RRM-2 outcome
+
+The frozen short accuracy gate passed on source revision `6206483`:
+
+| hidden LR | validation accuracy | early alignment | all-layer alignment | feedback/forward cosine |
+|--:|--:|--:|--:|--:|
+| 0.03 | 62.32% | 0.999604 | 0.999692 | 0.999970 |
+| 0.10 | **65.08%** | **0.999128** | **0.999377** | **0.999902** |
+
+The accuracy selector chooses hidden LR 0.1. It clears the 65% gate by only
+0.08 points and lies 9.86 points below matched BP at 74.94%, clearing the
+within-10-point gate by 0.14 points. Both runs are finite. The selected run
+uses zero task-loss queries, 119 mirror events, `2.4256703e13` MACs
+(`0.9969x` matched BP), 1.731 GB peak allocated memory, and 93.0 s on a GTX
+1080. Every frozen RRM-2 check passes, so RRM-3 opens without changing the
+selected mirror rate, cadence, or hidden learning rate.
+
+The nearly exact directional and weight cosines do not erase the short-horizon
+accuracy gap. This makes the result more useful as a strict baseline: direction
+alone is not a surrogate for trajectory equivalence, especially when feedback
+tracks changing forward weights at discrete intervals. Because RRM is inherited
+predictive weight estimation, this pass does not change the reviewer score.
diff --git a/RESULTS.md b/RESULTS.md
index bb7f086..a4c63c9 100644
--- a/RESULTS.md
+++ b/RESULTS.md
@@ -853,6 +853,21 @@ RRM-2 is opened using the already frozen rate and cadence. This is a strong
inherited learned-alignment baseline, not Harnett-specific evidence, so it does
not raise the SDIL paper score by itself.
+The frozen RRM-2 short task gate subsequently passes:
+
+| method | validation accuracy | early alignment | all-layer alignment | estimated MACs |
+|:--|--:|--:|--:|--:|
+| RRM, hidden LR 0.03 | 62.32% | 0.999604 | 0.999692 | 2.4257e13 |
+| RRM, hidden LR 0.10 | **65.08%** | **0.999128** | **0.999377** | 2.4257e13 |
+| matched BP | 74.94% | n/a | n/a | 2.4331e13 |
+
+The selected run clears 65% by 0.08 points and the within-10-point BP gate by
+0.14 points. It is finite, uses zero task-loss queries, costs `0.9969x` matched
+BP MACs, and retains feedback/forward cosine `0.999902`. All frozen checks pass,
+so the single RRM-3 full validation run opens. The 9.86-point gap despite nearly
+perfect instantaneous alignment is retained as a negative diagnostic rather
+than treating cosine as a proxy for optimization equivalence.
+
## How to run
`experiments/run.py --mode {bp,fa,dfa,sdil} --dataset {mnist,fmnist,cifar10} --depth D --residual {0,1} --act {tanh,gelu,silu,relu}`
Batteries: `experiments/run_v2.sh <ds> "<depths>" <res> <act> "<seeds>" <ep> <pfx>`.
diff --git a/REVIEW_SCORECARD.md b/REVIEW_SCORECARD.md
index 33ffb4e..e9eae6a 100644
--- a/REVIEW_SCORECARD.md
+++ b/REVIEW_SCORECARD.md
@@ -65,6 +65,7 @@ Every formal result report records:
| Normalized response mirror capture passes | 5 | Twenty local observations reach 0.446 early alignment and 0.915 feedback/forward cosine at zero task-loss queries | Strongly resolves the engineering bottleneck, but all credit belongs to an inherited weight-estimation baseline until innovation is load-bearing |
| Normalized response mirror short gate fails | 5 | WM reaches 64.04% and 0.939 early alignment at 0.9968x BP MACs, but misses its two accuracy gates by under one point | Strong inherited baseline and useful warning that alignment is insufficient; full run and any SDIL scale claim remain closed |
| Residual response mirror capture passes | 5 | RRM reaches 0.665 early and 0.730 all-layer alignment with 0.954 feedback/forward cosine after 20 zero-query local observations | Opens the frozen short accuracy gate, but remains inherited predictive weight estimation rather than SDIL evidence |
+| Residual response mirror short gate passes | 5 | RRM reaches 65.08%, within 9.86 points of matched BP, at 0.9969x BP MACs and nearly exact alignment | Opens one full validation run; the inherited baseline still supplies no Harnett-specific evidence |
| Oral-A A4 | not opened | The prerequisite A3 gate failed | No oral-A confirmation claim is available |
These are conditional reviewer forecasts, not promised scores. A failed stage leaves its negative
@@ -88,6 +89,7 @@ retroactively reopened by success on standard vision benchmarks.
| 2026-07-22 / response-mirror WM-1 | Four clean frozen-forward records; selected etaM 0.1 reaches 0.4461 early and 0.5422 all-layer alignment with zero task-loss queries | 5 → 5 | Opens a strong inherited-baseline accuracy test and isolates information source as the bottleneck, but supplies no Harnett-specific task evidence |
| 2026-07-22 / response-mirror WM-2 | Two clean short ResNet records; selected WM reaches 64.04% with 0.9393 early alignment and 0.9968x BP MACs, missing both accuracy gates narrowly | 5 → 5 | Substantially strengthens the comparator and cost story, but closes its full run and demonstrates that high credit cosine alone is not a scale result |
| 2026-07-22 / residual response-mirror RRM-1 | Four frozen-forward records; selected etaM 0.1 reaches 0.6651 early and 0.7303 all-layer alignment with controlled norms, zero task-loss queries, and 2.4458e9 MACs | 5 → 5 | Residual prediction removes much of the fixed-point estimator noise and opens the short task gate, but the gain belongs to an inherited baseline and does not establish somato-dendritic innovation |
+| 2026-07-22 / residual response-mirror RRM-2 | Two clean short ResNet records; selected RRM reaches 65.08%, 9.86 points below BP, with 0.9991 early alignment and 0.9969x BP MACs | 5 → 5 | Narrowly opens the full baseline run and strengthens the efficient comparator; the remaining accuracy gap despite near-exact direction warns that alignment is not trajectory equivalence |
Future rows are appended only after an audited frozen stage. A score staying flat is informative:
engineering, theory exposition, or visualization may make the paper more defensible without
diff --git a/ROADMAP.md b/ROADMAP.md
index 97f7972..58ae77e 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -438,6 +438,15 @@ rate is not widened or retuned. The frozen two-rate RRM-2 short accuracy screen
is opened. This is inherited baseline progress and cannot change the paper
score until a load-bearing innovation experiment uses the substrate.
+**Residual response-mirror RRM-2 status: short accuracy gate passed
+narrowly.** Selected hidden LR 0.1 reaches `65.08%`, 9.86 points below matched
+BP at `74.94%`, with early/all alignment `0.999128/0.999377`, feedback/forward
+cosine `0.999902`, zero task-loss queries, and `0.9969x` BP MACs. It clears the
+two accuracy margins by only 0.08 and 0.14 points; the LR-0.03 run reaches
+62.32%. Every frozen check nevertheless passes, so exactly one RRM-3 full
+validation run opens at the selected settings. The result remains baseline
+evidence and the reviewer score stays 5/10.
+
Prepare convolutional local-update primitives and ResNet-20/32/56 protocols early. Queue frozen
runs opportunistically on authorized idle GPUs. Because BurstCCN already reports CIFAR-10 and
ImageNet scaling, dataset scale alone is not novel. The oral-level target is a memorable joint
diff --git a/results/residual_mirror_short/rrm_lr0.03.json b/results/residual_mirror_short/rrm_lr0.03.json
new file mode 100644
index 0000000..a11eafb
--- /dev/null
+++ b/results/residual_mirror_short/rrm_lr0.03.json
@@ -0,0 +1,756 @@
+{
+ "architecture": {
+ "adaptive_apical_parameters": 0,
+ "adaptive_feedback_parameters": 267904,
+ "base_width": 16,
+ "blocks_per_stage": 3,
+ "bn_eps": 1e-05,
+ "bn_momentum": 0.1,
+ "depth": 20,
+ "family": "CIFAR 6n+2 ResNet, option-A shortcuts",
+ "fixed_feedback_parameters": 0,
+ "fixed_traffic_coefficients": 0,
+ "forward_parameters": 269722,
+ "hidden_shapes": [
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ]
+ ],
+ "normalization": "batchnorm",
+ "predictor_parameters": 0,
+ "residual_scale": 1.0,
+ "vectorizer_mode": null,
+ "vectorizer_parameters": 0
+ },
+ "args": {
+ "a_scale": 1.0,
+ "a_warmup_steps": 0,
+ "alignment_probe": 32,
+ "apical_calibration_mode": "unit_targets",
+ "apical_seed": null,
+ "augment_train": 1,
+ "batch_size": 128,
+ "bn_eps": 1e-05,
+ "bn_momentum": 0.1,
+ "data_dir": "/home/yurenh2/sdrn/data",
+ "depth": 20,
+ "device": "cuda",
+ "epochs": 20,
+ "eta_A": 0.01,
+ "eta_P": 0.01,
+ "eval_every": 0,
+ "eval_split": "validation",
+ "learn_P": 0,
+ "loader_seed": 0,
+ "lr": 0.03,
+ "lr_gamma": 0.1,
+ "lr_milestones": "100,150",
+ "lr_schedule": "cosine",
+ "max_steps": 0,
+ "mirror_batch_size": 1,
+ "mirror_eta": 0.1,
+ "mirror_every": 16,
+ "mirror_noise_std": 1.0,
+ "mirror_seed": 3000,
+ "mirror_warmup_steps": 20,
+ "mode": "rrm",
+ "momentum": 0.9,
+ "normalization": "batchnorm",
+ "nuisance_scale": 0.0,
+ "out": "results/residual_mirror_short/rrm_lr0.03.json",
+ "output_lr": 0.1,
+ "pert_directions": 1,
+ "pert_every": 4,
+ "pert_sigma": 0.01,
+ "perturb_seed": 1000,
+ "predictor_warmup_steps": 0,
+ "residual_scale": null,
+ "seed": 0,
+ "split_seed": 2027,
+ "train_limit": 10000,
+ "use_residual": 1,
+ "val_examples": 5000,
+ "vectorizer_mode": "spatial_template",
+ "warmup_epochs": 0,
+ "weight_decay": 0.0001,
+ "weight_scale": 1.0,
+ "width": 16
+ },
+ "calibration_metric_space": "local_parent_child_response_residual",
+ "counters": {
+ "apical_warmup_examples": 0,
+ "calibration_event_examples": 0,
+ "causal_scalar_observations": 0,
+ "logical_batch_loss_queries": 0,
+ "mirror_conv_examples": 119,
+ "mirror_events": 119,
+ "mirror_readout_examples": 121856,
+ "ordinary_examples": 200000,
+ "per_example_loss_terms": 0,
+ "perturbation_events": 0,
+ "perturbation_forward_examples": 0,
+ "predictor_warmup_examples": 0
+ },
+ "diagnostics": {
+ "early_third_mean": 0.9996043642361959,
+ "feedback_forward_cosine": [
+ 0.9999768733978271,
+ 0.9999785423278809,
+ 0.9999861121177673,
+ 0.9999871850013733,
+ 0.9999870657920837,
+ 0.9999917149543762,
+ 0.9999925494194031,
+ 0.9999871850013733,
+ 0.9999890327453613,
+ 0.9999918937683105,
+ 0.999989926815033,
+ 0.9999934434890747,
+ 0.999988317489624,
+ 0.9999141693115234,
+ 0.9999170303344727,
+ 0.9999324679374695,
+ 0.9999240040779114,
+ 0.9999455809593201,
+ 0.9999633431434631
+ ],
+ "feedback_forward_norm_ratio": [
+ 0.9995005130767822,
+ 0.9996951818466187,
+ 0.9998293519020081,
+ 0.9998653531074524,
+ 0.9998900294303894,
+ 0.9999541640281677,
+ 1.0000402927398682,
+ 0.9999350905418396,
+ 0.9999354481697083,
+ 1.000056266784668,
+ 1.0000362396240234,
+ 1.0000970363616943,
+ 1.0001606941223145,
+ 1.0000756978988647,
+ 1.0002508163452148,
+ 1.0001662969589233,
+ 1.000160813331604,
+ 1.0001862049102783,
+ 0.9902048110961914
+ ],
+ "innovation_negative_gradient_cosine": [
+ 0.999528169631958,
+ 0.9995716214179993,
+ 0.9996142387390137,
+ 0.9996160268783569,
+ 0.9996427893638611,
+ 0.9996533393859863,
+ 0.9996694326400757,
+ 0.9996705055236816,
+ 0.9996938109397888,
+ 0.9996921420097351,
+ 0.9997087717056274,
+ 0.9997057318687439,
+ 0.9997020959854126,
+ 0.9995958209037781,
+ 0.9997575879096985,
+ 0.9997144937515259,
+ 0.9998520016670227,
+ 0.9998068809509277,
+ 0.9999513626098633
+ ],
+ "normalization_state": "training_batch_stats_without_running_update",
+ "raw_negative_gradient_cosine": [
+ 0.999528169631958,
+ 0.9995716214179993,
+ 0.9996142387390137,
+ 0.9996160268783569,
+ 0.9996427893638611,
+ 0.9996533393859863,
+ 0.9996694326400757,
+ 0.9996705055236816,
+ 0.9996938109397888,
+ 0.9996921420097351,
+ 0.9997087717056274,
+ 0.9997057318687439,
+ 0.9997020959854126,
+ 0.9995958209037781,
+ 0.9997575879096985,
+ 0.9997144937515259,
+ 0.9998520016670227,
+ 0.9998068809509277,
+ 0.9999513626098633
+ ],
+ "teaching_negative_gradient_cosine": [
+ 0.999528169631958,
+ 0.9995716214179993,
+ 0.9996142387390137,
+ 0.9996160268783569,
+ 0.9996427893638611,
+ 0.9996533393859863,
+ 0.9996694326400757,
+ 0.9996705055236816,
+ 0.9996938109397888,
+ 0.9996921420097351,
+ 0.9997087717056274,
+ 0.9997057318687439,
+ 0.9997020959854126,
+ 0.9995958209037781,
+ 0.9997575879096985,
+ 0.9997144937515259,
+ 0.9998520016670227,
+ 0.9998068809509277,
+ 0.9999513626098633
+ ],
+ "wall_s": 0.09704756736755371
+ },
+ "epochs": [
+ {
+ "epoch": 1,
+ "lr": 0.03,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.23311814341040318,
+ "mirror_response_residual_rms": 0.3156063292915284,
+ "mirror_update_rms": 0.07668940078842221,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.1,
+ "step": 79,
+ "train_examples": 10000,
+ "train_loss": 2.434635739135742
+ },
+ {
+ "epoch": 2,
+ "lr": 0.029815325108927065,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.20402604902340427,
+ "mirror_response_residual_rms": 0.27805371235373844,
+ "mirror_update_rms": 0.06168744020569984,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.0993844170297569,
+ "step": 158,
+ "train_examples": 10000,
+ "train_loss": 2.2998252067565916
+ },
+ {
+ "epoch": 3,
+ "lr": 0.029265847744427302,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.16542378611773906,
+ "mirror_response_residual_rms": 0.2263167759715689,
+ "mirror_update_rms": 0.048502232916747975,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.09755282581475769,
+ "step": 237,
+ "train_examples": 10000,
+ "train_loss": 2.2560854587554933
+ },
+ {
+ "epoch": 4,
+ "lr": 0.028365097862825515,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.13348651911792966,
+ "mirror_response_residual_rms": 0.18303278083837884,
+ "mirror_update_rms": 0.03808328121413277,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.09455032620941839,
+ "step": 316,
+ "train_examples": 10000,
+ "train_loss": 2.114266714668274
+ },
+ {
+ "epoch": 5,
+ "lr": 0.02713525491562421,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.11722695513112225,
+ "mirror_response_residual_rms": 0.16164586388549532,
+ "mirror_update_rms": 0.03078940263897857,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.09045084971874738,
+ "step": 395,
+ "train_examples": 10000,
+ "train_loss": 2.238841275024414
+ },
+ {
+ "epoch": 6,
+ "lr": 0.02560660171779821,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.10380505538209925,
+ "mirror_response_residual_rms": 0.14311962215491328,
+ "mirror_update_rms": 0.02516932064852458,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.08535533905932738,
+ "step": 474,
+ "train_examples": 10000,
+ "train_loss": 1.790627029800415
+ },
+ {
+ "epoch": 7,
+ "lr": 0.023816778784387097,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.09441984979763204,
+ "mirror_response_residual_rms": 0.1307853126690807,
+ "mirror_update_rms": 0.020591888086161463,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.07938926261462366,
+ "step": 553,
+ "train_examples": 10000,
+ "train_loss": 1.8233744716644287
+ },
+ {
+ "epoch": 8,
+ "lr": 0.0218098574960932,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.08766515886239068,
+ "mirror_response_residual_rms": 0.12221957734069559,
+ "mirror_update_rms": 0.017453160153299223,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.07269952498697733,
+ "step": 632,
+ "train_examples": 10000,
+ "train_loss": 1.7596716131210328
+ },
+ {
+ "epoch": 9,
+ "lr": 0.01963525491562421,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.08203623606337147,
+ "mirror_response_residual_rms": 0.11465820061754553,
+ "mirror_update_rms": 0.014978560638242636,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.06545084971874737,
+ "step": 711,
+ "train_examples": 10000,
+ "train_loss": 1.659573628807068
+ },
+ {
+ "epoch": 10,
+ "lr": 0.017346516975603462,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.073935835101102,
+ "mirror_response_residual_rms": 0.10348125796130887,
+ "mirror_update_rms": 0.012977098879007715,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.05782172325201155,
+ "step": 790,
+ "train_examples": 10000,
+ "train_loss": 1.477030182647705
+ },
+ {
+ "epoch": 11,
+ "lr": 0.015,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.06792754832642667,
+ "mirror_response_residual_rms": 0.09552965244148469,
+ "mirror_update_rms": 0.011105307961398627,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.05,
+ "step": 869,
+ "train_examples": 10000,
+ "train_loss": 1.470662978553772
+ },
+ {
+ "epoch": 12,
+ "lr": 0.012653483024396533,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.05899317007766277,
+ "mirror_response_residual_rms": 0.08345544686067433,
+ "mirror_update_rms": 0.009759097335255375,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.04217827674798845,
+ "step": 948,
+ "train_examples": 10000,
+ "train_loss": 1.3200396375656127
+ },
+ {
+ "epoch": 13,
+ "lr": 0.01036474508437579,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.05147646829178666,
+ "mirror_response_residual_rms": 0.07284069494475491,
+ "mirror_update_rms": 0.008473658038829504,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.03454915028125263,
+ "step": 1027,
+ "train_examples": 10000,
+ "train_loss": 1.2434486444473267
+ },
+ {
+ "epoch": 14,
+ "lr": 0.0081901425039068,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.04412920759833355,
+ "mirror_response_residual_rms": 0.0626119977827275,
+ "mirror_update_rms": 0.007263608936965866,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.027300475013022664,
+ "step": 1106,
+ "train_examples": 10000,
+ "train_loss": 1.1923627337455749
+ },
+ {
+ "epoch": 15,
+ "lr": 0.006183221215612904,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.03685247319401539,
+ "mirror_response_residual_rms": 0.05235124424310925,
+ "mirror_update_rms": 0.006354452829585038,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.02061073738537635,
+ "step": 1185,
+ "train_examples": 10000,
+ "train_loss": 1.116790009498596
+ },
+ {
+ "epoch": 16,
+ "lr": 0.004393398282201788,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.03072863093476618,
+ "mirror_response_residual_rms": 0.043720037119289186,
+ "mirror_update_rms": 0.0053212781897893045,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.014644660940672627,
+ "step": 1264,
+ "train_examples": 10000,
+ "train_loss": 1.092687600326538
+ },
+ {
+ "epoch": 17,
+ "lr": 0.00286474508437579,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.025222243959948938,
+ "mirror_response_residual_rms": 0.03586358349597533,
+ "mirror_update_rms": 0.004563395395546671,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.009549150281252633,
+ "step": 1343,
+ "train_examples": 10000,
+ "train_loss": 1.050999007129669
+ },
+ {
+ "epoch": 18,
+ "lr": 0.001634902137174483,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.019423717576147297,
+ "mirror_response_residual_rms": 0.0277487644354511,
+ "mirror_update_rms": 0.003734861372460549,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.005449673790581611,
+ "step": 1422,
+ "train_examples": 10000,
+ "train_loss": 1.0021559915542602
+ },
+ {
+ "epoch": 19,
+ "lr": 0.000734152255572697,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.013885959625617894,
+ "mirror_response_residual_rms": 0.019797627171206474,
+ "mirror_update_rms": 0.002950896392911573,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.0024471741852423235,
+ "step": 1501,
+ "train_examples": 10000,
+ "train_loss": 0.9745530992507935
+ },
+ {
+ "epoch": 20,
+ "lr": 0.0001846748910729351,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.009382662629116802,
+ "mirror_response_residual_rms": 0.013384784612837958,
+ "mirror_update_rms": 0.0022900423996206074,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.0006155829702431171,
+ "step": 1580,
+ "train_examples": 10000,
+ "train_loss": 0.9762974742889404
+ }
+ ],
+ "evaluation_protocol": {
+ "test_evaluations": 0,
+ "test_used_for_selection": false,
+ "validation_evaluations": 1
+ },
+ "final": {
+ "accuracy": 0.6232,
+ "epoch": 20,
+ "evaluation_split": "validation",
+ "finite": true,
+ "loss": 1.066288330078125,
+ "step": 1580
+ },
+ "hardware": {
+ "cuda_device_name": "NVIDIA GeForce GTX 1080",
+ "cuda_visible_devices": "5",
+ "device": "cuda",
+ "device_total_memory_bytes": 8507949056,
+ "peak_memory_allocated_bytes": 1730831872,
+ "peak_memory_reserved_bytes": 2501902336,
+ "torch_version": "2.3.1+cu118"
+ },
+ "mirror_warmup": {
+ "first": {
+ "conv_batch_size": 1,
+ "mirror_response_residual_fraction": 1.4124661316345333,
+ "mirror_response_residual_rms": 1.90927576279183,
+ "mirror_update_rms": 0.25520769706611623,
+ "readout_batch_size": 1024
+ },
+ "last": {
+ "conv_batch_size": 1,
+ "mirror_response_residual_fraction": 0.26271250078043745,
+ "mirror_response_residual_rms": 0.3557588547676734,
+ "mirror_update_rms": 0.0907495165488641,
+ "readout_batch_size": 1024
+ },
+ "mean": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.6719071790962137,
+ "mirror_response_residual_rms": 0.9100978838204868,
+ "mirror_update_rms": 0.15685383656211757,
+ "readout_batch_size": 1024.0
+ },
+ "steps": 20
+ },
+ "protocol_family": "oral_a_cifar_local_resnet_development",
+ "provenance": {
+ "git_commit": "6206483780d75ecff61c396b7f1bf7e23e5b1ca5",
+ "git_tracked_dirty": false
+ },
+ "schema_version": 1,
+ "split": {
+ "cifar_source_files": [
+ {
+ "bytes": 31035704,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_1",
+ "sha256": "54636561a3ce25bd3e19253c6b0d8538147b0ae398331ac4a2d86c6d987368cd"
+ },
+ {
+ "bytes": 31035320,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_2",
+ "sha256": "766b2cef9fbc745cf056b3152224f7cf77163b330ea9a15f9392beb8b89bc5a8"
+ },
+ {
+ "bytes": 31035999,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_3",
+ "sha256": "0f00d98ebfb30b3ec0ad19f9756dc2630b89003e10525f5e148445e82aa6a1f9"
+ },
+ {
+ "bytes": 31035696,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_4",
+ "sha256": "3f7bb240661948b8f4d53e36ec720d8306f5668bd0071dcb4e6c947f78e9682b"
+ },
+ {
+ "bytes": 31035623,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_5",
+ "sha256": "d91802434d8376bbaeeadf58a737e3a1b12ac839077e931237e0dcd43adcb154"
+ },
+ {
+ "bytes": 31035526,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/test_batch",
+ "sha256": "f53d8d457504f7cff4ea9e021afcf0e0ad8e24a91f3fc42091b8adef61157831"
+ }
+ ],
+ "dataset": "cifar10",
+ "evaluation_split": "validation",
+ "input_layout": "NCHW",
+ "input_shape": [
+ 3,
+ 32,
+ 32
+ ],
+ "loader_seed": 0,
+ "normalization_mean": [
+ 0.49140000343322754,
+ 0.4821999967098236,
+ 0.4465000033378601
+ ],
+ "normalization_std": [
+ 0.24699999392032623,
+ 0.2434999942779541,
+ 0.26159998774528503
+ ],
+ "split_from_training_only": true,
+ "split_seed": 2027,
+ "test_examples": 10000,
+ "train_examples": 10000,
+ "training_augmentation": "random_crop_32_padding_4_zero_then_horizontal_flip_p0.5",
+ "validation_class_counts": {
+ "0": 500,
+ "1": 500,
+ "2": 500,
+ "3": 500,
+ "4": 500,
+ "5": 500,
+ "6": 500,
+ "7": 500,
+ "8": 500,
+ "9": 500
+ },
+ "validation_examples": 5000,
+ "validation_index_sha256": "8328b206a97c420e49e54e3eca4abe3274c4756b084355784ea3fb8059e4515b"
+ },
+ "timing": {
+ "apical_warmup_wall_s": 0.0,
+ "evaluation_wall_s": 0.36531639099121094,
+ "mirror_warmup_wall_s": 0.5950455665588379,
+ "predictor_warmup_wall_s": 0.0,
+ "timing_excludes_data_loading_hashing_and_model_construction": true,
+ "total_timed_wall_s": 90.97272872924805,
+ "train_wall_s": 90.00931930541992
+ },
+ "work": {
+ "apical_macs_per_example": 40108672,
+ "causal_scalar_observations": 0,
+ "components": {
+ "apical_projection_macs": 8021734400000,
+ "apical_regression_macs": 0,
+ "bp_reverse_macs_estimate": 0,
+ "local_weight_correlation_macs": 8110208000000,
+ "mirror_feedback_prediction_macs": 4850843648,
+ "mirror_local_correlation_macs": 4850843648,
+ "mirror_response_macs": 4850843648,
+ "ordinary_forward_macs": 8110208000000,
+ "perturbation_forward_macs": 0,
+ "warmup_clean_forward_macs": 0
+ },
+ "definition": "multiply-accumulates in conv/linear maps; one local weight correlation equals one forward-weight MAC count; BP reverse is estimated as one weight-gradient plus one activation-gradient convolution per forward convolution; elementwise nonlinearities and optimizer arithmetic excluded",
+ "forward_macs_per_example": 40551040,
+ "logical_batch_loss_queries": 0,
+ "mirror_probe_examples": 119,
+ "mirror_readout_probe_examples": 121856,
+ "per_example_cross_entropy_terms": 0,
+ "total_clean_forward_examples": 200000,
+ "total_forward_equivalent_examples": 200000,
+ "total_macs_estimate": 24256702930944
+ }
+}
diff --git a/results/residual_mirror_short/rrm_lr0.1.json b/results/residual_mirror_short/rrm_lr0.1.json
new file mode 100644
index 0000000..6f54c21
--- /dev/null
+++ b/results/residual_mirror_short/rrm_lr0.1.json
@@ -0,0 +1,756 @@
+{
+ "architecture": {
+ "adaptive_apical_parameters": 0,
+ "adaptive_feedback_parameters": 267904,
+ "base_width": 16,
+ "blocks_per_stage": 3,
+ "bn_eps": 1e-05,
+ "bn_momentum": 0.1,
+ "depth": 20,
+ "family": "CIFAR 6n+2 ResNet, option-A shortcuts",
+ "fixed_feedback_parameters": 0,
+ "fixed_traffic_coefficients": 0,
+ "forward_parameters": 269722,
+ "hidden_shapes": [
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 16,
+ 32,
+ 32
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 32,
+ 16,
+ 16
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ],
+ [
+ 64,
+ 8,
+ 8
+ ]
+ ],
+ "normalization": "batchnorm",
+ "predictor_parameters": 0,
+ "residual_scale": 1.0,
+ "vectorizer_mode": null,
+ "vectorizer_parameters": 0
+ },
+ "args": {
+ "a_scale": 1.0,
+ "a_warmup_steps": 0,
+ "alignment_probe": 32,
+ "apical_calibration_mode": "unit_targets",
+ "apical_seed": null,
+ "augment_train": 1,
+ "batch_size": 128,
+ "bn_eps": 1e-05,
+ "bn_momentum": 0.1,
+ "data_dir": "/home/yurenh2/sdrn/data",
+ "depth": 20,
+ "device": "cuda",
+ "epochs": 20,
+ "eta_A": 0.01,
+ "eta_P": 0.01,
+ "eval_every": 0,
+ "eval_split": "validation",
+ "learn_P": 0,
+ "loader_seed": 0,
+ "lr": 0.1,
+ "lr_gamma": 0.1,
+ "lr_milestones": "100,150",
+ "lr_schedule": "cosine",
+ "max_steps": 0,
+ "mirror_batch_size": 1,
+ "mirror_eta": 0.1,
+ "mirror_every": 16,
+ "mirror_noise_std": 1.0,
+ "mirror_seed": 3000,
+ "mirror_warmup_steps": 20,
+ "mode": "rrm",
+ "momentum": 0.9,
+ "normalization": "batchnorm",
+ "nuisance_scale": 0.0,
+ "out": "results/residual_mirror_short/rrm_lr0.1.json",
+ "output_lr": 0.1,
+ "pert_directions": 1,
+ "pert_every": 4,
+ "pert_sigma": 0.01,
+ "perturb_seed": 1000,
+ "predictor_warmup_steps": 0,
+ "residual_scale": null,
+ "seed": 0,
+ "split_seed": 2027,
+ "train_limit": 10000,
+ "use_residual": 1,
+ "val_examples": 5000,
+ "vectorizer_mode": "spatial_template",
+ "warmup_epochs": 0,
+ "weight_decay": 0.0001,
+ "weight_scale": 1.0,
+ "width": 16
+ },
+ "calibration_metric_space": "local_parent_child_response_residual",
+ "counters": {
+ "apical_warmup_examples": 0,
+ "calibration_event_examples": 0,
+ "causal_scalar_observations": 0,
+ "logical_batch_loss_queries": 0,
+ "mirror_conv_examples": 119,
+ "mirror_events": 119,
+ "mirror_readout_examples": 121856,
+ "ordinary_examples": 200000,
+ "per_example_loss_terms": 0,
+ "perturbation_events": 0,
+ "perturbation_forward_examples": 0,
+ "predictor_warmup_examples": 0
+ },
+ "diagnostics": {
+ "early_third_mean": 0.9991278549035391,
+ "feedback_forward_cosine": [
+ 0.9999154806137085,
+ 0.9999306797981262,
+ 0.9999545812606812,
+ 0.9999644160270691,
+ 0.9999690055847168,
+ 0.9999793767929077,
+ 0.9999752044677734,
+ 0.9999589920043945,
+ 0.9999452233314514,
+ 0.9999603033065796,
+ 0.9999622702598572,
+ 0.9999719858169556,
+ 0.9999478459358215,
+ 0.9997169375419617,
+ 0.9997090101242065,
+ 0.9997721910476685,
+ 0.9997538328170776,
+ 0.9998348951339722,
+ 0.9999200105667114
+ ],
+ "feedback_forward_norm_ratio": [
+ 0.9980469942092896,
+ 0.9989184737205505,
+ 0.9994211196899414,
+ 0.9998089671134949,
+ 0.9999980926513672,
+ 1.0001499652862549,
+ 1.0000603199005127,
+ 1.0000534057617188,
+ 0.9997336864471436,
+ 1.0000892877578735,
+ 1.000082015991211,
+ 1.000295639038086,
+ 1.0003461837768555,
+ 1.0006914138793945,
+ 1.0006706714630127,
+ 1.0003938674926758,
+ 1.0005216598510742,
+ 1.0005003213882446,
+ 0.9909704923629761
+ ],
+ "innovation_negative_gradient_cosine": [
+ 0.9988824725151062,
+ 0.9990805387496948,
+ 0.9991225004196167,
+ 0.9991109371185303,
+ 0.9992891550064087,
+ 0.9992815256118774,
+ 0.9993298649787903,
+ 0.9993308782577515,
+ 0.999434232711792,
+ 0.9993816614151001,
+ 0.9995160102844238,
+ 0.9995108842849731,
+ 0.9995355010032654,
+ 0.9993031024932861,
+ 0.99957275390625,
+ 0.9993000030517578,
+ 0.9997174739837646,
+ 0.9995701313018799,
+ 0.9999008178710938
+ ],
+ "normalization_state": "training_batch_stats_without_running_update",
+ "raw_negative_gradient_cosine": [
+ 0.9988824725151062,
+ 0.9990805387496948,
+ 0.9991225004196167,
+ 0.9991109371185303,
+ 0.9992891550064087,
+ 0.9992815256118774,
+ 0.9993298649787903,
+ 0.9993308782577515,
+ 0.999434232711792,
+ 0.9993816614151001,
+ 0.9995160102844238,
+ 0.9995108842849731,
+ 0.9995355010032654,
+ 0.9993031024932861,
+ 0.99957275390625,
+ 0.9993000030517578,
+ 0.9997174739837646,
+ 0.9995701313018799,
+ 0.9999008178710938
+ ],
+ "teaching_negative_gradient_cosine": [
+ 0.9988824725151062,
+ 0.9990805387496948,
+ 0.9991225004196167,
+ 0.9991109371185303,
+ 0.9992891550064087,
+ 0.9992815256118774,
+ 0.9993298649787903,
+ 0.9993308782577515,
+ 0.999434232711792,
+ 0.9993816614151001,
+ 0.9995160102844238,
+ 0.9995108842849731,
+ 0.9995355010032654,
+ 0.9993031024932861,
+ 0.99957275390625,
+ 0.9993000030517578,
+ 0.9997174739837646,
+ 0.9995701313018799,
+ 0.9999008178710938
+ ],
+ "wall_s": 0.11099910736083984
+ },
+ "epochs": [
+ {
+ "epoch": 1,
+ "lr": 0.1,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.2601846737040344,
+ "mirror_response_residual_rms": 0.3535099094948956,
+ "mirror_update_rms": 0.0794724507423343,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.1,
+ "step": 79,
+ "train_examples": 10000,
+ "train_loss": 2.6401633117675782
+ },
+ {
+ "epoch": 2,
+ "lr": 0.0993844170297569,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.2320270030739035,
+ "mirror_response_residual_rms": 0.3178695360002074,
+ "mirror_update_rms": 0.06566347399745359,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.0993844170297569,
+ "step": 158,
+ "train_examples": 10000,
+ "train_loss": 2.428320087814331
+ },
+ {
+ "epoch": 3,
+ "lr": 0.09755282581475769,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.1902612302737704,
+ "mirror_response_residual_rms": 0.261214385527155,
+ "mirror_update_rms": 0.052451028617311414,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.09755282581475769,
+ "step": 237,
+ "train_examples": 10000,
+ "train_loss": 2.5726836837768556
+ },
+ {
+ "epoch": 4,
+ "lr": 0.09455032620941839,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.17018607732039362,
+ "mirror_response_residual_rms": 0.23495350486028804,
+ "mirror_update_rms": 0.042288586572611774,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.09455032620941839,
+ "step": 316,
+ "train_examples": 10000,
+ "train_loss": 2.528295587730408
+ },
+ {
+ "epoch": 5,
+ "lr": 0.09045084971874738,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.15231621565559716,
+ "mirror_response_residual_rms": 0.21180007147453325,
+ "mirror_update_rms": 0.03544802639828195,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.09045084971874738,
+ "step": 395,
+ "train_examples": 10000,
+ "train_loss": 2.218377275466919
+ },
+ {
+ "epoch": 6,
+ "lr": 0.08535533905932738,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.14108329109632886,
+ "mirror_response_residual_rms": 0.19726323418619918,
+ "mirror_update_rms": 0.02993521390942853,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.08535533905932738,
+ "step": 474,
+ "train_examples": 10000,
+ "train_loss": 2.0937036754608154
+ },
+ {
+ "epoch": 7,
+ "lr": 0.07938926261462366,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.13834582525482075,
+ "mirror_response_residual_rms": 0.19534085520608319,
+ "mirror_update_rms": 0.025985602855510263,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.07938926261462366,
+ "step": 553,
+ "train_examples": 10000,
+ "train_loss": 2.218831299972534
+ },
+ {
+ "epoch": 8,
+ "lr": 0.07269952498697733,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.13345085752752778,
+ "mirror_response_residual_rms": 0.1909307264239541,
+ "mirror_update_rms": 0.0240043080261321,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.07269952498697733,
+ "step": 632,
+ "train_examples": 10000,
+ "train_loss": 2.274434162902832
+ },
+ {
+ "epoch": 9,
+ "lr": 0.06545084971874737,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.12035600897902161,
+ "mirror_response_residual_rms": 0.17304416237519363,
+ "mirror_update_rms": 0.02157844918317908,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.06545084971874737,
+ "step": 711,
+ "train_examples": 10000,
+ "train_loss": 1.8082092502593994
+ },
+ {
+ "epoch": 10,
+ "lr": 0.05782172325201155,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.1096965221826743,
+ "mirror_response_residual_rms": 0.15870117165633163,
+ "mirror_update_rms": 0.01960604709124913,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.05782172325201155,
+ "step": 790,
+ "train_examples": 10000,
+ "train_loss": 1.6496932834625244
+ },
+ {
+ "epoch": 11,
+ "lr": 0.05,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.10060992128674659,
+ "mirror_response_residual_rms": 0.14640697910423445,
+ "mirror_update_rms": 0.017701212220667454,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.05,
+ "step": 869,
+ "train_examples": 10000,
+ "train_loss": 1.5478480306625366
+ },
+ {
+ "epoch": 12,
+ "lr": 0.04217827674798845,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.09085091944110543,
+ "mirror_response_residual_rms": 0.13333263756453764,
+ "mirror_update_rms": 0.01605992521153775,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.04217827674798845,
+ "step": 948,
+ "train_examples": 10000,
+ "train_loss": 1.3823965042114257
+ },
+ {
+ "epoch": 13,
+ "lr": 0.03454915028125263,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.07902996300142369,
+ "mirror_response_residual_rms": 0.11615116335525824,
+ "mirror_update_rms": 0.014287858257776787,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.03454915028125263,
+ "step": 1027,
+ "train_examples": 10000,
+ "train_loss": 1.34172273979187
+ },
+ {
+ "epoch": 14,
+ "lr": 0.027300475013022664,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.06905828831434452,
+ "mirror_response_residual_rms": 0.10180783214913795,
+ "mirror_update_rms": 0.012587746597357776,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.027300475013022664,
+ "step": 1106,
+ "train_examples": 10000,
+ "train_loss": 1.2290157025337218
+ },
+ {
+ "epoch": 15,
+ "lr": 0.02061073738537635,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.05757729123066844,
+ "mirror_response_residual_rms": 0.08502710898907911,
+ "mirror_update_rms": 0.01099315299825323,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.02061073738537635,
+ "step": 1185,
+ "train_examples": 10000,
+ "train_loss": 1.1287344594955444
+ },
+ {
+ "epoch": 16,
+ "lr": 0.014644660940672627,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.04826044807946187,
+ "mirror_response_residual_rms": 0.07131268925507378,
+ "mirror_update_rms": 0.009481739617492971,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.014644660940672627,
+ "step": 1264,
+ "train_examples": 10000,
+ "train_loss": 1.0884003732681276
+ },
+ {
+ "epoch": 17,
+ "lr": 0.009549150281252633,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.03974752585157935,
+ "mirror_response_residual_rms": 0.05869449700782102,
+ "mirror_update_rms": 0.008195443513961818,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.009549150281252633,
+ "step": 1343,
+ "train_examples": 10000,
+ "train_loss": 1.0395743354797364
+ },
+ {
+ "epoch": 18,
+ "lr": 0.005449673790581611,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.0302168111419576,
+ "mirror_response_residual_rms": 0.044779826338416255,
+ "mirror_update_rms": 0.006658613012222196,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.005449673790581611,
+ "step": 1422,
+ "train_examples": 10000,
+ "train_loss": 0.9841103965759277
+ },
+ {
+ "epoch": 19,
+ "lr": 0.0024471741852423235,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.02212630175876517,
+ "mirror_response_residual_rms": 0.03275805770984623,
+ "mirror_update_rms": 0.00537444741444945,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.0024471741852423235,
+ "step": 1501,
+ "train_examples": 10000,
+ "train_loss": 0.9521100430488586
+ },
+ {
+ "epoch": 20,
+ "lr": 0.0006155829702431171,
+ "mirror": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.015118729649761752,
+ "mirror_response_residual_rms": 0.022381774527825898,
+ "mirror_update_rms": 0.004188984685734049,
+ "readout_batch_size": 1024.0
+ },
+ "output_lr": 0.0006155829702431171,
+ "step": 1580,
+ "train_examples": 10000,
+ "train_loss": 0.938697664642334
+ }
+ ],
+ "evaluation_protocol": {
+ "test_evaluations": 0,
+ "test_used_for_selection": false,
+ "validation_evaluations": 1
+ },
+ "final": {
+ "accuracy": 0.6508,
+ "epoch": 20,
+ "evaluation_split": "validation",
+ "finite": true,
+ "loss": 1.01295,
+ "step": 1580
+ },
+ "hardware": {
+ "cuda_device_name": "NVIDIA GeForce GTX 1080",
+ "cuda_visible_devices": "7",
+ "device": "cuda",
+ "device_total_memory_bytes": 8507949056,
+ "peak_memory_allocated_bytes": 1730831872,
+ "peak_memory_reserved_bytes": 2501902336,
+ "torch_version": "2.3.1+cu118"
+ },
+ "mirror_warmup": {
+ "first": {
+ "conv_batch_size": 1,
+ "mirror_response_residual_fraction": 1.4124661316345333,
+ "mirror_response_residual_rms": 1.90927576279183,
+ "mirror_update_rms": 0.25520769706611623,
+ "readout_batch_size": 1024
+ },
+ "last": {
+ "conv_batch_size": 1,
+ "mirror_response_residual_fraction": 0.26271250078043745,
+ "mirror_response_residual_rms": 0.3557588547676734,
+ "mirror_update_rms": 0.0907495165488641,
+ "readout_batch_size": 1024
+ },
+ "mean": {
+ "conv_batch_size": 1.0,
+ "mirror_response_residual_fraction": 0.6719071790962137,
+ "mirror_response_residual_rms": 0.9100978838204868,
+ "mirror_update_rms": 0.15685383656211757,
+ "readout_batch_size": 1024.0
+ },
+ "steps": 20
+ },
+ "protocol_family": "oral_a_cifar_local_resnet_development",
+ "provenance": {
+ "git_commit": "6206483780d75ecff61c396b7f1bf7e23e5b1ca5",
+ "git_tracked_dirty": false
+ },
+ "schema_version": 1,
+ "split": {
+ "cifar_source_files": [
+ {
+ "bytes": 31035704,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_1",
+ "sha256": "54636561a3ce25bd3e19253c6b0d8538147b0ae398331ac4a2d86c6d987368cd"
+ },
+ {
+ "bytes": 31035320,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_2",
+ "sha256": "766b2cef9fbc745cf056b3152224f7cf77163b330ea9a15f9392beb8b89bc5a8"
+ },
+ {
+ "bytes": 31035999,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_3",
+ "sha256": "0f00d98ebfb30b3ec0ad19f9756dc2630b89003e10525f5e148445e82aa6a1f9"
+ },
+ {
+ "bytes": 31035696,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_4",
+ "sha256": "3f7bb240661948b8f4d53e36ec720d8306f5668bd0071dcb4e6c947f78e9682b"
+ },
+ {
+ "bytes": 31035623,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_5",
+ "sha256": "d91802434d8376bbaeeadf58a737e3a1b12ac839077e931237e0dcd43adcb154"
+ },
+ {
+ "bytes": 31035526,
+ "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/test_batch",
+ "sha256": "f53d8d457504f7cff4ea9e021afcf0e0ad8e24a91f3fc42091b8adef61157831"
+ }
+ ],
+ "dataset": "cifar10",
+ "evaluation_split": "validation",
+ "input_layout": "NCHW",
+ "input_shape": [
+ 3,
+ 32,
+ 32
+ ],
+ "loader_seed": 0,
+ "normalization_mean": [
+ 0.49140000343322754,
+ 0.4821999967098236,
+ 0.4465000033378601
+ ],
+ "normalization_std": [
+ 0.24699999392032623,
+ 0.2434999942779541,
+ 0.26159998774528503
+ ],
+ "split_from_training_only": true,
+ "split_seed": 2027,
+ "test_examples": 10000,
+ "train_examples": 10000,
+ "training_augmentation": "random_crop_32_padding_4_zero_then_horizontal_flip_p0.5",
+ "validation_class_counts": {
+ "0": 500,
+ "1": 500,
+ "2": 500,
+ "3": 500,
+ "4": 500,
+ "5": 500,
+ "6": 500,
+ "7": 500,
+ "8": 500,
+ "9": 500
+ },
+ "validation_examples": 5000,
+ "validation_index_sha256": "8328b206a97c420e49e54e3eca4abe3274c4756b084355784ea3fb8059e4515b"
+ },
+ "timing": {
+ "apical_warmup_wall_s": 0.0,
+ "evaluation_wall_s": 0.36290621757507324,
+ "mirror_warmup_wall_s": 0.630126953125,
+ "predictor_warmup_wall_s": 0.0,
+ "timing_excludes_data_loading_hashing_and_model_construction": true,
+ "total_timed_wall_s": 93.04161047935486,
+ "train_wall_s": 92.04554319381714
+ },
+ "work": {
+ "apical_macs_per_example": 40108672,
+ "causal_scalar_observations": 0,
+ "components": {
+ "apical_projection_macs": 8021734400000,
+ "apical_regression_macs": 0,
+ "bp_reverse_macs_estimate": 0,
+ "local_weight_correlation_macs": 8110208000000,
+ "mirror_feedback_prediction_macs": 4850843648,
+ "mirror_local_correlation_macs": 4850843648,
+ "mirror_response_macs": 4850843648,
+ "ordinary_forward_macs": 8110208000000,
+ "perturbation_forward_macs": 0,
+ "warmup_clean_forward_macs": 0
+ },
+ "definition": "multiply-accumulates in conv/linear maps; one local weight correlation equals one forward-weight MAC count; BP reverse is estimated as one weight-gradient plus one activation-gradient convolution per forward convolution; elementwise nonlinearities and optimizer arithmetic excluded",
+ "forward_macs_per_example": 40551040,
+ "logical_batch_loss_queries": 0,
+ "mirror_probe_examples": 119,
+ "mirror_readout_probe_examples": 121856,
+ "per_example_cross_entropy_terms": 0,
+ "total_clean_forward_examples": 200000,
+ "total_forward_equivalent_examples": 200000,
+ "total_macs_estimate": 24256702930944
+ }
+}
diff --git a/results/residual_mirror_short_gate.json b/results/residual_mirror_short_gate.json
new file mode 100644
index 0000000..1c84e29
--- /dev/null
+++ b/results/residual_mirror_short_gate.json
@@ -0,0 +1,77 @@
+{
+ "checks": {
+ "accuracy_at_least_0.65": true,
+ "both_records_finite": true,
+ "candidate_selected": true,
+ "early_alignment_at_least_0.50": true,
+ "macs_at_most_1.15x_bp": true,
+ "within_10_points_of_bp": true,
+ "zero_task_loss_queries": true
+ },
+ "confirmation_test_seeds_touched": false,
+ "matched_bp": {
+ "accuracy": 0.7494,
+ "total_macs": 24330624000000
+ },
+ "protocol": "residual_response_mirror_short_v1",
+ "review_score_after": 5,
+ "review_score_before": 5,
+ "rows": [
+ {
+ "accuracy": 0.6232,
+ "all_layer_alignment": 0.9996919380991083,
+ "early_third_alignment": 0.9996043642361959,
+ "finite": true,
+ "logical_batch_loss_queries": 0,
+ "loss": 1.066288330078125,
+ "lr": 0.03,
+ "max_feedback_forward_norm_ratio": 1.0002508163452148,
+ "mean_feedback_forward_cosine": 0.9999703388465079,
+ "min_feedback_forward_norm_ratio": 0.9902048110961914,
+ "mirror_events": 119,
+ "path": "results/residual_mirror_short/rrm_lr0.03.json",
+ "peak_memory_allocated_bytes": 1730831872,
+ "source_commit": "6206483780d75ecff61c396b7f1bf7e23e5b1ca5",
+ "total_macs": 24256702930944,
+ "wall_s": 90.97272872924805
+ },
+ {
+ "accuracy": 0.6508,
+ "all_layer_alignment": 0.9993773918402823,
+ "early_third_alignment": 0.9991278549035391,
+ "finite": true,
+ "logical_batch_loss_queries": 0,
+ "loss": 1.01295,
+ "lr": 0.1,
+ "max_feedback_forward_norm_ratio": 1.0006914138793945,
+ "mean_feedback_forward_cosine": 0.9999022232858759,
+ "min_feedback_forward_norm_ratio": 0.9909704923629761,
+ "mirror_events": 119,
+ "path": "results/residual_mirror_short/rrm_lr0.1.json",
+ "peak_memory_allocated_bytes": 1730831872,
+ "source_commit": "6206483780d75ecff61c396b7f1bf7e23e5b1ca5",
+ "total_macs": 24256702930944,
+ "wall_s": 93.04161047935486
+ }
+ ],
+ "score_change_rule": "inherited short baseline cannot raise score",
+ "selected_rrm": {
+ "accuracy": 0.6508,
+ "all_layer_alignment": 0.9993773918402823,
+ "early_third_alignment": 0.9991278549035391,
+ "finite": true,
+ "logical_batch_loss_queries": 0,
+ "loss": 1.01295,
+ "lr": 0.1,
+ "max_feedback_forward_norm_ratio": 1.0006914138793945,
+ "mean_feedback_forward_cosine": 0.9999022232858759,
+ "min_feedback_forward_norm_ratio": 0.9909704923629761,
+ "mirror_events": 119,
+ "path": "results/residual_mirror_short/rrm_lr0.1.json",
+ "peak_memory_allocated_bytes": 1730831872,
+ "source_commit": "6206483780d75ecff61c396b7f1bf7e23e5b1ca5",
+ "total_macs": 24256702930944,
+ "wall_s": 93.04161047935486
+ },
+ "status": "passed"
+}