CNN Architecture (Mathematical Formulation)
We consider an input image
xβR3Γ256Γ256
with 3 color channels (RGB). Shapes are written as (channels Γ height Γ width).
1. Convolution Block 1 (16 channels)
Conv1 (3β16, kernel=3, padding=1, stride=1):
yk,i,j(1)β=c=1β3βu=β1β1βv=β1β1βWk,c,u,v(1)βxc,i+u,j+vβ+bk(1)β
Output:
Y(1)βR16Γ256Γ256
BatchNorm1:
y^βk,i,j(1)β=Οk2β+Ξ΅βyk,i,j(1)ββΞΌkββ,zk,i,j(1)β=Ξ³kβy^βk,i,j(1)β+Ξ²kβ
ReLU1:
ak,i,j(1)β=max(0,zk,i,j(1)β)
MaxPool1 (2Γ2, stride=2):
pk,i,j(1)β=0β€u,v<2maxβak,2i+u,2j+v(1)β
Shape: $16 \times 128 \times 128$
2. Convolution Block 2 (32 channels)
Conv2 (16β32):
yk,i,j(2)β=c=1β16βu=β1β1βv=β1β1βWk,c,u,v(2)βpc,i+u,j+v(1)β+bk(2)β
Then BN2 β ReLU2 β MaxPool2.
Shape after pooling: $32 \times 64 \times 64$.
3. Convolution Block 3 (64 channels)
Conv3 (32β64):
yk,i,j(3)β=c=1β32βu=β1β1βv=β1β1βWk,c,u,v(3)βpc,i+u,j+v(2)β+bk(3)β
Then BN3 β ReLU3 β MaxPool3.
Shape after pooling: $64 \times 32 \times 32$.
4. Flatten
h=vec(p(3))βR64β
32β
32=R65536
5. Fully Connected Head
FC1 (65536β256) + ReLU:
u1β=W1βh+b1β,a1β=max(0,u1β)
Dropout (p=0.5):
mβΌBernoulli(0.5)256,a~1β=0.5mβa1ββ
FC2 (256β64) + ReLU:
u2β=W2βa~1β+b2β,a2β=max(0,u2β)
FC3 (64β4) logits:
z=W3βa2β+b3ββR4
6. Prediction & Loss
Softmax (conceptual):
pcβ=βj=14βezjβezcββ,c=1,β¦,4
Predicted class:
y^β=argcmaxβzcβ
Cross-Entropy Loss for true class $y$:
L(z,y)=βlogpyβ=βzyβ+log(j=1β4βezjβ)
7. Why These Pieces Matter
- Deeper convs (16β32β64): extract features hierarchically (edges β textures β scenes).
- ReLU: avoids vanishing gradients, speeds training.
- BatchNorm: normalizes activations, stabilizes training, regularizes.
- MaxPool: adds translation invariance, reduces computation.
- Dropout: prevents overfitting by randomly dropping neurons.
- FC head: compresses learned features into logits for the 4 classes.
CNN Architecture Diagram
Input (3 Γ 256 Γ 256)
β
βΌ
[Conv1: 3β16, 3Γ3 + BN + ReLU]
β
βΌ
MaxPool 2Γ2 β (16 Γ 128 Γ 128)
β
βΌ
[Conv2: 16β32, 3Γ3 + BN + ReLU]
β
βΌ
MaxPool 2Γ2 β (32 Γ 64 Γ 64)
β
βΌ
[Conv3: 32β64, 3Γ3 + BN + ReLU]
β
βΌ
MaxPool 2Γ2 β (64 Γ 32 Γ 32)
β
βΌ
Flatten β 65536
β
βΌ
[FC1: 65536β256 + ReLU + Dropout]
β
βΌ
[FC2: 256β64 + ReLU]
β
βΌ
[FC3: 64β4 logits]
β
βΌ
Softmax β {Sea, Forest, Urban, Field}