Deep learning uses neural networks to do the learning that ML requires. Shown here is an example of a neural network model. The model is made up of many nodes, also known as neurons, and organized into multiple layers. Each layer is a specific type of neural network mathematical operation. Each node in that layer has its own weights and bias values that are used when calculating that operation. For a 32 x 32 pixel three color image, the model will have 32 x 32 x 3, or 3072 nodes for the input layer. A larger image will require more input nodes. The input node values are multiplied by the associated weights as they go to the next layer, which will affect values of the inner layers (called hidden layers). The number of hidden layers and the number of nodes in those layers will vary depending on the particular model. Each yellow connection has an associated “weight” with it. The training phase is what figures out the optimal value for all the weights in the entire model. The goal is that the pixels from the input should cause the model to compute the highest final value on the specific node in the output layer that correctly identifies the photo.