Google News
Neural Networks Interview Questions
Neural networks, also known as Artificial neural networks (ANNs) or simulated neural networks (SNNs), are a subset of machine learning and are at the heart of deep learning algorithms. Their name and structure are inspired by the human brain, mimicking the way that biological neurons signal to one another.
Artificial neural networks (ANNs) are comprised of a node layers, containing an input layer, one or more hidden layers, and an output layer. Each node, or artificial neuron, connects to another and has an associated weight and threshold. If the output of any individual node is above the specified threshold value, that node is activated, sending data to the next layer of the network. Otherwise, no data is passed along to the next layer of the network.
Neural Networks
Neural networks rely on training data to learn and improve their accuracy over time. However, once these learning algorithms are fine-tuned for accuracy, they are powerful tools in computer science and artificial intelligence, allowing us to classify and cluster data at a high velocity. Tasks in speech recognition or image recognition can take minutes versus hours when compared to the manual identification by human experts. One of the most well-known neural networks is Google’s search algorithm.
Think of each individual node as its own linear regression model, composed of input data, weights, a bias (or threshold), and an output. The formula would look something like this:

Once an input layer is determined, weights are assigned. These weights help determine the importance of any given variable, with larger ones contributing more significantly to the output compared to other inputs. All inputs are then multiplied by their respective weights and then summed. Afterward, the output is passed through an activation function, which determines the output. If that output exceeds a given threshold, it “fires” (or activates) the node, passing data to the next layer in the network. This results in the output of one node becoming in the input of the next node. This process of passing data from one layer to the next layer defines this neural network as a feedforward network.
Neural networks can be classified into different types, which are used for different purposes. While this isn’t a comprehensive list of types, the below would be representative of the most common types of neural networks that you’ll come across for its common use cases:
The perceptron is the oldest neural network, created by Frank Rosenblatt in 1958. It has a single neuron and is the simplest form of a neural network:
Types of neural networks
Feedforward neural networks, or multi-layer perceptrons (MLPs), are what we’ve primarily been focusing on within this article. They are comprised of an input layer, a hidden layer or layers, and an output layer. While these neural networks are also commonly referred to as MLPs, it’s important to note that they are actually comprised of sigmoid neurons, not perceptrons, as most real-world problems are nonlinear. Data usually is fed into these models to train them, and they are the foundation for computer vision, natural language processing, and other neural networks.
Convolutional neural networks (CNNs) are similar to feedforward networks, but they’re usually utilized for image recognition, pattern recognition, and/or computer vision. These networks harness principles from linear algebra, particularly matrix multiplication, to identify patterns within an image.
Recurrent neural networks (RNNs) are identified by their feedback loops. These learning algorithms are primarily leveraged when using time-series data to make predictions about future outcomes, such as stock market predictions or sales forecasting.
Now that we have talked about Neural Networks and Deep Learning Systems, we can move forward and see how they differ from each other!

Definition A neural network is a model of neurons inspired by the human brain. It is made up of many neurons that at inter-connected with each other. Deep learning neural networks are distinguished from neural networks on the basis of their depth or number of hidden layers.

Feed Forward Neural Networks

Recurrent Neural Networks

Symmetrically Connected Neural Networks

Recursive Neural Networks

Unsupervised Pre-trained Networks

Convolutional Neural Networks



Connection and weights

Propagation function

Learning rate





Time & Accuracy

It generally takes less time to train them.

They have a lower accuracy than Deep Learning Systems

It generally takes more time to train them.

They have a higher accuracy than Deep Learning Systems

* Feedforward Neural Networks – This is the most common type of neural network architecture, with the first layer being the input layer and the last layer being the output layer. All middle layers are hidden layers.

* Recurrent Neural Network – This network architecture is a series of ANNs in which connections between nodes form a directed graph along a temporal sequence. Therefore, this type of network exhibits dynamic behavior over time.

* Symmetrically Connected Neural Networks – These are similar to recurrent neural networks, with the only difference being that the connections between units are symmetric in symmetrically connected neural networks (i.e. same weight n both directions).
A neural network has the following components
* Neurons – A neuron is a mathematical function that attempts to mimic the behavior of a biological neuron. It calculates the weighted average of the data supplied and then sends the data through a nonlinear function, called the logistic function.

* Connections and weights – Connections link a neuron in one layer to another neuron in the same layer or another layer, as the name implies. A weight value is assigned to each connection. The strength of the relationship between the units is represented by a weight. The goal is to lower the weight number in order to diminish the chances of losing weight (error).

