What is an artificial intelligence neural network

Artificial Intelligence - Neural Networks

To continue the machine learning / artificial intelligence series, I'll write about the most common type of machine learning below: neural networks.

The goal of neural networks is to mimic how the human brain works. This is intended to abstract problems and thereby solve them with a small amount of training.

A neuron has any number of inputs and one output. Each of these inputs contains a number; the output signal is triggered when a certain threshold value is exceeded. This signal activation is also called the axon. Neurons are strongly networked with one another. A neural network is inspired by the human brain, but so far it has not been possible to represent the complexity for a computer, so the neural network is divided into layers. The different layers could also be called filters. The higher the layer, the more complex is what the neuron in the input area reacts to. Each network consists of an input layer and an output layer (the highest level of abstraction), with the so-called hidden layers in between. The actual processing takes place in these.

Deep Neural Network

Since it is very difficult to cope with complex problems such as image recognition with one neuron, several "layers" are often interwoven in a neural network. Normally, each neuron from layer n is linked to each neuron from layer n + 1 for this purpose. For this purpose, different activation functions can be used in each of these layers. This makes it possible to cope with very complex problems.

Every neural network with 3 or more layers is called a "deep neural network".

Illustration of the algorithm by an example:

The aim is for handwritten numbers to be recognized by a neural network. The numbers are all written in white on a black background and each picture is 28 × 28 pixels in size. Each pixel represents a neural input of the input layer so that 784 input signals are generated. Each neuron contains a value between 0 and 1, this stands for the gray level of the pixel; white = one, black = zero.

The last layer contains only 10 neurons, one each for the numbers between 0 and 9. The brightest neurons in this layer determine the end result. Between the two layers are two hidden layers with 16 neurons each.

So that the numbers can be recognized, they have to be broken down. A nine and also an eight consist of an upper circle. The individual properties of a digit form the second level of the hidden layer.

Every eight or nine, no matter how written, activates that Neuron.

A circle and a straight line consist of different single lines. These single lines result in the properties of the first hidden layer level. This division into tick marks is called abstraction and is always used in image recognition.

A neuron of the second layer is activated when the input signals together form a white line in a certain area. In order to achieve the positioning, each connection to the hidden layers is weighted. The two subdivisions described are an idea of ​​how the model might train. In reality, however, the models train differently than expected, the training method is not necessarily logically comprehensible, which is why the hidden layers are also referred to as black boxes. The desired result could be achieved if each connection was individually configured by a person, which would mean approx. 13,000 configurations for this model alone. This is too time consuming.

In order to be able to train a model with a neural network, random weightings are initially generated and thus trained, of course the results are not correct. Each of the ten end neurons has a number from 0 to 1 which represents the hit rate in relation to the number.

A human defines the desired values ​​for the ten outcomes. The (incorrectly) calculated values ​​and the desired values ​​are offset against each other and a success factor is formed from this. The lower the value, the better trained the model is. The calculated success factor flows into the next training run.


So far, neural networks are excellent at finding a good and quick solution to a particular problem, but they cannot do any tasks at the same time. Research is actively working on this limitation and is trying to achieve this goal in order to be able to create increasingly complex networks.

Despite this limitation, neural networks are popular in companies, especially in decision-making and data analysis, e.g. to analyze purchasing behavior. Through this purchase analysis, the end consumer receives personalized advertising that is almost perfectly tailored to their needs.

Personally, I am fascinated by the idea of ​​developing algorithms that can find a solution to almost any problem, provided they are fed with enough data. It's amazing how often neural networks are used and how little we know about the problem-finding process.

I believe this topic will occupy us more and more in the near future and influence our working world and life.