In this post I will describe basic logic behind “neural network” term.
What is neural network and what it is for?
There are dozens of different neural network types. For simplicity, let’s discuss just one simple type.
Neural network is a special logic written in some programming language that allows to be trained on some “training data” and automatically find logic within that data, if some new set of similar data are feed into “trained” neural network than neural network is able to understand and “to see” same logic in new data. (based on logic acquired from “training data set”)
Give me example of neural network! Where and how it is used?
This is simple. Suppose we have medical data for several hundreds people, and we know for each person if he/she have some disease or do not have it. We mark each medical data with label like “disease Yes” or “disease No”, meaning that for each person medical data we know and we label data if it belongs to person with disease or belongs to person without disease. Than we feed those data into “neural network” and let it process given data and “understand” what kind of data belongs to person with disease and what kind of data belongs to person without disease. This is called “neural network training”. This is first step. In most cases this is the most resource-consuming task, when they describe neural networks like something that requires serious computer power, they mean that first step, “neural network training”.
Second step is to use trained network to classify new data. In our example this second step assumes we feed new data into neural network, we feed medical data of new patients and let neural network decide, if patients with given medical data has mentioned disease or they are fine without that illness.
This particular type of neural network training called “supervised learning”, meaning that during “training” phase we feed data with labels, for each person medical data we have correct label if that data belongs to person with particular disease or belongs to person without that disease.
To visualize that simple approach, you could imagine medical records like following:
|person||med. parameter 1||med. parameter 2||med. parameter 3||med. parameter 4||med. parameter 5||Disease, Yes/No|
The more medical data we have, the better.
After being trained on known data with “disease Yes” or “disease No” data labels, we could feed new medical data without those labels, thus neural network will mark each medical data record for each person if given person supposed to have mentioned disease or not, neural network will set labels “disease Yes” or “disease No” for each new medical data making prediction for disease.
For visual arts.
For visual arts, neural networks might be used in the area of image classification. Having examples of paintings of “artist 1”, we could train neural network to distinguish new unknown paintings, if it belongs to “artist 1” or does not belongs to him.
It might also be used for automatic(computer) art style classification, being trained on paintings of different styles neural network can definitely distinguish “Expressionism” from, say, “Impressionism”. It is obviously not a big deal for human art critic, but can be practically used for some digital art collection for automatic image classification for different art categories.