Artificial Neural Networks, Neural Networks Applications and Algorithms

Reading Time: 17 Minutes

by  | July 21, 2017 Artificial Neural Networks, Neural Networks Applications and Algorithms

Overview of Neural Networks

Artificial Neural Networks are the computational models inspired by the human brain. Many of the recent advancements have been made in the field of Artificial Intelligence, including Voice Recognition, Image Recognition, Robotics using Artificial Neural Networks.

These biological methods of computing are considered to be the next major advancement in the Computing Industry. 

What is Neural Network? 

The term ‘Neural’ is derived from the human (animal) nervous system’s basic functional unit ‘neuron’ or nerve cells which are present in the brain and other parts of the human (animal) body.

Parts of Neuron and their Functions

The typical nerve cell of human brain comprises of four parts -

Parts of Neuron

Image Source - cs231n.github.io

  • Function of Dendrite

It receives signals from other neurons.

  • Soma (cell body)

It sums all the incoming signals to generate input.

  • Axon Structure

When the sum reaches a threshold value, neuron fires and the signal travels down the axon to the other neurons.

  • Synapses Working

The point of interconnection of one neuron with other neurons. The amount of signal transmitted depend upon the strength (synaptic weights) of the connections.

The connections can be inhibitory (decreasing strength) or excitatory (increasing strength) in nature.

So, neural network, in general, is a highly interconnected network of billions of neuron with trillion of interconnections between them.

Difference Between Computer and Human Brain

Human Brain vs Computer


What is Artificial Neural Network(ANN)?

Artificial Neural Networks are the biologically inspired simulations performed on the computer to perform certain specific tasks like clustering, classification, pattern recognition, etc.

Artificial Neural Networks, in general - is a biologically inspired network of artificial neurons configured to perform specific tasks.

Difference Between Artificial Neural Networks (ANN) and Biological Neural Networks (BNN)

Characteristics

Artificial Neural Network

Biological(Real) Neural Network

Speed

Faster in processing information. Response time is in nanoseconds.

Slower in processing information. The response time is in milliseconds.

Processing

Serial processing.

Massively parallel processing.

Size & Complexity

Less size & complexity. It does not perform complex pattern recognition tasks.

Highly complex and dense network of interconnected neurons containing neurons of the order of 1011 with 1015 of interconnections.<strong

Storage

Information storage is replaceable means new data can be added by deleting an old one.

Highly complex and dense network of interconnected neurons containing neurons of the order of 1011 with 1015 of interconnections.

Fault tolerance

Fault intolerant. Information once corrupted cannot be retrieved in case of failure of the system.

Information storage is adaptable means new information is added by adjusting the interconnection strengths without destroying old information

Control Mechanism

There is a control unit for controlling computing activities

No specific control mechanism external to the computing task.

Similarity of Artificial Neural Networks with Biological Neural Network

Neural Networks resemble the human brain in the following two ways - 

  • A neural network acquires knowledge through learning.

  • A neural network's knowledge is stored within inter-neuron connection strengths known as synaptic weights.

VON NEUMANN ARCHITECTURE BASED COMPUTING

ANN BASED COMPUTING

Serial processing - processing instruction and problem rule one at time (sequential)

Parallel processing - several processors perform simultaneously (multitasking)

Function logically with a set of if & else rules - rule-based approach

Function by learning pattern from given input (image, text or video, etc.)

Programmable by higher level languages such as C, Java, C++, etc.

ANN is in essence program themselves.

Requires either big or error-prone parallel processors

Use of application-specific multi-chips.


Comparison Between Artificial Neural Network (ANN) With Biological Neural Network (BNN)

Artificial Neural Networks vs Biological Neural Networks

The dendrites in the Biological Neural Network are analogous to the weighted inputs based on their synaptic interconnection in the Artificial Neural Network.

The cell body is comparable to the artificial neuron unit in the Artificial Neural Network which also comprises of summation and threshold unit.

Axon carries output that is analogous to the output unit in case of Artificial Neural Network. So, ANN is modeled using the working of basic biological neurons. 

How Does Artificial Neural Network Works?

Working of Artificial Neural Networks

