Have you heard of artificial neural networks before?
You’re probably confused about how they work themselves into machine learning and deep learning.
The last thing you remember about a neural network is one biology class in school…
We get it!
What happened when you were not listening is that data scientists started looking for answers on how to enable machines or computers to learn by themselves!
Getting a machine to perform a particular function is pretty standard. Getting a machine to understand when to perform what function is more complicated than it looks.
Machine learning experts got inspired by neural networks in the brain to model the learning behavior in machines as well.
Let us understand how neural networks work in the human brain to then understand what our scientists were aiming to accomplish!
Neural networks in the Human Brain
The human brain has countless nerve cells or neurons that form the basic structure of the nervous system.
These set of neurons interconnected with each other are what constitutes the neural network in the human body.
The neural network is responsible for carrying instructions and electrical impulses to and from the various senses in the human body.
In short, neural networks are the carriers of most information and line of action in the body.
Neurons create a powerful assembly. They can hold, add up and transport information in more than linear ways.
Now coming to what are neural networks when it comes to machine learning?
Neural networks used in machine learning are called Artificial Neural Networks.
Neural networks are a set of algorithms, structured like the neuron network in the brain, which are responsible to identify patterns. Neural networks learn from data rather than explicit instructions from human programmers.
It is this feature that makes them autonomous and robust when it comes to decision making and problem solving.
Let’s now give you a little background on how artificial neural networks came into being!
It all began in 1949 when a neurophysiologist and a mathematician decided to write a research paper on how neural networks work in the human brain titled “A Logical Calculus of Ideas Immanent in Nervous Activity.”
The two gentlemen, Warren McCulloch and Walter Pitts, are credited with getting the ball rolling for neural networks in the world as we know it.
The idea of artificial neural networks was developed, discussed, debated and discouraged before the theory gained momentum in the 1950s.
Structure of a neural network
An artificial neural network has three components. Let’s discuss what these are and how they help us:
The neurons in an artificial neural network are arranged in layers. Neurons or nodes or units are the basic unit of a neural structure.
They receive inputs from other nodes or external source and compute and output.
Each neuron is assigned a weight depending on its relative importance as compared to other weights. Here are the layers you will typically find in an ANN:
Input neurons form the input layer. Input neurons signify the information or data we are aiming to classify.
If we were to determine incoming emails as spam or regular, our input nodes will be different features of emails like mail recipients, subject line, email body etc.
Hidden layers have neurons that are neither input nor output neurons.
The hidden layers would have neurons to determine what classifies spam mailing too many names in cc or bcc, repeated spelling errors, incorrect grammar, absurd links etc.
There can be more than one hidden layers in an ANN. The number of hidden layers and neurons in a given hidden layer is determined in the beginning of the construction of an ANN. The neurons in the hidden layers have activation function applied to them. The inputs received from the previous layers are processed by the next hidden layer.
The number of hidden layers are dependent on the efficiency of a neural network.
If adding more layers make the output less accurate or plateaus the accuracy, there is no need to add more layers.
The output layer has nodes that process the information received from hidden layers and make them available to the outer world.
That’s how a simple ANN looks like. There are many other levels of sophistication and technicalities added to it which we will discuss in more advanced articles. ANNs have their own strengths and weaknesses. They were built on statistical models and have many improvements as well as shortfalls.
Strengths of an ANN
An artificial neural network has been delivering over and above expectations since it was first introduced.
1. Easy to build
Artificial neural networks are relatively easy to construct with a structure as discussed above.
They are most suitable to solve nonlinear problems. ANNs deal well with clustering, classifying and image recognition problems.
2. Ability to work with incomplete data-sets
ANNs have the ability to work with noisy and cluttered data. Even if the input data is incomplete, the network still works. ANNs are built to extract the information they need for the desired output.
3. Fault tolerance
ANNs can work if one or more neurons do not perform well. This way they have a fault tolerance for the corruption of neurons.
ANNs can perform multiple tasks collaterally without affecting the overall output of the system.
5. Make the most of machine learning
Artificial neural networks can learn simultaneously from input data and make room for changes. They deploy machine learning perfectly to make their system more robust.
Weaknesses of an ANN
The world has moved beyond ANNs. We will discuss that in the upcoming articles but let’s see some shortcomings of ANNs that have surfaced lately:
1. No explanation
ANN’s work on models which are do not provide explanations for the output or process. It becomes hard to trust said networks if there is no explanation for their behavior and in turn, the results.
While ANNs are easy to construct, the time taken from when data is introduced to when the outcomes are generated are really long.
Pre-processing and cleaning the data in the hidden layers also takes up a lot of time. Since neural nets work on large data sets, the time taken to train them is great.
3. Require huge amounts of data
Neural nets require large amounts of data to function optimally.
4. Introducing the problem to the network
ANNs work on numerical data. The problem fed to the system is first translated to numerical values. The instructor’s ability to translate the input affects the outcome quality later on.
Applications of Artificial Neural Networks
Let’s have a look at some of the applications of artificial neural networks in the real world:
1. Image Processing
ANNs are most effective when it comes to image recognition, image classification and image compression.
ANNs learn efficiently to improve detection of certain features or objects from images and replicate that in no time. If a system was to classify cat images from dog images, an ANN could be deployed to extract that information.
Another striking element is image compression. The number of websites on the internet are ever-expanding!
All these websites include multiple images. Image compression comes in handy when you need to compress these images to make your website lighter, easy to load and user-friendly!
2. Handwriting Recognition
Handwriting recognition involves recognition of characters and written texts from documents, images and devices.
Another great application is feature extraction which removes different features from an image to help classify the text. Convolutional neural networks are the more modern approach to handwriting recognition. You can read more about them in our next article.
3. Speech Recognition
The first use of neural networks for speech recognition was in the 1980s when Kohonen’s electronic typewriter made waves. Such applications could not deal with large expanses of speech.
The speech is first converted into digital data and later translated into machine-readable formats by an artificial neural network. You must have seen speech recognition being used extensively by Google!
Forecasting is a major USP for most businesses today.
Right from sales prediction to profit maximization, stock prices prediction to marketing forecasts, artificial neural networks perform amazingly when it comes to predicting outcomes using large amounts of historical data.
Artificial neural networks are one of the many impressive accomplishments of the human mind. While we are lightyears away from replicating a human brain in all its complexities, an ANN is a great start.
If we are able to replicate every neuron of our brain and introduce it to significant data, the machine would be able to process data like humans do. This is what we call cognitive computing.
Cognitive computing uses pattern recognition, data mining and natural language processing, to simulate the human mind. Such cognitive computing devices are sure to pick up a lot of heat in the near future.