PoC: the cifar8-bn (Chapter 4 deeper, 8-conv per-channel BN) §1a TIE #
cifar8's §1a tie + a BN-back at every conv. The backward
chain alternates BN-output cotangent dyBnᵢ (relu-masked — fed to the γ/β ops) and conv-output
cotangent cotCᵢ (bnPerChannelTensor3_grad_input of dyBnᵢ — fed to the conv W/b ops), repeated
over 4 conv→conv→pool stages, crossing each pool as conv-back then maxpool-back.
Zero new ops/bridges/constructors. Conv ties reuse CifarPoC.convW_den/convB_den; BN ties reuse
CifarBnPoC.bnGamma_den/bnBeta_den; dense head + loss-cot reuse Cifar8PoC/cifar. All 38 params
(8 conv W/b + 8 BN γ/β + 3 dense) fold with the generics — the cifar8-bn lesson applied to the tie.
Honest residual (same as the rest of the suite) #
- Conv/BN backward rendered hand-written (cotangent SSA ↔ chain-cot per-op trust); per-op
prettylexing; BN0 < εsmoothness; ℝ → Float32.
The emitted loss-cotangent graph denotes the softmax-CE gradient of the cifar8-bn forward.
Whole cifar8-bn conv+BN tail, tied. All 32 conv/BN params (8 conv W+b, 8 BN γ+β), at the
real cifar8-bn forward and the composed softmax-CE cotangent, denote the certified loss-descent
step. The conv ops are fed the BN-back cotangents cotC1–8; the BN ops the relu-masked
cotangents dyBn1–8; both are the genuine cifar8-bn backward chain (cifar8's chain + a BN-back at
every conv). Dense head + loss-cot reuse Cifar8PoC/cifar.