

ceil rounds off the decimal to the closet higher integer. It is used to decrease the input image size considerably as after the convolution operation the size shrinks to ceil((n+f-1)/s) where ’n’ is input dimensions ‘f’ is filter size and ‘s’ is stride length. Stride: It is generally the number of pixels you wish to skip while traversing the input horizontally and vertically during convolution after each element-wise multiplication of the input weights with those in the filter.ceil rounds off the decimal to the closet higher integer, No padding occurs. Valid- Output size shrinks to ceil((n+f-1)/s) where ’n’ is input dimensions ‘f’ is filter size and ‘s’ is stride length. Parameters for the padding function in Keras are Same- output size is the same as input size by padding evenly left and right, but if the amount of columns to be added is odd, it will add the extra column to the right. Padding: Padding is generally used to add columns and rows of zeroes to keep the spatial sizes constant after convolution, doing this might improve performance as it retains the information at the borders.Note in general we use filters with odd sizes. If you think what differentiates objects are some small and local features you should use small filters (3x3 or 5x5). If you think that a big amount of pixels are necessary for the network to recognize the object you will use large filters (as 11x11 or 9x9). Smaller filters collect as much local information as possible, bigger filters represent more global, high-level and representative information. The weights in the filter matrix are derived while training the data.

A feature may be vertical edge or an arch,or any shape.
Perfect layers vs layer guides Patch#
The filter on convolution, provides a measure for how close a patch of input resembles a feature.

These high number of filters essentially learn to capture spatial features from the image based on the learned weights through back propagation and stacked layers of filters can be used to detect complex spatial shapes from the spatial features at every subsequent level. The CNNs have several different filters/kernels consisting of trainable parameters which can convolve on a given image spatially to detect features like edges and shapes. In the current article we will continue from where we left off in part-I and would try to solve the same problem, the image classification task of the Fashion-MNIST data-set using Convolutional Neural Networks(CNN).