Artificial Neural Networks can be viewed as weighted directed graphs in which artificial neurons are nodes, and directed edges with weights are connections between neuron outputs and neuron inputs.

The Artificial Neural Network receives information from the external world in the form of pattern and image in vector form. These inputs are mathematically designated by the notation x(n) for n number of inputs.

Each input is multiplied by its corresponding weights. Weights are the information used by the neural network to solve a problem. Typically weight represents the strength of the interconnection between neurons inside the Neural Network.

The weighted inputs are all summed up inside computing unit (artificial neuron). In case the weighted sum is zero, bias is added to make the output not- zero or to scale up the system response. Bias has the weight and input always equal to ‘1'.

The sum corresponds to any numerical value ranging from 0 to infinity. To limit the response to arrive at the desired value, the threshold value is set up. For this, the sum is passed through activation function.

The activation function is set to the transfer function used to get the desired output. There are linear as well as the nonlinear activation function.

Some of the commonly used activation function is - binary, sigmoidal (linear) and tan hyperbolic sigmoidal functions(nonlinear).

  • Binary - The output has only two values either 0 and 1. For this, the threshold value is set up. If the net weighted input is greater than 1, an output is assumed one otherwise zero.
  • Sigmoidal Hyperbolic - This function has ‘S’ shaped curve. Here tan hyperbolic function is used to approximate output from net input. The function is defined as - f (x) = (1/1+ exp(-𝝈x)) where 𝝈 - steepness parameter.

You May also Love to Read Overview of Artificial Intelligence & Role of Natural Language Processing in Big Data


Types of Neural Networks in Artificial Intelligence

Parameter

Types

Description

Based on connection pattern

FeedForward, Recurrent

  • Feedforward - In which graphs have no loops.

  • Recurrent - Loops occur because of feedback.

Based on the number of hidden layer

Single layer, Multi-Layer

  • Single Layer - Having one hidden layer. E.g. , Single Perceptron

  • Multilayer - Having multiple hidden layers. Multilayer Perceptron

Based on nature of weights

Fixed, Adaptive

  • Fixed - Weights are fixed a priori and not changed at all.

  • Adaptive - Weights are updated and changed during training.

Based on Memory unit

Static, Dynamic

  • Static - Memoryless unit. The current output depends on the current input. E.g. , Feedforward network

  • Dynamic - Memory unit - The output depends upon the current input as well as the current output. E.g. , Recurrent Neural Network

Neural Network Architecture Types

Architecture Types of Neural Networks

  • Perceptron Model in Neural Networks

Neural Network is having two input units and one output units with no hidden layers. These are also known as ‘single layer perceptrons.

  • Radial Basis Function Neural Network

These networks are similar to the feed-forward Neural Network except radial basis function is used as activation function of these neurons.

  • Multilayer Perceptron Neural Network

These networks use more than one hidden layer of neurons, unlike single layer perceptron. These are also known as Deep Feedforward Neural Networks.

  • Recurrent Neural Network

Type of Neural Network in which hidden layer neurons has self-connections. Recurrent Neural Networks possess memory. At any instance, hidden layer neuron receives activation from the lower layer as well as it previous activation value.

  • Long Short-Term Memory Neural Network (LSTM)

Type of Neural Network in which memory cell is incorporated into hidden layer neurons is called LSTM network.

  • Hopfield Network

A fully interconnected network of neurons in which each neuron is connected to every other neuron. The network is trained with input pattern by setting a value of neurons to the desired pattern. Then its weights are computed. The weights are not changed. Once trained for one or more patterns, the network will converge to the learned patterns. It is different from other Neural Networks.

  • Boltzmann Machine Neural Network

These networks are similar to Hopfield network except some neurons are input, while others are hidden in nature. The weights are initialized randomly and learn through backpropagation algorithm.

  • Convolutional Neural Network

Get a complete overview of Convolutional Neural Networks through our blog Log Analytics with Machine Learning and Deep Learning.

  • Modular Neural Network

It is the combined structure of different types of the neural network like multilayer perceptron, Hopfield Network, Recurrent Neural Network, etc. which are incorporated as a single module into the network to perform independent subtask of whole complete Neural Networks.

  • Physical Neural Network

