6 Deep Learning Models — When should you use them?

Source: Deep Learning on Medium

Convolutional Neural Networks

A more capable and advanced variation of classic artificial neural networks, a Convolutional Neural Network (CNN) is built to handle a greater amount of complexity around pre-processing, and computation of data.

CNNs were designed for image data and might be the most efficient and flexible model for image classification problems. Although CNNs were not particularly built to work with non-image data, they can achieve stunning results with non-image data as well.

After you have imported your input data into the model, there are 4 parts to building the CNN:
1. Convolution: a process in which feature maps are created out of our input data. A function is then applied to filter maps.
2. Max-Pooling: enables our CNN to detect an image when presented with modification.
3. Flattening: Flatten the data into an array so CNN can read it.
4. Full Connection: The hidden layer, which also calculates the loss function for our model.

When to use

  • Image Datasets (including OCR document analysis).
  • Input data is a 2-dimensional field but can be converted to 1-dimensional internally for faster processing.
  • When the model may require great complexity in calculating the output.

Click here to learn how to build a CNN from scratch in Python.