From d022688ea9fcfcb81f900751ee92e35597ef19b8 Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Wed, 8 Apr 2026 19:11:40 -0500 Subject: paper v2.32: BP+penalty multi-seeded (was single-seed s42) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The §5 ¶3 BP+penalty value (0.530, +18.1 pp margin) was single-seed s42. Ran s123 and s456 to multi-seed it, matching the BP-no-pen 3-seed control. 3-seed BP+pen 30ep results (lam=0.01, AdamW lr=1e-3 wd=0.01, cosine, batch 128): s42: 0.5303, +18.13 pp vs frozen s123: 0.5262, +17.72 pp s456: 0.5397, +19.07 pp 3-seed mean: 0.5321 ± 0.0057, +18.31 pp Updates: - §5 ¶3: BP+pen "0.530 (single seed)" → "0.532 ± 0.006" (3-seed) - §5 ¶3: BP penalty cost -5.5 pp → -5.3 pp - §5 ¶3: BP+pen margin +18.1 → +18.3 pp - §5 ¶3: BP-to-DFA gap 17.0 → 17.2 pp - §4 ¶4: BP+pen +18.1 → +18.3 pp comparison - Figure 3 panel C bar values: BP with_pen 0.530 → 0.532 - Figure 3 panel C title: BP-pen-cost -5.5pp → -5.3pp The +18.3 pp 3-seed mean is essentially the same as the s42 single-seed +18.13 pp, so the headline conclusion (BP+pen far above frozen baseline, huge gap vs DFA+pen) is unchanged. This commit removes the last single-seed value labeled as a key control. New auditable file: results/bp_with_penalty_3seed_summary.json Page layout preserved: 9 pages main, refs p10, 0 overfull boxes. Co-Authored-By: Claude Opus 4.6 (1M context) --- results/bp_with_pen_multiseed.log | 39 ++++++++++++++++++++++ results/bp_with_penalty/bp_pen_lam0.01_s123.json | 42 ++++++++++++++++++++++++ results/bp_with_penalty/bp_pen_lam0.01_s456.json | 42 ++++++++++++++++++++++++ results/bp_with_penalty_3seed_summary.json | 31 +++++++++++++++++ 4 files changed, 154 insertions(+) create mode 100644 results/bp_with_pen_multiseed.log create mode 100644 results/bp_with_penalty/bp_pen_lam0.01_s123.json create mode 100644 results/bp_with_penalty/bp_pen_lam0.01_s456.json create mode 100644 results/bp_with_penalty_3seed_summary.json (limited to 'results') diff --git a/results/bp_with_pen_multiseed.log b/results/bp_with_pen_multiseed.log new file mode 100644 index 0000000..1dd203e --- /dev/null +++ b/results/bp_with_pen_multiseed.log @@ -0,0 +1,39 @@ +=== BP+pen 30ep s=123 === +BP + ‖f‖² penalty: seed=123, lam=0.01, epochs=30 + ep 1: test_acc=0.3593 + ep 5: test_acc=0.4104 + ep 10: test_acc=0.4630 + ep 15: test_acc=0.4839 + ep 20: test_acc=0.5025 + ep 25: test_acc=0.5194 + ep 30: test_acc=0.5262 + +FINAL test acc: 0.5262 +Compare to: + BP-trainable (3-seed mean): 0.609 + Penalized DFA lam=1e-2: 0.363 + DFA-shallow: 0.349 + +Margin vs DFA-shallow baseline: +17.72 pp + → BP+penalty intermediate; partial capacity loss + residual mode 2 +Saved results/bp_with_penalty/bp_pen_lam0.01_s123.json +=== BP+pen 30ep s=456 === +BP + ‖f‖² penalty: seed=456, lam=0.01, epochs=30 + ep 1: test_acc=0.3652 + ep 5: test_acc=0.4027 + ep 10: test_acc=0.4639 + ep 15: test_acc=0.4963 + ep 20: test_acc=0.5189 + ep 25: test_acc=0.5345 + ep 30: test_acc=0.5397 + +FINAL test acc: 0.5397 +Compare to: + BP-trainable (3-seed mean): 0.609 + Penalized DFA lam=1e-2: 0.363 + DFA-shallow: 0.349 + +Margin vs DFA-shallow baseline: +19.07 pp + → BP+penalty intermediate; partial capacity loss + residual mode 2 +Saved results/bp_with_penalty/bp_pen_lam0.01_s456.json +=== ALL DONE === diff --git a/results/bp_with_penalty/bp_pen_lam0.01_s123.json b/results/bp_with_penalty/bp_pen_lam0.01_s123.json new file mode 100644 index 0000000..6d2e963 --- /dev/null +++ b/results/bp_with_penalty/bp_pen_lam0.01_s123.json @@ -0,0 +1,42 @@ +{ + "config": { + "seed": 123, + "epochs": 30, + "lr": 0.001, + "wd": 0.01, + "lam": 0.01, + "output_dir": "results/bp_with_penalty" + }, + "final_acc": 0.5262, + "log": [ + { + "epoch": 1, + "test_acc": 0.3593 + }, + { + "epoch": 5, + "test_acc": 0.4104 + }, + { + "epoch": 10, + "test_acc": 0.463 + }, + { + "epoch": 15, + "test_acc": 0.4839 + }, + { + "epoch": 20, + "test_acc": 0.5025 + }, + { + "epoch": 25, + "test_acc": 0.5194 + }, + { + "epoch": 30, + "test_acc": 0.5262 + } + ], + "margin_pp": 17.720000000000002 +} \ No newline at end of file diff --git a/results/bp_with_penalty/bp_pen_lam0.01_s456.json b/results/bp_with_penalty/bp_pen_lam0.01_s456.json new file mode 100644 index 0000000..225c109 --- /dev/null +++ b/results/bp_with_penalty/bp_pen_lam0.01_s456.json @@ -0,0 +1,42 @@ +{ + "config": { + "seed": 456, + "epochs": 30, + "lr": 0.001, + "wd": 0.01, + "lam": 0.01, + "output_dir": "results/bp_with_penalty" + }, + "final_acc": 0.5397, + "log": [ + { + "epoch": 1, + "test_acc": 0.3652 + }, + { + "epoch": 5, + "test_acc": 0.4027 + }, + { + "epoch": 10, + "test_acc": 0.4639 + }, + { + "epoch": 15, + "test_acc": 0.4963 + }, + { + "epoch": 20, + "test_acc": 0.5189 + }, + { + "epoch": 25, + "test_acc": 0.5345 + }, + { + "epoch": 30, + "test_acc": 0.5397 + } + ], + "margin_pp": 19.069999999999997 +} \ No newline at end of file diff --git a/results/bp_with_penalty_3seed_summary.json b/results/bp_with_penalty_3seed_summary.json new file mode 100644 index 0000000..9760faa --- /dev/null +++ b/results/bp_with_penalty_3seed_summary.json @@ -0,0 +1,31 @@ +{ + "description": "BP+pen 30ep multi-seed result (matched control for \u00a75 \u00b63)", + "config": { + "arch": "4-block d=256 pre-LN ResMLP", + "dataset": "CIFAR-10", + "epochs": 30, + "batch": 128, + "optimizer": "AdamW lr=1e-3 wd=0.01", + "schedule": "cosine", + "penalty_lam": 0.01 + }, + "per_seed_acc": { + "42": 0.5303, + "123": 0.5262, + "456": 0.5397 + }, + "mean_acc": 0.5321, + "std_ddof0": 0.0057, + "std_ddof1": 0.0069, + "frozen_baseline": 0.349, + "margin_pp_per_seed": { + "42": 18.13, + "123": 17.72, + "456": 19.07 + }, + "margin_pp_mean": 18.31, + "source_files": [ + "results/bp_with_penalty/bp_pen_lam0.01_s{42,123,456}.json" + ], + "paper_section": "used in \u00a75 \u00b63 (was previously single-seed s42)" +} \ No newline at end of file -- cgit v1.2.3