AI7 min read
Convolutional Neural Networks
Deep learning for image processing.
Robert Anderson
December 18, 2025
0.0k0
AI that sees images.
What are CNNs?
Neural networks designed for images.
Like how your brain processes visual information!
How CNNs Work
Layers:
- Convolution: Detect features (edges, shapes)
- Pooling: Reduce size, keep important info
- Dense: Make final decision
Real Example - Cat vs Dog
- Convolution: Finds edges, fur patterns
- Pooling: Keeps key features
- Dense: Decides "Cat" or "Dog"
Basic CNN in Python
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten
model = Sequential([
# Convolution layer
Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)),
# Pooling layer
MaxPooling2D(pool_size=(2, 2)),
# Another conv + pool
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D(pool_size=(2, 2)),
# Flatten for dense layers
Flatten(),
Dense(128, activation='relu'),
Dense(1, activation='sigmoid') # Output: cat or dog
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
Convolution Explained
Slide a small filter over image:
Filter: 3x3 grid that detects patterns
Output: Feature map showing where pattern exists
Pooling Explained
Shrink image while keeping important features:
Max Pooling: Take maximum value in each region
Result: Smaller image, same key info
Famous CNN Architectures
- LeNet: Early CNN (1998)
- AlexNet: Won ImageNet (2012)
- VGG: Very deep (2014)
- ResNet: 152 layers! (2015)
Applications
- Face recognition
- Self-driving cars
- Medical image analysis
- Quality control in manufacturing
Transfer Learning
Use pre-trained models:
from tensorflow.keras.applications import VGG16
# Load pre-trained model
base_model = VGG16(weights='imagenet', include_top=False)
# Add your own layers
# Train only your layers
Remember
- CNNs are for images
- Convolution finds patterns
- Pooling reduces size
- Use transfer learning!
#AI#Intermediate#CNN