# What is Deep Learning?

How do we overcome the limitations of traditional machine learning and learn how to solve more complex problems? Deep learning is a new type of data-driven AI. It stacks multiple layers of machine-learning models, one on top of the other. This allows it to learn more complex inputs and produce more complex outputs. We typically create deep-learning models using a neural network.

## What is neural network

A neural network is a graph of nodes and edges based roughly on the organization of neurons in an organic brain. The nodes represent neurons in a brain. The edges represent the connections between
the neurons. First, we feed data into the neural network via its input neurons.

Next, mathematical operations are performed on the data in each of the neurons Then, each neuron forwards its resulting value to all of the other neurons that it’s connected to. We repeat this process for all of the nodes in the hidden layer of the network as well as the edges in the hidden layer.

Finally, the network produces a prediction from it’s output neurons. There’s a bit of math involved to make this entire process work. However, we’re going to skip over all the math to keep things simple.

A deep neural network is a neural network with more than one hidden layer. Adding more hidden layers allows the network to model progressively more complex functions. For example, imagine we want to teach a deep neural network how to detect human faces.

First, we would feed a set of labeled images into the input layer of this network. We do this to teach the network the faces of each person and their corresponding name. The first layer of the neural network would learn to detect geometric primitives.

For example: horizontal, vertical, and diagonal lines. The second hidden layer would learn to detect
more complex facial features. For example: Eyes, noses, and mouths. The third hidden layer would learn to detect the general pattern for entire faces.

The output layer would detect the most abstract representation of a person. In this case, the name of the person being recognized. Each layer learns to extract more complex features from the preceding layer. As a result, the data becomes more abstract with each additional layer in the network.