* Propagation – In a Neural Network, there are two propagation functions: forward propagation, which produces the “predicted value,” and backward propagation, which delivers the “error value.”

* Learning Rate – Gradient Descent is used to train neural networks. At each iteration, the derivative of the loss function is calculated in reference to each weight value using back-propagation and then subtracted from that weight. The learning rate determines how quickly or slowly the weight values of the model are updated.
To understand the concept of the architecture of an artificial neural network, we have to understand what a neural network consists of. In order to define a neural network that consists of a large number of artificial neurons, which are termed units arranged in a sequence of layers. Lets us look at various types of layers available in an artificial neural network.
Artificial Neural Network primarily consists of three layers:

Input Layer : As the name suggests, it accepts inputs in several different formats provided by the programmer.
Hidden Layer : The hidden layer presents in-between input and output layers. It performs all the calculations to find hidden features and patterns.
Output Layer : The input goes through a series of transformations using the hidden layer, which finally results in output that is conveyed using this layer.
The artificial neural network takes input and computes the weighted sum of the inputs and includes a bias. This computation is represented in the form of a transfer function.
It determines weighted total is passed as an input to an activation function to produce the output. Activation functions choose whether a node should fire or not. Only those who are fired make it to the output layer. There are distinctive activation functions available that can be applied upon the sort of task we are performing.
Parallel processing capability : Artificial neural networks have a numerical value that can perform more than one task simultaneously.
Storing data on the entire network : Data that is used in traditional programming is stored on the whole network, not on a database. The disappearance of a couple of pieces of data in one place doesn't prevent the network from working.
Capability to work with incomplete knowledge : After ANN training, the information may produce output even with inadequate data. The loss of performance here relies upon the significance of missing data.
Having a memory distribution : For ANN is to be able to adapt, it is important to determine the examples and to encourage the network according to the desired output by demonstrating these examples to the network. The succession of the network is directly proportional to the chosen instances, and if the event can't appear to the network in all its aspects, it can produce false output.
Having fault tolerance : Extortion of one or more cells of ANN does not prohibit it from generating output, and this feature makes the network fault-tolerance.
Assurance of proper network structure :  There is no particular guideline for determining the structure of artificial neural networks. The appropriate network structure is accomplished through experience, trial, and error.
Unrecognized behavior of the network : It is the most significant issue of ANN. When ANN produces a testing solution, it does not provide insight concerning why and how. It decreases trust in the network.
Hardware dependence : Artificial neural networks need processors with parallel processing power, as per their structure. Therefore, the realization of the equipment is dependent.
Difficulty of showing the issue to the network : ANNs can work with numerical data. Problems must be converted into numerical values before being introduced to ANN. The presentation mechanism to be resolved here will directly impact the performance of the network. It relies on the user's abilities.
The duration of the network is unknown : The network is reduced to a specific value of the error, and this value does not give us optimum results.
* Artificial neural networks are modelled from biological neurons.
* The connections of the biological neuron are modeled as weights.
* A positive weight reflects an excitatory connection, while negative values mean inhibitory connections.
* All inputs are modified by a weight and summed. This activity is referred to as a linear combination.
* Finally, an activation function controls the amplitude of the output. For example, an acceptable range of output is usually between 0 and 1, or it could be −1 and 1.

