Understanding Deep Neural Networks
Chapter 7
Last updated
Chapter 7
Last updated
Deep learning is a sub-class of machine learning and uses neural networks to generate an outcome from some input data. You might have come across different diagrams online depicting the types of neural networks and deep learning algorithms. Some of those types are muti-layer perceptron (MLP), convolutional neural networks (CNN), recurrent neural networks (RNN), deep reinforcement learning, and generative adversarial networks (GAN).
Not all types of data can be modeled using the same neural networks or deep learning algorithms and must be used in specific cases. This chapter will attempt to explain each of the types in detail, and does not refer to TensorFlow.js in particular. You have a choice to skip this chapter completely if you are not interested in knowing the theoretical aspects of these neural networks, but I would highly recommend you continue, to get a better understanding of the underlying concepts.
A multilayer perceptron (MLP) is a feed-forward neural network with at least one hidden layer. This implies that the networks in Figures 2-9b and 2-9c are multilayer perceptron networks, but the one in Figure 2-9a is not since it has no hidden layers (also known as single-layer perceptron). Multilayer perceptron or MLP networks can be illustrated as in Figures 7-1a and 7-1b.
Figure 7-1a: A Multi-Layer Perceptron with one hidden layer
Figure 7-1b: A Multi-Layer Perceptron with multiple hidden layers
Note Hidden layers in the above two figures are similar to the white (input/output) layers and only colored gray to display them as separate and unique from input and output layers, and should not be contrived to mean anything else.
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
Figure 2-4: Continuous and Categorical Features in a Dataset
Note A machine learning experiment involves splitting the data into 2 sets, training and test. The test set is what determines the accuracy of an algorithm.
Tip Regardless of the machine learning problem you are trying to solve, you have to train an algorithm with the available data to create a prediction model. Training a ML model involves splitting the data into two parts: training and test (the training set is larger than the test set); the algorithm or model is first trained with the training data, and tested for prediction accuracy with the test data.
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
[todo]
The chapter dives into the underlying topics of deep learning, neural networks, and the TensorFlow.js library, and covers the following:
Definition and concepts of deep learning
TensorFlow.js functions used for creating neural networks and learning from data
The parameter values for creating neural networks