=== BP no-pen 30ep seed=42 === BP + ‖f‖² penalty: seed=42, lam=0.0, epochs=30 ep 1: test_acc=0.3920 ep 5: test_acc=0.4950 ep 10: test_acc=0.5296 ep 15: test_acc=0.5539 ep 20: test_acc=0.5721 ep 25: test_acc=0.5813 ep 30: test_acc=0.5851 FINAL test acc: 0.5851 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: +23.61 pp → BP+penalty intermediate; partial capacity loss + residual mode 2 Saved results/bp_no_penalty_30ep/bp_pen_lam0.0_s42.json === BP no-pen 30ep seed=123 === BP + ‖f‖² penalty: seed=123, lam=0.0, epochs=30 ep 1: test_acc=0.3958 ep 5: test_acc=0.4851 ep 10: test_acc=0.5345 ep 15: test_acc=0.5564 ep 20: test_acc=0.5748 ep 25: test_acc=0.5827 ep 30: test_acc=0.5845 FINAL test acc: 0.5845 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: +23.55 pp → BP+penalty intermediate; partial capacity loss + residual mode 2 Saved results/bp_no_penalty_30ep/bp_pen_lam0.0_s123.json === BP no-pen 30ep seed=456 === BP + ‖f‖² penalty: seed=456, lam=0.0, epochs=30 ep 1: test_acc=0.3969 ep 5: test_acc=0.4957 ep 10: test_acc=0.5344 ep 15: test_acc=0.5612 ep 20: test_acc=0.5716 ep 25: test_acc=0.5845 ep 30: test_acc=0.5863 FINAL test acc: 0.5863 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: +23.73 pp → BP+penalty intermediate; partial capacity loss + residual mode 2 Saved results/bp_no_penalty_30ep/bp_pen_lam0.0_s456.json === ALL DONE ===