πAdvanced Concepts
Important Terms
Term
Description
π· Padding
Adding additional border(s) to the image before convolution
π Strided Convolution
Convolving by s steps
π Convolutions Over Volume
Applying convs on n-dimensional input (such as an RGB image)
π Padding
Adding an additional one border or more to the image so the image is n+2 x n+2 and after convolution we end up with n x n image which is the original size of the image
p = number of added borders
For convention: it is filled by 0
π€ How much to pad?
For better understanding let's say that we have two concepts:
π΅οΈββοΈ Valid Convolutions
It means no padding so:
n x n * f x f β‘ n-f+1 x n-f+1
π₯½ Same Convolutions
Pad so that output size is the same as the input size.
So we want that π§:
n+2p-f+1 = n
Hence:
p = (f-1)/2
For convention f is chosen to be odd π©βπ
π Visualization

π’ Strided Convolution
Another approach of convolutions, we calculate the output by applying filter on regions by some value s.
π Visualization

π€ To Generalize
For an n x n image and f x f filter, with p padding and stride s; the output image size can be calculated by the following formula
π Convolutions Over Volume
To apply convolution operation on an RGB image; for example on 10x10 px RGB image, technically the image's dimension is 10x10x3 so we can apply for example a 3x3x3 filter or fxfx3 π€³
Filters can be applied on a special color channel π¨
π Visualization

π€ΈββοΈ Multiple Filters

π¨ Types of Layer In A Convolutional Network
Layer
Description
π« Convolution CONV
Filters to extract features
π Pooling POOL
A technique to reduce size of representation and to speed up the computations
β Fully Connected FC
Standard single neural network layer (one dimensional)
π©βπ« Usually when people report number of layers in an NN they just report the number of layers that have weights and params
Convention:
CONV1+POOL1=LAYER1
π€ Why Convolotions?
Better performance since they decrease the parameters that will be tuned π«
π§ References
Last updated
Was this helpful?