Deep Learning

Let’s now explore Deep Learning in some more detail.

Deep Learning, based on Neural Networks, is a common machine learning method. They are software constructs that mimic how the brains of animals to compute. Its fundamental building block is the Perceptron which takes inputs, and then runs these inputs through an algorithm to produce an output. Neural Networks build on the Perceptron by adding layers and feedback mechanisms.

Figure 24. The Perceptron. The basic building block of Neural Networks

Neural Networks learns directly from images, text, or sound. Data is inputted, passed through layers of algorithms and a prediction is outputted. For example, millions of pictures of animals can be fed into a Neural Network, which then learns to distinguish between shapes, patterns and textures to the point at which it can identify categories of animals (e.g. cats) from input pictures.

Deep Learning is a more sophisticated type of machine learning that uses Neural Network architecture. The term “deep” refers to the number of layers in the network—the more layers, the deeper the network. Traditional Neural Networks contain only 2 or 3 layers, while Deep Learning Networks can have hundreds.

Deep Learning techniques represent a remarkable step forward taken by machine learning in recent decades, having provided results never seen before in many applications, such as image and speech recognition or Natural Language Processing (NLP). There are several reasons that led to deep learning being developed and placed at the centre of the field of machine learning only in recent decades:

  1. In 2006 Geoffrey Hinton developed multilayer neural networks with error correction, which lead to a significant increase in accuracy, efficiency and effectiveness of machine learning
  2. A sharp increase in the amount of Big Data available from mobile phones
  3. Progress in hardware, with the availability of new processors, such as graphics processing units (GPUs), which have greatly reduced the time needed for training networks, lowering them by a factor of 10 or 20.

Figure 25. Deep Neural Network - the 'engine' of Deep Learning

Deep Learning is based on the way the human brain processes information and learns, responding to external stimuli. It consists in a machine learning model at several levels of representation in which the deeper levels take as input the outputs of the previous levels, transforming them and always abstracting more. Each level corresponds in this hypothetical model to a different area of the cerebral cortex: when the brain receives images, it processes them through various stages such as edge detection and form perception, that is, from a primitive representation level to the most complex.

For example, in an image classification problem, each block gradually extracts the features at various levels of abstraction, inputting of data already processed, by means of filtering operations.

One area where Deep Learning is used extensively is Voice Recognition. In the greatly simplified model below we can visualise error correction in phone-based voice recognition. 

Figure 26. Error correction - a key part of deep learning systems

Error correction will be used extensively in the learning process prior to the software being put on the phone, to train the software to correctly interpret different languages, accents and dialects.

When you get the phone, you’ll load the appropriate algorithms for your particular language and locale, but the software will still have some learning to do in order to fully adjust to your unique voice.

The more you talk into your voice recognition system, the more error correction it will go through until eventually it will work as smoothly as possible.

Complete and Continue