In this type of Artificial Neural Network, electrically adjustable resistance material is used to emulate the function of synapse instead of software simulations performed in the neural network.

Hardware Architecture for Neural Networks

Two types of methods are used for implementing hardware for Neural Networks.

  • Software simulation in conventional computer

  • Special hardware solution for decreasing execution time.

When Neural Networks are used with a fewer number of processing units and weights, software simulation is performed on the computer directly. E.g. , voice recognition, etc.

When Neural Network Algorithms developed to the point where useful things can be done with 1000's of neurons and 10000's of synapses, high-performance Neural Networks hardware will become essential for practical operation.

E.g., GPU (Graphical processing unit) in the case of Deep learning algorithms in the event of object recognition, image classification, etc.

The performance of implementation is measured by connection per the second number (cps), i.e., the number of the data chunk is transported through the edges of the neural network.

While the performance of the learning algorithm is measured in the connection updates per second (cups)


Learning Techniques in Artificial Neural Networks

Learning Methods in Artificial Neural Networks

The neural network learns by adjusting its weights and bias (threshold) iteratively to yield desired output. These are also called free parameters. For learning to take place, the Neural Network is trained first. The training is performed using a defined set of rules also known as the learning algorithm.

Training Algorithms For Artificial Neural Networks

  • Gradient Descent Algorithm

This is the simplest training algorithm used in case of supervised training model. In case, the actual output is different from target output, the difference or error is find out. The gradient descent algorithm changes the weights of the network in such a manner to minimize this mistake.

  • Back Propagation Algorithm

It is an extension of gradient-based delta learning rule. Here, after finding an error (the difference between desired and target), the error is propagated backward from output layer to the input layer via hidden layer. It is used in case of Multilayer Neural Network.

Learning Data Sets in Artificial Neural Networks

  • Training Data Set

A set of examples used for learning, that is to fit the parameters [i.e., weights] of the network. One approach comprises of one full training cycle on the training set.

  • Validation Set Approach

A set of examples used to tune the parameters [i.e., architecture] of the network. For example to choose the number of hidden units in a Neural Network.

  • Making Test Set

A set of examples used only to assess the performance [generalization] of a fully specified network or to apply successfully in predicting output whose input is known.

Five Algorithms to Train a Neural Network

  • Hebbian learning Rule

  • Self - Organizing Kohonen Rule

  • Hopfield Network Law

  • LMS algorithm (Least Mean Square)

  • Competitive Learning

Artificial Neural Network Architecture

A typical Neural Network contains a large number of artificial neurons called units arranged in a series of layers.

In typical Artificial Neural Network, comprises different layers -

Architecture of Artificial Neural Networks

  • Input layer - It contains those units (Artificial Neurons) which receive input from the outside world on which network will learn, recognize about or otherwise process.

  • Output layer - It contains units that respond to the information about how it's learned any task.

  • Hidden layer - These units are in between input and output layers. The job of hidden layer is to transform the input into something that output unit can use in some way.

Most Neural Networks are fully connected that means to say each hidden neuron is fully linked to every neuron in its previous layer(input) and to the next layer (output) layer.


Learning Techniques in Neural Networks

  • Supervised Learning 

In supervised learning, the training data is input to the network, and the desired output is known weights are adjusted until production yields desired value.

  • Unsupervised Learning 

The input data is used to train the network whose output is known. The network classifies the input data and adjusts the weight by feature extraction in input data.

  • Reinforcement Learning

Here the value of the output is unknown, but the network provides the feedback whether the output is right or wrong. It is Semi-Supervised Learning.

  • Offline Learning

The adjustment of the weight vector and threshold is made only after all the training set is presented to the network. It is also called Batch Learning.

  • Online Learning 

The adjustment of the weight and threshold is made after presenting each training sample to the network.

Learning and Development in Neural Networks

Learning occurs when the weights inside the network get updated after many iterations.

For example - Suppose we have inputs in the form of patterns for two different class of patterns - I & 0 as shown and b -bias and y as the desired output.