Neural Networks modelled
Artificial Neural Network can be best represented as a weighted directed graph, where the artificial neurons form the nodes. The association between the neurons outputs and neuron inputs can be viewed as the directed edges with weights. The Artificial Neural Network receives the input signal from the external source in the form of a pattern and image in the form of a vector. These inputs are then mathematically assigned by the notations x(n) for every n number of inputs.
artificial neural networks work
Afterward, each of the input is multiplied by its corresponding weights ( these weights are the details utilized by the artificial neural networks to solve a specific problem ). In general terms, these weights normally represent the strength of the interconnection between neurons inside the artificial neural network. All the weighted inputs are summarized inside the computing unit.
Some of the commonly used sets of activation functions are the Binary, linear, and Tan hyperbolic sigmoidal activation functions. Let us take a look at each of them in details:
Binary : In binary activation function, the output is either a one or a 0. Here, to accomplish this, there is a threshold value set up. If the net weighted input of neurons is more than 1, then the final output of the activation function is returned as one or else the output is returned as 0.
Sigmoidal Hyperbolic : The Sigmoidal Hyperbola function is generally seen as an "S" shaped curve. Here the tan hyperbolic function is used to approximate output from the actual net input. The function is defined as:
F(x) = (1/1 + exp(-????x))
Where ???? is considered the Steepness parameter.
Types of Artificial Neural Network : There are various types of Artificial Neural Networks (ANN) depending upon the human brain neuron and network functions, an artificial neural network similarly performs tasks. The majority of the artificial neural networks will have some similarities with a more complex biological partner and are very effective at their expected tasks. For example, segmentation or classification.
Feedback ANN : In this type of ANN, the output returns into the network to accomplish the best-evolved results internally. As per the University of Massachusetts, Lowell Centre for Atmospheric Research. The feedback networks feed information back into itself and are well suited to solve optimization issues. The Internal system error corrections utilize feedback ANNs.
Feed-Forward ANN : A feed-forward network is a basic neural network comprising of an input layer, an output layer, and at least one layer of a neuron. Through assessment of its output by reviewing its input, the intensity of the network can be noticed based on group behavior of the associated neurons, and the output is decided. The primary advantage of this network is that it figures out how to evaluate and recognize input patterns.

Source : Javatpoint
* Neural Networks are used in unsupervised learning to learn better representations of the input data.

* Neural networks can learn a mapping from document to real-valued vector in such a way that resulting vectors are similar for documents with similar content. This can be achieved using autoencoders which is a model that is trained to reconstruct the original vector from a smaller representation with reconstruction error as a cost function.

* There are neural networks that are specifically designed for clustering as well. The most widely known is the self-organizing maps (SOM).
* The neural networks get the optimal weights and bias values through an Error Gradient.
* To decide whether to increase or decrease the current weights and bias, it needs to be compared to the optimal value.
* The gradient value is calculated from a selected algorithm called backpropagation.
* An optimization algorithm utilizes the gradient to improve the weight values and bias.

weight values and bias
Simple difference is that the Artificial Neural Networks can learn by examples contrary to Normal Computers who perform the task on Algorithms. Although, the examples given to Artificial Neural Networks should be carefully chosen. Once properly “taught” Artificial Neural Networks can  do on their own,,,or at least try to imitate..But that makes them so Unpredictable , which is opposite to that of algorithm based computers which we use in our daily life.
In the brain, a typical neuron collect signals from others through a host of fine structures called dendrites. The neuron sends out spikes of electrical activity through the axon (the out put and conducting structure) which can split into thousands of branches. At the end of each branch, a synapse converts the activity from the axon into electrical effects that inhibit or excite activity on the contacted (target) neuron. When a neuron receives excitatory input that is sufficiently large compared with its inhibitory input, it sends a spike of electrical activity (an action potential) down its axon.
Learning occurs by changing the effectiveness of the synapses so that the influence of one neuron on another changes.
These general properties of neurons can be abstracted in order to study the dynamical behavior of large ensembles of neuronal cells. Thus there have been many interesting attempts to mimic the brains learning processes by creating networks of artificial neurons.
This approach consist in deducing the essential features of neurons and their interconnections and then, programming a computer to simulate these features.

human brain works in neural network
Artificial neural networks are typically composed of inter connected units which serve as model neurons.
The synapse is modeled by a modifiable weight associated with each particular connection. Most artificial networks do not reflect the detailed geometry of the dendrites and axons, and they express the electrical output of a neuron as a single number that represents the rate of firing.
Each unit converts the pattern of incoming activities that it receives into a single outgoing activity that it sends to other units. This conversion is performed in two steps :
* First, it multiplies each incoming activity by the weight on the connection and adds together all these weighted inputs to get a total input.
Neural Network

* Second, the unit uses an input output function that transform the total input into an outgoing activity.
Neural Network

The global behavior of an artificial neural network depends on both the weight and the input- output function that is specified for the unit. This function typically falls into one of three categories: linear, threshold or sigmoid. For linear units, the output activity is proportional to the total weighted input- For threshold units the output is set at one of two levels, depending on whether the total input is greater than, or less than some threshold value. In sigmoid units, the output varies continuously but not linearly as the input changes. Sigmoid units bear a greater resemblance to real neurons than linear or threshold units.
For a neural network to perform a specific task the connection between units must be specified an the weights on the connections must be set appropriately. The connections determine whether it is possible for one unit to influence another. The weights specify the strength of the influence.

