An artificial neural network is a computing model consisting of logical elements (artificial “neurons”) based on a simplified biological neural network model.
The neurons can be considered as network nodes and divided into the following groups:
A learning process (either supervised or unsupervised) is necessary to make a neural network operational. Connections are moulded during learning (they all weighed the same in the previous image), some connections disappear, some connections become weaker while others become stronger.
Now the system is capable of solving the problems it was trained for.
Nicola and Paolo want to book a restaurant online. The system will show about a dozen restaurants for each one and will ask them to rate their preferences (which might just be based on selecting interesting restaurants). At that stage, based on inputs such as price, customer reviews, vicinity, etc. a popularity ranking will be created for each user (with only one output with a value between 0 and 10). Each user has their own neural network available which is specifically arranged to make Nicola or Paolo’s decision easier, although obviously Nicola’s rankings might not agree with what Paolo has in mind.
This example shows the advantage of neural networks: a generic software is written which adapts itself to a certain purpose only after learning.