Deep learning is a subset of machine learning that involves the application of complex, multi-layered artificial neural networks to solve problems. Deep learning techniques are applicable across diverse problems and used in all three machine learning subcategories discussed before. For example, a deep neural network classifier is a form of supervised learning, while a deep neural network autoencoder is a form of unsupervised learning, and a deep neural network Q-function is a form of reinforcement learning.
Deep learning takes advantage of yet another step change in compute capabilities. Deep learning models are typically compute-intensive to train and much harder to interpret than conventional approaches.
In a deep neural network, data inputs are fed to an input layer of “neurons,” and the output of the neural network is captured in the output layer. The layers in the middle are hidden “activation” layers that perform various data transformations. The number of required layers generally (but not always) increases with the complexity of the use case.
A single node in an artificial neural network takes input signals and produces an output, as shown in Figure 11.
Deep Learning: Node
Figure 11 Single node in a deep learning neural network.
A deep learning neural network is a collection of many nodes. The nodes are organized into layers, and the outputs from neurons in one layer become the inputs for the nodes in the next layer.
Deep Learning: Layers
Figure 12 Single nodes are combined to form input, output, and hidden layers of a deep learning neural network.
In the network shown above, each layer is fully connected to the previous layer and the following layer. Each layer enables complex mathematical transformations to be represented. Deep neural nets typically have multiple (more than two or three) hidden layers.
Deep neural networks initially found broad application in the field of computer vision. A specific type of deep neural network – convolutional neural networks (CNNs) – are used broadly today in image and video processing. Convolutional neural networks are not fully connected as in the previous example, but instead apply convolutional functions at each layer and transfer the results to the next layer. They simulate how visual neurons work in animals.