Over the past year there were a lot of news about various developments based upon neural networks.
Microsoft created how-old.net service, that quite accurately estimates your ages, and also developed their Fetch! project that allows to determine a breed of your dog on the basis of its photo. It is also worth remembering MSQRD startup, acquired by Facebook and incredible launch of Prisma App that had 20 millions installs within 1 month from launch.
I wrote about how Prisma works in my last post, take a look if you are interested in the topic.
Photo processed by Prisma
So, let's figure out what are neural networks and which tasks they can solve?
Neural networks are one of the trends in the development of artificial intelligence systems. The idea behind this concept is similar to human nervous system — namely, its ability to learn and to correct errors. The main feature of any neural network — it’s capability to act on the basis of previous experience, making fewer mistakes over time.
Neural network simulates not only the activity but also structure of the human nervous system. Network consists of a large number of individual computing elements ("neurons"). In most cases, each "neuron" refers to a specific layer of the network. Input data are sequentially processed at all the layers. Network knows parameters of each "neuron" and the order of the whole system that can be changed depending on the results obtained in the previous datasets. Difference between neural networks and other machine learning algorithms lies in the approach to training but basically they can solve the same problems.
Forecasting, decision making, pattern recognition, optimization and data analysis are among the main applications of neural networks. Most of major IT companies use them to make their services more useful and to create natural reaction to users behavior. Neural networks are the basis of many image recognition and speech synthesis systems. They are used in some navigation systems, algorithms of industrial robots or unmanned vehicles. Algorithms based on neural networks also protect information systems from malicious attacks and help to identify illegal internet content.”
Prisma in action
Here are trends of machine learning algorithms development that IMO will change our life within next 3 years:
- Classification and recognition of objects in images
- The emergence of bots-consultants, technical support or personal assistants
- Development of voice interaction interfaces for the Internet of things
- Quality monitoring service in call-centers Intelligent
- Monitoring and security systems video Analytics services
- Services that allow to find any person on internet upon its photo
- Intelligent self-learning systems for production processes and devices management
- Simultaneous interpreter bots for conferences and personal use (no language barriers anymore)
- Image processing for photo effects and art filters
Classification of objects using machine learning. Image source
Why neural networks have become so popular just now?
Scientists are developing artificial neural networks for more than 70 years. The first attempt to formalize a neural network refers to 1943, when two American scientists Warren McCulloch and Walter Pitts) submitted an article about the logical basis of human ideas and nerve activity.
Until recently the speed of the neural networks was too low to be widely disseminated, and therefore, these systems were mainly used in the development of computer vision algorithms and other learning algorithms were used in different areas.
Most importantly, what happened now — appeared variety of tricks to make neural networks much less prone to retraining.
Modern graphics cards allow hundreds times faster train and usage of neural networks. Now there is a large and public array of marked images (ImageNet), that can be used as training data.
Nowadays pre-trained off-the-shelf network can be easily found, on the basis of which you can make your own application without doing a long training phase of the neural network. All these factors ensure the application of the neural networks in various fields.