Pattern

y

x1

x2

x3

x4

x5

x6

x7

x8

x9

b

I

1

1

1

1

-1

1

-1

1

1

1

1

O

-1

1

1

1

1

-1

1

1

1

1

1

We want to classify input patterns into either pattern ‘I’ & ‘O.'

Following are the steps performed:

  • Nine inputs from x1 - x9 along with bias b (input having weight value 1) is fed to the network for the first pattern.

  • Initially, weights are initialized to zero.

  • Then weights are updated for each neuron using the formulae: Δ wi = xi y for i = 1 to 9 (Hebb’s Rule)

  • Finally, new weights are found using the formulae:

  • wi(new) = wi(old) + Δwi

  • Wi(new) = [111-11-1 1111]

  • The second pattern is input to the network. This time, weights are not initialized to zero. The initial weights used here are the final weights obtained after presenting the first pattern. By doing so, the network

  • The steps from 1 - 4 are repeated for second inputs.

  • The new weights are Wi(new) = [0 0 0 -2 -2 -2 000]

So, these weights correspond to the learning ability of the network to classify the input patterns successfully.


4 Different Techniques of Neural Networks

  • Classification Neural Network

A Neural Network can be trained to classify given pattern or dataset into predefined class. It uses Feedforward Networks.

  • Prediction Neural Network

A Neural Network can be trained to produce outputs that are expected from given input. E.g., - Stock market prediction.

  • Clustering Neural Network

The Neural network can be used to identify a unique feature of the data and classify them into different categories without any prior knowledge of the data.

Following networks are used for clustering -

  • Competitive networks

  • Adaptive Resonance Theory Networks

  • Kohonen Self-Organizing Maps.

  • Association Neural Network

A Neural Network can be trained to remember the particular pattern so that when the noise pattern is presented to the network, the network associates it with the closest one in the memory or discard it. E.g. , Hopfield Networks which performs recognition, classification, and clustering, etc.


Neural Networks for Pattern Recognition

Pattern Recognition in Artificial Neural Networks

Pattern recognition is the study of how machines can observe the environment, learn to distinguish patterns of interest from their background, and make sound and reasonable decisions about the categories of the patterns.

Some examples of the pattern are - fingerprint image, a handwritten word, human face or speech signal.

Given an input pattern, its recognition involves the following task -

  • Supervised classification - Given input pattern is identified as the member of a predefined class.

  • Unsupervised classification - Pattern is assigned to a hitherto unknown class.

So, the recognition problem here is essentially classification or categorized task.

The design of pattern recognition systems usually involve the following three aspects-

  • Data acquisition and preprocessing
  • Data representation
  • Decision Making

Approaches For Pattern Recognition

  • Template Matching

  • Statistical

  • Syntactic Matching

  • Artificial Neural Networks

Following Neural Network architectures used for Pattern Recognition -

  • Multilayer Perceptron

  • Kohonen SOM (Self Organizing Map)

  • Radial Basis Function Network (RBF)


Neural Network for Deep Learning

Following Neural Network, architectures are used in Deep Learning -

  • Feed-forward neural networks

  • Recurrent neural network

  • Multi-layer perceptrons (MLP)

  • Convolutional neural networks

  • Recursive neural networks

  • Deep belief networks

  • Convolutional deep belief networks

  • Self-Organizing Maps

  • Deep Boltzmann machines

  • Stacked de-noising auto-encoders

Neural Networks and Fuzzy Logic

Fuzzy logic refers to the logic developed to express the degree of truthiness by assigning values in between 0 and 1, unlike traditional boolean logic that represents 0 and 1.

Fuzzy logic and Neural networks have one thing in common. They can be used to solve problems of pattern recognition and other which do not involve any mathematical model.

Systems combining both fuzzy logic and neural networks are neuro-fuzzy systems.

These systems (Hybrid) can combine advantages of both neural networks and fuzzy logic to perform in a better way.

Fuzzy logic and Neural Networks have been integrated to use in following applications -

  • Automotive engineering

  • Applicant screening of jobs

  • Control of crane

  • Monitoring of glaucoma

