chapter nine

9 Artificial neural networks

 

In this chapter

  • Understanding the inspiration and intuition of artificial neural networks
  • Identifying problems that can be solved with artificial neural networks
  • Understanding and implementing forward propagation using a trained network
  • Understanding and implementing backpropagation to train a network
  • Designing artificial neural network architectures to tackle different problems

What are artificial neural networks?

Artificial neural networks (ANNs) are powerful tools in the machine learning toolkit, used in a variety of ways to accomplish objectives such as image recognition, natural language processing, and game playing. ANNs learn much like other machine learning algorithms: by using training data. They’re best suited to unstructured data in which it’s difficult to understand how features relate to one another. This chapter covers the inspiration of ANNs; it also shows how the algorithm works and how ANNs are designed to solve different problems.

To gain a clear understanding of how ANNs fit into the bigger machine learning landscape, we should review the composition and categorization of machine learning algorithms. Deep learning is the name given to algorithms that use ANNs in varying architectures to accomplish an objective. Deep learning, including ANNs, can be used to solve supervised learning, unsupervised learning, and reinforcement learning problems. Figure 9.1 shows how deep learning relates to ANNs and other machine learning concepts.

The Perceptron: A representation of a neuron

Defining ANNs

Forward propagation: Using a trained ANN

Backpropagation: Training an ANN

Phase A: Setup

Phase B: Forward propagation

Phase C: Training

Python code sample for backpropagation

Options for activation functions

Designing ANNs

Inputs and outputs