Understanding Deep Neural Networks

Chapter 7

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.

Multi-Layer Perceptron (MLP)

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.

Inputs

[todo]

Processing

[todo]

Outputs

[todo]

Convolutional Neural Networks (CNN)

[todo]

Inputs

[todo]

Processing

[todo]

Outputs

[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.

Recurrent Neural Networks (RNN)

[todo]

Inputs

[todo]

Processing

[todo]

Outputs

[todo]

Deep Reinforcement Learning

[todo]

Inputs

[todo]

Processing

[todo]

Outputs

[todo]

Generative Adversarial Networks (GAN)

[todo]

Inputs

[todo]

Processing

[todo]

Outputs

[todo]

Key Takeaways

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

Last updated