Source : Unam
This is a two paradigm process :
Associative Mapping :   Here the network produces a pattern output by working in a pattern on the given input.

Regularity Detection :  In this, units learn to respond to particular properties of the input patterns. Whereas in associative mapping the network stores the relationships among patterns, in regularity detection the response of each unit has a particular ‘meaning’. This type of learning mechanism is essential for feature discovery and knowledge representation.
There are many many kinds of NNs by now. Nobody knows exactly how many. New ones (or at least variations of old ones) are invented every week. Below is a collection of some of the most well known methods, not claiming to be complete.
The two main kinds of learning algorithms are supervised and unsupervised.
In supervised learning, the correct results (target values, desired outputs) are known and are given to the NN during training so that the NN can adjust its weights to try match its outputs to the target values. After training, the NN is tested by giving it only input values, not target values, and seeing how close it comes to outputting the correct target values.

In unsupervised learning, the NN is not provided with the correct results during training. Unsupervised NNs usually perform some kind of data compression, such as dimensionality reduction or clustering.
Forward Propagation
In terms of Neural Network, forward propagation is important and it will help to decide whether assigned weights are good to learn for the given problem statement. There are two major steps performed in forward propagation techically:
* Sum the product : It means multiplying weight vector with the given input vector. And, then it keeps going on till the final layer where we make the decision.

* Pass the the sum through activation function :
Sum of product of weight and input vector is passed in every layer to give you the output layer. And, then output of 1 layer becomes input of next layer to be multiplied with weight vector in that layer. And, this process goes on till the output layer activation function.
Backward Propagation
In machine learning, backward propagation is one of the important algorithms for training the feed forward network. Once we have passed through forward network, we get predicted output to compare with target output. Based on this, we understood that we can calculated the total loss and say whether model is good to go or not. If not, we make use of loss value to recalculate weights again for forward pass. And, these weight re-calculation process is made simple and efficient using back-propagation.

Backward Propagation
After the forward pass and cost calculation (error/loss), Backpropagation takes place to get the delta. For calculating delta, it applies partial derivative and it starts from output to the last layer. And, once delta is calculated for the last layer, below formula is applied to get the new weight.
new weight = old weight - delta * learning rate
Here learning rate can be any assumed value between 0 and 1. Once new weight is calculated for the last layer, this process moves on to the previous hidden layer to calculate delta and new weight. This makes use of chain rule to get the delta for the hidden layer as we can see the image attached below. Formula in red is showing the direct formula via chain rule and partial derivative.

Backward Propagation

Source : Medium
The initialization step can be critical to the model's performance, and it requires the right method.
* Initializing the weights to zero leads the network to learn zero output which makes the network not learn anything.
* Initializing the weights to be too large causes the network to experience exploding gradients.
* Initializing the weights to be too small causes the network to experience vanishing gradients.

To find the perfect initialization, there are a few rules of thumb to follow :
* The mean of activations should be zero.
* The variance of activations should stay the same across every layer.

View More : Deeplearning
A vector of values presented at one time to all the input units of a neural network is called a "case", "example", "pattern, "sample", etc. The term "case" will be used in this FAQ because it is widely recognized, unambiguous, and requires less typing than the other terms. A case may include not only input values, but also target values and possibly other information.
A vector of values presented at different times to a single input unit is often called an "input variable" or "feature". To a statistician, it is a "predictor", "regressor", "covariate", "independent variable", "explanatory variable", etc. A vector of target values associated with a given output unit of the network during training will be called a "target variable" in this FAQ. To a statistician, it is usually a "response" or "dependent variable".
There is considerable overlap between the fields of neural networks and statistics. Statistics is concerned with data analysis. In neural network terminology, statistical inference means learning to generalize from noisy data. Some neural networks are not concerned with data analysis (e.g., those intended to model biological systems) and therefore have little to do with statistics. Some neural networks do not learn (e.g., Hopfield nets) and therefore have little to do with statistics.

