Quick 'voice search'? - Stay Ahead with Artificial Neural Networks (ANNs)!
by Dr. Ashutosh Kumar Pandey, on May 24, 2019 5:47:20 PM
Estimated reading time: 4 mins
Till a few years ago, help features that were accessed by using the F1 key on the keyboard were the life support of tedious and complicated software applications. As businesses move into the fast lane with time being a major constraint, the clichéd click-based directions provided by help files have become passé. Today, voice-based searches and voice-activated assistance (for example: Alexa) have become the new normal. These appendages are powered by technologies such as Artificial Intelligence (AI) / Machine Learning (ML).
Similarly, as data proliferation increases, it becomes highly important to seek out smarter ways of data analysis for continued progress to keep pace with the fast movers in the industry. In recent years, ML has emerged as the vital solution to search and analyze humongous amounts of data for deriving quick, actionable insights. Artificial Neural Networks (ANNs) have also proved to be a breakthrough in this area.
What is an ANN?
ML algorithms enable machines to become intelligent. It helps machines to recognize patterns, construct prediction models, or classify images or videos through self-learning to aid faster search and retrieval. ML algorithms can be implemented using a wide variety of methods such as decision trees, random forest, clustering, neural network, and more. Artificial Neural Networks (ANNs) come under Deep Learning, which in nothing but ML, and ML is a subfield of AI.
To put it simply, ANNs are mathematical models that are inspired by the way in which biological neural networks in the human brain process the information. ANNs are capable of self-learning as well as pattern recognition. They are generally presented as systems of highly interconnected "neurons", which can compute values from inputs.
The input and output of the ANN can be compared to dendrites and axons while weight multiplication can be compared to the synapses of a biological neural network.
Working of ANN in a Complex Business Environment:
In real-world business problems, we usually have some collected data, i.e. a knowledge base, upon which we need to train algorithms and create a model for predictions, classification, or any other processing. Based on behavior during the training and the nature of knowledge base, the learning is divided into three classes:
- Unsupervised Learning – Knowledge base contains only inputs. The network attempts to identify similar inputs and put them into categories.
- Reinforcement Learning – Knowledge base contains inputs, but the network is also provided with additional pieces of information during the training.
- Supervised Learning – Knowledge base contains inputs and desired outputs. In this way, the network can check if its calculated output is the same as desired output and take appropriate actions based on that.
Supervised Learning is the most commonly used form of ANN. Here, we have a knowledge base that contains a vector of input values and a vector of desired output values. Once the network calculates the output for one of the inputs, the cost function (for example: mean squared error function) calculates the error vector. This error indicates how close the guess is to the desired output. Now, this error is sent back to the neural network, and weights are modified accordingly. This process is called Backpropagation. It is an advanced mathematical algorithm, using which the ANN adjusts all weights at once.
The entire point of training is to set the correct values to the weights, in order to get the desired output in the neural network. This is required to make the value of the error vector as small as possible, i.e. to find a global minimum of the cost function. For this purpose, we use technique called gradient descent.
Real-time usage of ANNs:
Some common types of neural networks include Recurrent Networks, Long Short Term Memory, Hopfield Networks, Restricted Boltzmann Machine, Convolutional Neural Networks, Sequence-to-Sequence Models, and Generative Adversarial Networks (GANs).
Together, these are used in real-time business applications as given below:
- Voice search and voice-activated assistants; for example: Alexa
- Time series prediction and modelling
- Classification, pattern and sequence recognition, pattern detection, and sequential decision making
- Data processing, including filtering, clustering, blind signal separation and compression
- Search engine design
- Automatic translation of documents
- Many security applications, for example: access control, which use face recognition as one of its components
- Translation between two languages
- Facial recognition by the systems that learn about features, which are relevant for identifying a person
- Image recognition to help recognize people and objects in images as well as understanding context and content; for example: Social Media, Tourism, and Retail
- Image caption generation that helps to describe the contents of an image
- The problem of identifying entities, such as places, titles, names, actions, etc. from documents
- Speech recognition
- Direct marketing (companies use past purchase behavior to guesstimate whether you might be willing to purchase even more)
- Automatic coloration of black and white images
- Futures Market Trading, which helps in trading in financial instruments and commodities
An efficient ANN architecture can be used to solve complex non-linear business problems as mentioned above instead of defining functions with high degree polynomials, which may lead to over fitting. Parallel processing of humongous data using ANNs expedites analysis and saves time, effort, and money as compared to other conventional approaches. This is quite the principle used in quickly responding to voice searches.