In a hybrid (neuro-fuzzy) model, Neural Networks Learning Algorithms are fused with the fuzzy reasoning of fuzzy logic.

Neural network determines the values of parameters, while if-then rules are handled by fuzzy logic.

Neural Network for Machine Learning

  • Multilayer Perceptron (supervised classification)

  • Back Propagation Network (supervised classification)

  • Hopfield Network (for pattern association)

  • Deep Neural Networks (unsupervised clustering)


Applications of Neural Networks

Neural networks have been successfully applied to the broad spectrum of data-intensive applications, such as:

Application

Architecture / Algorithm

Activation Function

Process modeling and control

Radial Basis Network

Radial Basis

Machine Diagnostics

Multilayer Perceptron

Tan- Sigmoid Function

Portfolio Management

Classification Supervised Algorithm

Tan- Sigmoid Function

Target Recognition

Modular Neural Network

Tan- Sigmoid Function

Medical Diagnosis

Multilayer Perceptron

Tan- Sigmoid Function

Credit Rating

Logistic Discriminant Analysis with ANN, Support Vector Machine

Logistic function

Targeted Marketing

Back Propagation Algorithm

Logistic function

Voice recognition

Multilayer Perceptron, Deep Neural Networks( Convolutional Neural Networks)

Logistic function

Financial Forecasting

Backpropagation Algorithm

Logistic function

Intelligent searching

Deep Neural Network

Logistic function

Fraud detection

Gradient - Descent Algorithm and Least Mean Square (LMS) algorithm.

Logistic function

Advantages of Neural Networks

  • A neural network can perform tasks that a linear program can not.

  • When an element of the neural network fails, it can continue without any problem by their parallel nature.

  • A neural network learns and does not need to be reprogrammed.

  • It can be implemented in any application.

  • It can be performed without any problem.

Limitations of Neural Networks

  • The neural network needs the training to operate.

  • The architecture of a neural network is different from the architecture of microprocessors, therefore, needs to be emulated.

  • Requires high processing time for large neural networks.

Face Recognition Using Artificial Neural Networks

Face recognition entails comparing an image with a database of saved faces to identify the person in that input picture. Face detection mechanism involves dividing images into two parts; one containing targets (faces) and one providing the background.

The associated assignment of face detection has direct relevance to the fact that images need to be analyzed and faces identified, earlier than they can be recognized.

Click here to read the full case study

Learning Rules in Neural Network 

Learning rule is a type of mathematical logic. It encourages a Neural Network to gain from the present conditions and upgrade its efficiency and performance.

Learning procedure of brain modifies its neural structure. The expanding or diminishing quality of its synaptic associations rely upon their activity.

Learning rules in the Neural network:

  • Hebbian learning rule ; It determines, how to customize the weights of nodes of a system.

  • Perceptron learning rule ; Network starts its learning by assigning a random value to each load.

  • Delta learning rule ; Modification in sympatric weight of a node is equal to the multiplication of error and the input.

  • Correlation learning rule ; It is similar to supervised learning.


How Can Don Help You?

Don can help you develop and deploy your model solutions based on Neural Networks. Whatever kind of problem you face - Prediction, Classification or Pattern Recognition - Don has a solution for you. 

Machine Learning Consulting Services

Unlock the real value of your data to make smarter decisions. Embrace Machine Learning Services in your Enterprise to solve complex Business Problems. Don offers Data Cleansing and Extraction Services, Data Modeling Services, and Algorithm Development.

Fraud Detection & Prevention Services

Don Fraud Detection Services offers real-time fraud analysis to increase profitability. Data Mining is used to quickly detect frauds and search for spot patterns and detect fraudulent transactions. Data Mining Tools like Machine Learning, Neural Networks, Cluster Analysis are used to generate Predictive Models to prevent fraud losses. 

Data Modeling Services

Don offers Data Modelling using Neural Networks, Machine Learning, and Deep Learning. Data Modelling services help Enterprises to create a conceptual model based on the analysis of data objects. Deploy your Data Models on leading Cloud Service Providers like Google Cloud, Microsoft Azure, AWS or on continer environment - Kubernetes & Docker.