The article’s title mentions artificial intellect (AI). It’s AI that a huge number of IT works is based upon. Our app is not an exception.
AI is a certain set of special mathematical and computational algorithms which are implemented and operating in the computer. Such ‘intellectual systems’ perform functions which were traditionally regarded as a prerogative of humans. A computer, thanks to its specialization, can evaluate and analyze a data array and make a certain independent decision by a method similar to the human way of thinking. To make it possible the computer is taught and trained in a special way. The first and most developed method of using AI to date is the image identification, also known as ‘computer vision.’ How does it work? The system is shown a random image, AI processes it and delivers requested information. For instance, it is able to recognize what object or person is depicted. Even now most contemporary apps or services that work with pictures know how to classify the images according to the content (sea, forest, a street in an old town, and the like), and how to identify who of your friends or relatives is in the picture. Needless to say, this ability of AI can apply to other spheres of life - it can recognize road signs, identify and reject substandard products, etc. Or, as is our case, identify mushrooms.
The ability to identify images is based on a neural network, which is, in fact, a brain’s mathematical analogue simulating the work of billions of neurons. But there is a significant difference between them. The natural intellect (i.e. a human) is capable of solving universal tasks. Not only can it quickly identify what it sees but it's also able to make a decision as to how to react to what it sees: eat it, throw it out, run away, etc. While the artificial intellect (a machine) is specialized, meaning its task is strictly limited to the exact task. If it is trained to identify only faces, then all trees, buildings and other objects will be unidentifiable to it. This specialization allows AI to surpass the human brain (at least, the brain of an average person) in implementing certain tasks. For example, it will take AI by far less time to classify tens of thousands of pictures than it would take a human to just look through them. Or it will take AI just seconds to go through a mass of patients’ detailed test reports to identify their potential diseases, while a doctor will have to spend a lot of time and make exhaustive efforts to do this.
To impart a neural network with this specialized effectiveness, we must teach it specific skills, just like we teach a child to count or put together a puzzle. The process is as follows. The untrained (empty) neural network is ‘shown’ input data, which allows the network to make a guess, for example, whether it is a mushroom or not. After that the ‘teacher’ gives the network a correct answer, and, in response, the network slightly ‘changes’ inside itself. Then the lesson is repeated using some new material. At the beginning of the process the neural network makes predictable mistakes since it has not acquired any knowledge as yet. But after an adequate number of lessons its answers become increasingly more meaningful and correct. All depends on the complexity of the task. It may take tens of millions of such lessons to teach the network a certain task, but, then, you can use it to carry out applied tasks with a high level of correct answers.
Needless to say, the above is just a simplified description of creating and training neural networks. A truly ‘good’ AI requires many other important components, like the network configuration, control of retraining risks. All of these, including the number of ‘lessons’, and the quality of ‘teaching materials’ can have a critical impact on the result. That’s why any two neural networks (like two different people) trained to solve one and the same task will behave in an absolutely different way. One can be unpredictable and dangerous, the other will be precise but cautious in its evaluations.