In this post, we will cover the differences between a Fully connected neural network and a Convolutional neural network. We will focus on understanding the differences in terms of the model architecture and results obtained on the MNIST dataset.

### Fully connected neural network

- A fullyconnected neural network consists of a series of fullyconnected layers that connect every neuron in one layer to every neuron in the other layer.
- The major advantage of fully connected networks is that they are “structure agnostic” i.e. there are no special assumptions needed to be made about the input.
- While being structure agnostic makes fully connected networks very broadly applicable, such networks do tend to have weaker performance than special-purpose networks tuned to the structure of a problem space.

Multilayer Deep Fully Connected Network, Image Source

### Convolutional Neural Network

- CNN architectures make the explicit assumption that the
**inputs are images**, which allows encoding certain properties into the model architecture.
- A simple CNN is a sequence of layers, and every layer of a CNN transforms one volume of activations to another through a differentiable function. Three main types of layers are used to build CNN architecture: Convolutional Layer, Pooling Layer, and Fully-Connected Layer.

To know more about the basic fundamentals related to CNN, check out my earlier blogs on Convolutions and Pooling.

#neural-networks #computer-vision #keras #deep-learning #machine-learning