What is an artificial neural network?

neural

At the heart of many artificial intelligence computer systems are artificial neural networks (ANN). These networks have been inspired by the biological arrangements found in a human brain.

Using a structure of connected "neurons", these networks can distinguish numerical arrangements by 'learning' to process certain stimuli and creating assessments without the involvement of humans.

One such practical instance of this is the use of an ANN to identify objects in images. In a system constructed to identify the image of a cat, an ANN will be taught on a data set that comprises images that are labelled “cat”, which can be used as a reference point for any forthcoming analysis. Just as people may learn to recognise a dog based on distinctive features, such as a tail or fur, so too does an ANN, by breaking each image down into their various component parts, such as colour and shapes.

In practical terms, a neural network offers a sorting and classification level that sits on top of your managed data, aiding the clustering and grouping of data based on resemblances. It's possible to produce complex spam filters, algorithms to find fraudulent behaviour and customer relationship tools that precisely measure mood, all using an artificial neural network.

How an artificial neural network works

ANNs draw inspiration from the neurological organisation of the human brain. https://www.itpro.com/network-internet are constructed using neuron-like computational nodes which converse with each other along channels like the way synapses work. This means the output of one computational node will affect the processing of another.

Neural networks signified an enormous leap in the development of artificial intelligence, which had until then relied on the use of pre-defined processes and regular human intervention to create the desired outcome. An ANN allows the analytical load to be spread across a net of several interconnected layers, each containing interconnected nodes. As information is processed and contextualised, it's then passed along to the next node, and down through the layers. The idea is to allow additional contextual information to be drip-fed into the network to inform processing at every stage.

A basic structure of a single 'hidden' layer neural network

Much like the structure of a fishing net, a single layer of a neural network connects processing nodes together using strands. The vast number of connections enable enhanced communication between these nodes, increasing accuracy and data processing throughput.

ANNs will then pile a number of these layers on top of each other to analyse data, creating an input and output flow of data from the first layer to the last. Although the number of layers will vary depending on the nature of the ANN and its task, the idea is to pass data from one layer to another, with additional contextual information being added as it goes. This deviates slightly from the human brain, which is connected using a 3D matrix, rather than a series of layers.

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 comprised 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 to go. It's highly 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 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 clear weather and '0' for severe weather. The same format will be repeated for each deciding factor.

Neural threshold

However, it's not 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').

Neural weighting

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

RELATED RESOURCE

Cloud-managed networks: The secret to success

Discover how a simple, smart and secure network enhances productivity and drives business growth

FREE DOWNLOAD

Benefits of neural networks

Neural networks can 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, 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 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.

Dale Walker

Dale Walker is the Managing Editor of ITPro, and its sibling sites CloudPro and ChannelPro. Dale has a keen interest in IT regulations, data protection, and cyber security. He spent a number of years reporting for ITPro from numerous domestic and international events, including IBM, Red Hat, Google, and has been a regular reporter for Microsoft's various yearly showcases, including Ignite.