Some neural networks can learn successfully only from noise-free data (e.g., ART or the perceptron rule) and therefore would not be considered statistical methods. But most neural networks that can learn to generalize effectively from noisy data are similar or identical to statistical methods. For example:
* Feedforward nets with no hidden layer (including functional-link neural nets and higher-order neural nets) are basically generalized linear models.
* Feedforward nets with one hidden layer are closely related to projection pursuit regression.
* Probabilistic neural nets are identical to kernel discriminant analysis.
* Kohonen nets for adaptive vector quantization are very similar to k-means cluster analysis.
* Kohonen self-organizing maps are discrete approximations to principal curves and surfaces.
* Hebbian learning is closely related to principal component analysis.
* Convolutional neural networks (CNN) is mostly used in image classification but it can also be used for NLP.
* For NLP tasks the sentences are represented as matrices. The row of the matrix consists of a token (or a character).
* The filters of the CNN can be made to slide over the row of the matrix.
* The height may vary, but sliding the windows over 2-5 words is typical.
Convolutional Neural Networks
* A very strong correlation between the new feature and an existing feature is a fairly good sign that the new feature provides little new information. A low correlation between the new feature and existing features is likely preferable.
* A strong linear correlation between the new feature and the predicted variable is an good sign that a new feature will be valuable, but the absence of a high correlation is not necessary a sign of a poor feature, because neural networks are not restricted to linear combinations of variables.
* If the new feature was manually constructed from a combination of existing features, consider leaving it out. The beauty of neural networks is that little feature engineering and preprocessing is required -- features are instead learned by intermediate layers. Whenever possible, prefer learning features to engineering them.
* A multilayer perceptron is a type of neural network which has many layers of perceptron stacked on top of each other.

* Mathematically, multilayer perceptron are capable of learning any mapping function and have been proven to be a universal approximation algorithm.

* Single layer perceptron only learn linear patterns, while multilayer perceptron can learn complex relationships. This predictive capability comes from the multi-layered structure of the network, so that the features can be combined into higher-order features.

Multilayer Perceptron over a Single-layer Perceptron

Neural networks require too much data to train. A classification network may require thousands of examples in a single class for it to identify it in unseen data. Due to this, sometimes it is not feasible to create ANN models for fringe applications.

Neural networks are not interpretable. The user needs to input data into the network and it outputs the required output, but the work that goes into processing the input and giving an output is not understandable to human beings.

The power required to train the neural network is extremely high compared to the amount of power that a human brain uses (around 20 Watts) to do almost the same things such as image classification.
Parametric : SVM and neural networks are both parametric but for different reasons.
* For SVM the typical parameters are; soft-margin parameter (C), parameter of the kernel function (gamma).
* Neural networks also have parameters but it is a lot more than SVM. Some NN parameters are the number of layers and their size, number of training epochs, and the learning rate.

Embedding Non-Linearity : Both the methods can embed non-linear functions.
* SVM does this through the usage of kernel method.
* Neural Networks embed non-linearity using non-linear activation functions.

Comparable Accuracy :
* If both SVM and Neural Networks are trained in the same dataset, given the same training time, and the same computation power they have comparable accuracy.
* If neural networks are given as much computation power and training time as possible then it outperforms SVMs.
Recurrent Neural Networks(RNN) : 
* RNNs are ideal for solving problems where the sequence is more important than the individual items themselves.
* An RNNs is essentially a fully connected neural network that contains a refactoring of some of its layers into a loop. That loop is typically an iteration over the addition or concatenation of two inputs, a matrix multiplication and a non-linear function.

Natural Language Processing(NLP) :
* Natural Language Processing (NLP) is a sub-field of computer science and artificial intelligence, dealing with processing and generating natural language data. Although there is still research that is outside of the machine learning, most NLP is now based on language models produced by machine learning.
* NLP is a good use case for RNNs and is used in the article to explain how RNNs can be constructed.

