CIFAR-8 last-conv SGD descent — the first non-MNIST provable descent (A2 probe) #
planning/archive/tier23_float_and_syntactic_faithfulness.md A2 asked the genuinely-uncertain question: does
the segment-Lipschitz SGD-descent argument (proven for the MNIST CNN, SgdDescentCnn.lean) reach a
CIFAR net? This file answers it.
The finding. CIFAR-8's tail — its last conv W₈ (c4→c4) → relu → maxpool → three denses → CE —
is byte-for-byte the program cnn_conv2_sgd_descends proves descent for. So descent at the LAST
conv layer reaches CIFAR-8 for free, with the SAME non-vacuous admissible lr as MNIST: it is an
instance of the MNIST lemma at the frozen earlier-layer features. Made rigorous in two steps:
cifarCnn8Forward_factor— the actual committed net factors ashead ∘ (relu ∘ flatConv W₈) ∘ prefix7(purerfl;Function.compis definitionally associative).cifar8_lastConv_sgd_descends— one SGD step onW₈(the earlier seven conv layers held fixed, their output onimagebeing the frozen feature mapx₁) decreases the CIFAR-8 cross-entropy by≥ lr·‖∇‖²/2. Proved by reducing the CIFAR-8 loss-as-a-function-of-W₈to thecnn_conv2program atx₁(hfac, via the factor lemma +flatConv = flatten∘conv2d∘unflatten) and applyingcnn_conv2_sgd_descends.
The honest stop (why this is the ceiling). Descent through the depth of all eight conv layers is
NOT proved, by design: cnn_conv2_sgd_descends's admissible-lr condition hsmall is a PRODUCT of the
per-layer operator-norm factors (the three dense bounds × spatial). Each additional conv layer would
multiply another (spatial · weight-bound) factor into that product, so the admissible lr shrinks
geometrically with depth ⇒ vacuous in any realistic regime. This is the SAME compounding mechanism that
puts deep-net descent off-limits. So last-conv descent is the honest reach of provable descent for
CIFAR; full-depth / end-to-end CIFAR descent stays open.
The CIFAR-8 classifier head (everything after the last conv's relu): maxpool → 3 denses.
Equations
- Proofs.cifar8Head W₉ b₉ Wa ba Wb bb = Proofs.dense Wb bb ∘ (Proofs.relu d1 ∘ Proofs.dense Wa ba) ∘ (Proofs.relu d1 ∘ Proofs.dense W₉ b₉) ∘ Proofs.maxPoolFlat c4 h w
Instances For
The CIFAR-8 first-7-conv feature extractor (everything before the last conv W₈).
Equations
- One or more equations did not get rendered due to their size.
Instances For
CIFAR-8 factors at the last conv — cifarCnn8Forward = head ∘ (relu ∘ flatConv W₈) ∘ prefix7.
Pure rfl (same ∘-chain, regrouped; Function.comp is definitionally associative).
CIFAR-8 last-conv SGD descent. One SGD step on the LAST conv W₈ of the actual
cifarCnn8Forward net (the earlier seven conv layers held fixed — their output on image is the
frozen feature map x₁) decreases the CIFAR-8 cross-entropy loss by at least lr·‖∇‖²/2, under
the segment-margin conditions that freeze the ReLU/MaxPool routing along the step. Because
CIFAR-8's tail (W₈ → relu → maxpool → 3 denses) is byte-for-byte the architecture
cnn_conv2_sgd_descends proves descent for, this is an INSTANCE of that lemma at the frozen
features x₁, via cifarCnn8Forward_factor — the admissible lr is the same non-vacuous MNIST
regime. The genuinely-distinct case (descent through the DEPTH of all eight conv layers) stays
open by design: each extra layer multiplies another operator-norm factor into hsmall's
admissible-lr product, so it compounds to vacuity — the same honest stop as the deep nets.