# Convolutional Neural Networks

A** convolutional neural network** (**CNN**, or **ConvNet**) is a type of feed-forward artificial neural network in which the connectivity pattern between its neurons is inspired by the organization of the animal visual cortex. Individual cortical neurons respond to stimuli in a restricted region of space known as the receptive field. The receptive fields of different neurons partially overlap such that they tile the visual field.

Statistical Invariance — Things that don’t change over time or space.

‘Same’ padding equation:

out_height = ceil(float(in_height)/ float(strides[1]))

out_width = ceil(float(in_width)/ float(strides[2]))

‘Valid’ padding equation:

out_height = ceil(float(in_height — filter — height + 1)/ float(strides[1]))

out_weight = ceil(float(in_width — filter — width + 1)/ float(strides[2]))

**Advanced ConvNet-ology**

*Pooling:*

- Max Pooling:

— Parameter — free!

— Often more accurate

— More expensive

— More hyperparamters — pooling size and pooling strides - Average Pooing:

— Y = mean(Xi)

*1 x 1 convolutions: *1 x 1 convolutions ⇔ Matrix multipliers

*Inception modules:*

At each layer of your convNet yu make a choice. Have a pooling operation or convolution or 1 x 1, and on on top concatenate the output of each other. We choose in such a way so as to decrease the parameters so that the model performs better than a simple convolution.

Alright that’s it for now! Thank you for spending your time. Cheers!