Source : Towardsdatascience
Biological Neurons Artificial Neurons
Major components: Axions, Dendrites, Synapse Major Components: Nodes, Inputs, Outputs, Weights, Bias
Information from other neurons, in the form of electrical impulses, enters the dendrites at connection points called synapses. The information flows from the dendrites to the cell where it is processed. The output signal, a train of impulses, is then sent down the axon to the synapse of other neurons. The arrangements and connections of the neurons made up the network and have three layers. The first layer is called the input layer and is the only layer exposed to external signals. The input layer transmits signals to the neurons in the next layer, which is called a hidden layer. The hidden layer extracts relevant features or patterns from the received signals. Those features or patterns that are considered important are then directed to the output layer, which is the final layer of the network.
A synapse is able to increase or decrease the strength of the connection. This is where information is stored. The artificial signals can be changed by weights in a manner similar to the physical changes that occur in the synapses.
Approx 1011 neurons. 102– 104 neurons with current technology
Human Brain(Biological Neuron Network) Computers(Artificial Neuron Network)
The human brain works asynchronously Computers(ANN) work synchronously.
Biological Neurons compute slowly (several ms per computation) Artificial Neurons compute fast (<1 nanosecond per computation)
The brain represents information in a distributed way because neurons are unreliable and could die any time. In computer programs every bit has to function as intended otherwise these programs would crash.
Our brain changes their connectivity over time to represents new information and requirements imposed on us. The connectivity between the electronic components in a computer never change unless we replace its components.
Biological neural networks have complicated topologies. ANNs are often in a tree structure.
Researchers are still to find out how the brain actually learns. ANNs use Gradient Descent for learning.
A Multi Layer Perceptron (MLP) contains one or more hidden layers (apart from one input and one output layer).  While a single layer perceptron can only learn linear functions, a multi layer perceptron can also learn non – linear functions.
Figure 4 shows a multi layer perceptron with a single hidden layer. Note that all connections have weights associated with them, but only three weights (w0, w1, w2) are shown in the figure.
Input Layer : The Input layer has three nodes. The Bias node has a value of 1. The other two nodes take X1 and X2 as external inputs (which are numerical values depending upon the input dataset). As discussed above, no computation is performed in the Input layer, so the outputs from nodes in the Input layer are 1, X1 and X2 respectively, which are fed into the Hidden Layer.
Hidden Layer : The Hidden layer also has three nodes with the Bias node having an output of 1. The output of the other two nodes in the Hidden layer depends on the outputs from the Input layer (1, X1, X2) as well as the weights associated with the connections (edges). Figure 4 shows the output calculation for one of the hidden nodes (highlighted). Similarly, the output from other hidden node can be calculated. Remember that f refers to the activation function. These outputs are then fed to the nodes in the Output layer.
Multi Layer Perceptron
Output Layer : The Output layer has two nodes which take inputs from the Hidden layer and perform similar computations as shown for the highlighted hidden node. The values calculated (Y1 and Y2) as a result of these computations act as outputs of the Multi Layer Perceptron.
Given a set of features X = (x1, x2, …) and a target y, a Multi Layer Perceptron can learn the relationship between the features and the target, for either classification or regression.
Lets take an example to understand Multi Layer Perceptrons better. Suppose we have the following student-marks dataset:

Multi Layer Perceptron
The two input columns show the number of hours the student has studied and the mid term marks obtained by the student. The Final Result column can have two values 1 or 0 indicating whether the student passed in the final term. For example, we can see that if the student studied 35 hours and had obtained 67 marks in the mid term, he / she ended up passing the final term.
Now, suppose, we want to predict whether a student studying 25 hours and having 70 marks in the mid term will pass the final term.

Multi Layer Perceptron
This is a binary classification problem where a multi layer perceptron can learn from the given examples (training data) and make an informed prediction given a new data point. We will see below how a multi layer perceptron learns such relationships..

