Descent at TRAINED weights — the CNN conv1 rungs, through two-layer twins #
REDUCED CERTIFICATE MODEL — the same 12×12-input, 2-channel MNIST CNN shape as
Trained.CnnDescent, NOT the canonical 28×28, 32-channel cnnVerified, chosen so every table is
exact rational arithmetic in the kernel.
cnn_conv1_exact_sgd_descends and cnn_conv1_bias_exact_sgd_descends — one exact-gradient SGD
step on the FIRST conv's kernel, or its bias, decreases the cross-entropy loss — instantiated at
TRAINED, /128-rationalized weights (biases /16384) and REAL MNIST test image #0 (label
7, classified correctly), every hypothesis discharged by exact arithmetic:
trained_cnn_conv1_sgd_descends_concrete at learning rate 2⁻48 and
trained_cnn_conv1_bias_sgd_descends_concrete at 2⁻45 (its radius sits inside the kernel
rung's, so every relu and pool margin carries over by monotonicity).
This net has a trained conv1 bias. Trained.CnnDescent's bias-free conv1 cannot serve these
rungs: their relu₁ margin needs every conv1 pre-activation nonzero, and a bias-free conv1 is
exactly zero on a blank patch.
The pool hypothesis takes two-layer twins ConvPatchEq2 3 3 T0: conv2-output cells whose 5×5
receptive fields through both convs lie in a blank image region, every outer read in bounds
(tw_*), so their conv2 outputs are equal for every conv1 kernel and bias. 2 live
windows tie that way and 13 are dead; every other cell clears the margin (cert_*, through
windowMarginUpTo_of_cert). No pool-tie regularizer was used in training.
Net: 24×24-center-cropped MNIST, 2×2 block sums to 12×12 (exact pixel sums /1020), conv 1→2 3×3 SAME + bias → relu → conv 2→2 3×3 SAME → relu → maxpool 2×2 → dense 72→8 → relu → dense 8→8 → relu → dense 8→10. The generator prints the net's test accuracy.
As in Trained.CnnDescent, the step is the exact gradient and the decrease lr·‖∇L‖₂²/2 is not
shown positive. Generated by scripts/certs/trained_cnn_descent.py; weights and input are DATA.
Test image #0, center-cropped and 2×2-summed to 12×12, exact pixel sums /1020.
Equations
- One or more equations did not get rendered due to their size.
Instances For
conv1 kernel (1→2, 3×3), entries k/128.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Proofs.TrainedCnnDescentConv1.b1 = ![787 / 8192, 1549 / 16384]
Instances For
conv2 kernel (2→2, 3×3), entries k/128.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Proofs.TrainedCnnDescentConv1.b2 = ![-4555 / 16384, -3369 / 16384]
Instances For
dense3 (72→8, input×output).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The label of test image #0.
Equations
Instances For
conv1 pre-activations at the image, exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
relu(conv1) at the image (conv2's input), exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
conv2 pre-activations at the image, exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
relu(conv2) at the image (the max-pool input), exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pooled feature vector (flattened maxpool output), exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pool margin up to two-layer twins holds at the trained weights, ties and all.
dense3 pre-activations at the image, exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
dense4 pre-activations at the image, exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The relu₁ margin radius a·(lr·G) of the kernel instance, exact.
One exact-gradient SGD step on the conv1 kernel of a trained MNIST CNN, at a real test image
with two-layer-twin pool ties, decreases the cross-entropy loss by at least
lr·‖∇L‖₂²/2, at lr = 2⁻48. Every hypothesis of cnn_conv1_exact_sgd_descends is
discharged above.
The bias instance's radius lr·G_b, exact; it sits inside the kernel instance's a·lr·G.
One exact-gradient SGD step on the conv1 BIAS of the same trained MNIST CNN, at the same
test image, decreases the cross-entropy loss by at least lr·‖∇L‖₂²/2, at
lr = 2⁻45. Every hypothesis of cnn_conv1_bias_exact_sgd_descends is discharged above;
the relu₁, relu₂ and pool margins are the kernel instance's (c1_margin, c2_margin,
pool_margin) at a smaller radius.