What is an artificial neural network?
A look at the role of neural nodes and how deep learning is used to create algorithms
An artificial neural network (ANN) is a type of artificial intelligence computer system, the design for which has been inspired by the biological structure found in an animal brain.
Through a system of connected "neurons", these networks are capable of recognising numerical patterns by 'learning' to process certain stimuli and making assessments without human intervention.
A simple example might be the training of an ANN to recognise objects in images. In the case of recognising a dog, for example, the network will be given a number of pre-labelled 'dog' images which it will then use as a reference point for future analysis. Unlike humans, networks are unable to assess whether a dog has fur or a tail, but instead breaks down the control images into minute identifying characteristics.
In practical terms, a neural network provides a sorting and classification layer that sits on top of your managed data, helping to cluster and group data based on similarities. It's possible to create highly sophisticated spam filters, algorithms to detect fraudulent behaviour, and customer relationship tools that accurately assess mood, all using an artificial neural network.
How an artificial neural network works
ANNs are heavily inspired by the neurological structure of an animal brain – that is, they are made up of a collection of neurons, or computation nodes, that are able to communicate along synapse-like channels. In other words, the output of one node will form the input of another.
Neural networks represented a significant leap in the development of artificial intelligence, which often relies on the use of pre-defined processes and regular human intervention. With this structure, the analytical load is spread across several interconnected neurons, with the first set of neurons passing processed information along for further analysis.
A basic structure of a single 'hidden' layer neural network
Much like the structure of a fishing net, a neural network will have strands connecting processing nodes together. The vast number of connections enable enhanced communication between these nodes, increasing accuracy and data processing throughput.
The network element manifests when layers of these nets are piled on top of each other, creating an input and output flow of data from the first to the last layer. As data passes from one layer of nodes to another, new contextual information is added to the analysis of the data (this differs to the human brain where neurons are connected in a 3D mesh, rather than layered).
Like an organic brain, nodes 'fire' across an ANN when they receive specific stimuli, passing the signal over to another node. However, in the case of ANNs, the input signal is defined as a real number, with the output being the sum of the various inputs.
The value of these inputs is dependent on their weighting, which serves to increase or decrease the importance placed on the inputs respective to the task being performed. The goal is to take an arbitrary number of binary inputs and translate them into a single binary output.
A more complex neural network, increasing the sophistication of its processing
Earlier models of neural networks used shallow structures, where only one input and output layer were used. Modern systems now are compromised of an input layer, where data first enters the network, multiple 'hidden' layers, which add complexity to the analysis, and an output layer.
This is where the term 'deep learning' has derived - the 'deep' part specifically referring to any neural network that uses more than one 'hidden' layer.
The evening party example
To explain how a neural network works in practice, let's boil it down to a real-world example.
Imagine you have been invited to a party and you are trying to decide whether or not to go. It's very likely that you are weighing up pros and cons, and pulling a variety of factors into the decision process. For the sake of this example, we'll pick just three – 'will my friends be going?', 'is the party easy to get to?', 'is the weather going to be good?'
It's actually possible to model this process using an artificial neural network by translating these considerations into binary numbers. For example, we could assign a binary value to 'weather', namely '1' for good weather and '0' for bad weather. The same format will be repeated for each deciding factor.
However, it's not quite enough to just assign values, as this doesn't help us arrive at a decision. For that, we would need to define a threshold – that is, the point at which the number of positive factors outweighs the number of negative factors. Based on the binary values, a suitable threshold could be '2' – in other words, you would need two factors to return a '1' before deciding to attend the party. If your friends were to attend the party ('1') and the weather was good ('1'), this would be enough to pass the threshold.
If the weather was bad ('0'), and the party was difficult to get to ('0'), this would not meet the threshold and you would decide against attending the party, even if your friends were to attend ('1').
Admittedly, that is a very basic example of the fundamentals of a neural network, but hopefully, it helps to highlight the idea of values and thresholds. However, the decision-making process is far more complex than this example, and it's often the case that one factor will be more influential in the decision-making process over another.
To create this variation, we can use 'neural weighting' – this dictates how important a factor's binary value is in relation to other factors by multiplying it by its weighting.
While each of the considerations in our example could sway you one way or another, it's likely that you will place greater importance on one or two of the factors. If you are entirely put off by the idea of leaving the house during a heavy downpour, then the inclement weather will outweigh the other two considerations. In this example, we could place greater importance on the weather value by giving it a higher weighting:
- Weather = w5
- Friends = w2
- Distance = w2
If we imagine that the threshold has now been set to 6, poor weather (a 0 value) would prevent the rest of the inputs from reaching the desired threshold, and therefore the node would not 'fire' (you would decide against going to the party).
Again, it's a fairly simple example, but it provides an overview of how decisions are made based on the weight of evidence provided. If you're to extrapolate this to, say, an image recognition system, the various considerations of whether to attend a party (inputs) would be the dismantled characteristics of a given image, whether that's colour, size, or shapes. A system training to identifying a dog, for example, may give greater weighting to shapes, or perhaps colour.
When a neural network is in training, the weights and thresholds are set to random values. These are then continually adjusted as training data is passed through the network until a consistent output is achieved.
Cloud-managed networks: The secret to success
Discover how a simple, smart and secure network enhances productivity and drives business growthDownload now
Benefits of neural networks
Neural networks have the ability to learn organically. That is, the outputs from a neural network aren't completely limited by the inputs; artificial neural networks can generalise inputs, making them valuable for pattern recognition systems.
They can also find shortcuts to achieve computationally intensive answers. Artificial neural networks can infer relations between data points, rather than expecting for records in a data source to be unambiguously connected.
They can also be fault-tolerant. When neural networks are scaled over multiple systems, they can route around missing nodes that can't communicate. In addition to routing around parts of a network that no longer functions, artificial neural networks can recreate data by inference and help determine non-functioning nodes. This is useful for self-diagnosis and debugging of a network.
However, perhaps the biggest advantage deep neural networks provide is the ability to process and cluster unstructured data, such as pictures, audio files, video, text and numerical data. Given the analytical hierarchy, where each layer of nodes trains on the output of the previous layer, deep neural networks are capable of handling vast quantities of this unstructured data in order to find similarities before it reaches a human.
Examples of neural networks
There are many examples of neural network applications that take advantage of its ability to derive meaning from complex or inexact data.
Image recognition Artificial neural networks can solve problems such as analysing photos for specific objects. Such algorithms can be deployed to tell dogs from cats. More importantly, neural networks have been deployed to diagnose cancers using only cell shape information.
Financial Neural networks have been used to figure out exchange rate forecasting and stock performance and selection prediction for nearly 30 years. Neural networks also are used to determine credit scores, learning to correctly identify good or poor credit risks.
Telecommunications Neural networks have been used in telecoms firms to optimise routing and quality of service by evaluating network traffic in real-time.
Preparing for long-term remote working after COVID-19
Learn how to safely and securely enable your remote workforceDownload now
Cloud vs on-premise storage: What’s right for you?
Key considerations driving document storage decisions for businessesDownload now
Staying ahead of the game in the world of data
Create successful marketing campaigns by understanding your customers betterDownload now
Solutions that facilitate work at full speedDownload now