CNN pt2
Convolution layers
The values in a kernel are selected during training.

By the nature of matrix multiplication the map will get smaller since the border pixels are always going to be 0.
Attribute
Num of filters: detects number of aspects
Kernel size:
Stride: how many pixels moves per step, aka it might move 3 pixels to the right
Padding: what happens at the borders the 0s in the image above
Pooling layers

There is no need to keep extra data points.
Pooling reduces the size of the matrix.
Types:
- max pooling: takes the highest value in an area
- avg pooling: takes the avg in an area
Drop-out layers

The process of during training to completely ignore some layers.
- Makes it faster
- Helps avoid overfitting
Note all layers are connected in prod.
Dense layers

Flattening is when you turn multidimensional data into a single dimension.
The num of neurons at the end matches the number of classes, each layer should decrease the number of neurons to sooth out the transition.