Source : ujjwalkarn
Let there are two neurons X and Y which is transmitting signal to another neuron Z . Then , X and Y are input neurons for transmitting signals and Z is output neuron for receiving signal . The input neurons are connected to the output neuron , over a interconnection links ( A and B ) as shown in figure .
simple neuron works
For above neuron architecture, the net input has to be calculated in the way.
I = xA + yB
where x and y are the activations of the input neurons X and Y. The output z of the output neuron Z can be obtained by applying activations over the net input.
O = f(I)
Output = Function ( net input calculated ) : The function to be applied over the net input is called activation function . There are various activation function possible for this.
1. Every new technology need assistance from the previous one i.e. data from previous ones and these data are analyzed so that every pros and cons should be studied correctly. All of these things are possible only through the help of neural network.
2. Neural network is suitable for the research on Animal behavior, predator/prey relationships and population cycles .
3. It would be easier to do proper valuation of property, buildings, automobiles, machinery etc. with the help of neural network.
4. Neural Network can be used in betting on horse races, sporting events, and most importantly in stock market.
5. It can be used to predict the correct judgment for any crime by using a large data of crime details as input and the resulting sentences as output.
6. By analyzing data and determining which of the data has any fault ( files diverging from peers ) called as Data mining, cleaning and validation can be achieved through neural network.
7. Neural Network can be used to predict targets with the help of echo patterns we get from sonar, radar, seismic and magnetic instruments.
8. It can be used efficiently in Employee hiring so that any company can hire the right employee depending upon the skills the employee has and what should be its productivity in future.
9. It has a large application in Medical Research .
10. It can be used to for Fraud Detection regarding credit cards , insurance or taxes by analyzing the past records .
Hybrid systems: A Hybrid system is an intelligent system that is framed by combining at least two intelligent technologies like Fuzzy Logic, Neural networks, Genetic algorithms, reinforcement learning, etc.
Types of Hybrid Systems : 
* Neuro-Fuzzy Hybrid systems
* Neuro Genetic Hybrid systems
* Fuzzy Genetic Hybrid systems
Neuro-Fuzzy Hybrid systems : The Neuro-fuzzy system is based on fuzzy system which is trained on the basis of the working of neural network theory. The learning process operates only on the local information and causes only local changes in the underlying fuzzy system. A neuro-fuzzy system can be seen as a 3-layer feedforward neural network. The first layer represents input variables, the middle (hidden) layer represents fuzzy rules and the third layer represents output variables. Fuzzy sets are encoded as connection weights within the layers of the network, which provides functionality in processing and training the model. 
Neuro-Fuzzy Hybrid systems
Neuro Genetic Hybrid systems : A Neuro Genetic hybrid system is a system that combines Neural networks: which are capable to learn various tasks from examples, classify objects and establish relations between them, and a Genetic algorithm: which serves important search and optimization techniques. Genetic algorithms can be used to improve the performance of Neural Networks and they can be used to decide the connection weights of the inputs. These algorithms can also be used for topology selection and training networks. 
Neuro Genetic Hybrid systems
Fuzzy Genetic Hybrid systems : A Fuzzy Genetic Hybrid System is developed to use fuzzy logic-based techniques for improving and modeling Genetic algorithms and vice-versa. Genetic algorithm has proved to be a robust and efficient tool to perform tasks like generation of the fuzzy rule base, generation of membership function, etc. 

Three approaches that can be used to develop such a system are: 
* Michigan Approach
* Pittsburgh Approach
* IRL Approach
Fuzzy Genetic Hybrid systems

Source : Geeksforgeeks
S.NO Soft Computing Hard Computing
1. Soft Computing is liberal of inexactness, uncertainty, partial truth and approximation. Hard computing needs a exactly state analytic model.
2. Soft Computing relies on formal logic and probabilistic reasoning. Hard computing relies on binary logic and crisp system.
3. Soft computing has the features of approximation and dispositionality. Hard computing has the features of exactitude(precision) and categoricity.
4. Soft computing is stochastic in nature. Hard computing is deterministic in nature.
5. Soft computing works on ambiguous and noisy data. Hard computing works on exact data.
6. Soft computing can perform parallel computations. Hard computing performs sequential computations.
7. Soft computing produces approximate results. Hard computing produces precise results.
8. Soft computing will emerge its own programs. Hard computing requires programs to be written.
9. Soft computing incorporates randomness . Hard computing is settled.
10. Soft computing will use multivalued logic. Hard computing uses two-valued logic.
1 Artificial Intelligence is the art and science of developing intelligent machines. Soft Computing aims to exploit tolerance for uncertainty, imprecision, and partial truth.
2 AI plays a fundamental role in finding missing pieces between the interesting real world problems. Soft Computing comprises techniques which are inspired by human reasoning and have the potential in handling imprecision, uncertainty and partial truth.
3 Branches of AI :


1. Reasoning
2. Perception
3. Natural language processing  
Branches of soft computing :


1. Fuzzy systems
2. Evolutionary computation
3. Artificial neural computing  
4 AI has countless applications in healthcare and widely used in analyzing complicated medical data. They are used in science and engineering disciplines such as data mining, electronics, automotive, etc.
5 Goal is to stimulate human-level intelligence in machines. It aims at accommodation with the pervasive imprecision of the real world.
6 They require programs to be written. They not require all programs to be written, they can evolve its own programs.
7 They require exact input sample. They can deal with ambiguous and noisy data.
Here is the step by step process on how to train a neural network with TensorFlow ANN using the API’s estimator DNNClassifier.
We will use the MNIST dataset to train your first neural network. Training a neural network with TensorFlow is not very complicated. 
You will proceed as follow :
Step 1: Import the data
Step 2: Transform the data
Step 3: Construct the tensor
Step 4: Build the model
Step 5: Train and evaluate the model
Step 6: Improve the model