Neural Network: What Is It and How Does It Work? | by Dan Fedirko | Elligense | Tech in elearning and ecommerce
Everybody is talking about artificial intelligence nowadays and if you have read something about it, you’ve probably noticed a term “neural network”, as they go hand in hand. So what is an artificial neural network (ANN)? Instead of diving into complex technical details, we want to provide you with an easy-to-consume introduction to this astonishing part of machine learning.
“Artificial Neural Networks (ANN) or connectionist systems are computing systems vaguely inspired by the biological neural networks that constitute animal brains. The neural network itself is not an algorithm, but rather a framework for many different machine learning algorithms to work together and process complex data inputs. Such systems “learn” to perform tasks by considering examples, generally without being programmed with any task-specific rules.
An ANN is based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit a signal from one artificial neuron to another. An artificial neuron that receives a signal can process it and then signal additional artificial neurons connected to it.”
— Wikipedia
You can think of neural networks as a sorting and clustering layer on top of the data. They help to classify unmarked data by comparing them with example inputs, and they match data when they have a marked dataset to train on.
Imagine a factory line to understand how a neural network works on a basic level. Let’s assume the data set as raw materials, they are input that is then moved down the band conveyor, with each following step extracting information about input features. For example, if we input an image and the network has to identify an object on it, the first layer might analyze the color of pixels.
The next layers can then identify separate fields of pixels of the same color. After this, another layer may identify shapes and texture, and so on. By the end of the “conveyor line”, the neural network will have several feature detectors that work together and can recognize individual objects on the image such as “car” or “dog”.
After this process of learning, a developer can label the output and give the neural network another input to train. On the first stages, a developer will watch the network and tweak it if it does mistakes. After a few iterations, the network will work without any human interference and enhance with each new input as it remembers a previous experience.
Moreover, there are several types of learning, such as:
In each of these, the network learns automatically by trying to improve its success score.
There are several main types of neural networks, each of them is used in specific moments and has different levels of complexity:
- Feedforward neural network, the most basic type of neural net. Here information travels from input to output only.
- Recurrent neural network is a more widely used type, in which data can pass in both directions. These neural networks have better learning abilities.
- Convolutional neural networks are like the previous one but understand an input type beforehand, for example, that inputs are images. These vastly reduce the number of parameters in the network and make the forward function more practical to implement.
- Hopfield networks work as associative memory systems and present a model for understanding human memory.
- Boltzmann machine networks is a stochastic version of Hopfield networks but are rarely practically used.
There is also a vast variety of other types. To pick the right neural network you need to keep in mind the time you want to train your network in and which problem should it solve. Sometimes, there is a need to use multiple methods, for example, in such challenging cases as voice recognition.
The training starts with feeding a network with a large amount of data. When the input is provided, the network is told what the output should be. For example, to build a network to identify cars, initial training might be a set of images of cars, car brand signs, bicycles, toy cars, etc. Each input is identified by matching parameter such as “car brand name”, “not a car”.
Giving the answers to a network helps it to adjust its internal weightings to learn how to perform better. Same as humans, neural networks get more efficient over time and make fewer mistakes by repeating the same task over and over again and later it can easily detect a specific model of Honda on any photo given.
Artificial neural networks can be used to cluster data, classify information or predict results.
The most popular use cases are:
- Chatbots
- Stock market prediction
- Natural language processing and translation
- Driver route planning and optimization
- Documents sorting and analysis
There is a 30-layered neural network that powers Google Photos and Facebook uses artificial neural networks for its DeepFace algorithm, which can recognize faces on photos. Skype’s real-time translation also works with the help of ANN.
These are just a few cases of how a neural network can be implemented. Mostly it is used, when there are strict patterns or rules and large amounts of data that human can’t process.