There has been an unprecedented rise in the use of neural network-based applications and architectures in the first two decades of the twenty-first century. This has been largely catered to by the extensive research that has been carried out over the past few decades. The evolution of high-end processors in the form of graphical processing units (GPUs) and tensor processing units (TPUs) has supplemented the rise of neural network-based applications by making it possible to perform heavy calculations that are very commonly encountered in any neural network. Self-driving cars, language translation services, chatbots, document summarization, and image captioning are some common modern-day use cases that are powered by neural networks.
In this chapter, we will begin by looking at how the idea of an artificial neural network...