Thursday 30 July 2020

Neural Networks - Introduction Topics

0 comments

Neural Networks - NN

Topics to be covered:

In this topic we going to get a brief idea about NN-
            1.1 what is NN?
            1.2 Basics of Neural Networks.

1.1 What is Neural Network - NN?

Neural Networks form the backbone of deep learning. The goal of a neural network is to find an approximation of an unknown function. 

It is formed by interconnected neurons. These neurons have weights, and bias which is updated during the network training depending upon the error. The activation function puts a nonlinear transformation to the linear combination which then generates the output. The combinations of the activated neurons give the output.

1.1 Basics of Neural Network

Neuron:-

        Just like a neuron forms the basic element of our brain, a neuron forms the basic structure of a neural network. Just think of what we do when we get new information. When we get the information, we process it and then we generate an output. Similarly, in case of a neural network, a neuron receives an input, processes it and generates an output which is either sent to other neurons for further processing or it is the final output.

Fig: Neuron
Weights :- 

        When input enters the neuron, it is multiplied by a weight. For example, if a neuron has two inputs, then each input will have has an associated weight assigned to it. We initialize the weights randomly and these weights are updated during the model training process. The neural network after training assigns a higher weight to the input it considers more important as compared to the ones which are considered less important. A weight of zero denotes that the particular feature is insignificant.

Bias : - 

        In addition to the weights, another linear component is applied to the input, called as the bias. It is added to the result of weight multiplication to the input. The bias is basically added to change the range of the weight multiplied input. After adding the bias, the result would look like a*W1+bias. This is the final linear component of the input transformation.

 Activation Function :- 

        Once the linear component is applied to the input, a non-linear function is applied to it. This is done by applying the activation function to the linear combination. The activation function translates the input signals to output signals. The output after application of the activation function would look something like f(a*W1+b) where f() is the activation function.

Fig: Neural Network

 Input / Output / Hidden Layer :- 

        Simply as the name suggests the input layer is the one which receives the input and is essentially the first layer of the network. The output layer is the one which generates the output or is the final layer of the network. The processing layers are the hidden layers within the network. These hidden layers are the ones which perform specific tasks on the incoming data and pass on the output generated by them to the next layer. The input and output layers are the ones visible to us, while are the intermediate layers are hidden.                                      

Fig: Layers in Neural Networks

 Batch Normalization:-

        As a concept, batch normalization can be considered as adam we have set as specific checkpoints in a river. This is done to ensure that distribution of data is the same as the next layer hoped to get. When we are training the neural network, the weights are changed after each step of gradient descent. This changes the how the shape of data is sent to the next layer.

Fig: Batch Normalization

            But the next layer was expecting the distribution similar to what it had previously seen. So we explicitly normalize the data before sending it.

Propagation Function:-

        The propagation function computes the input to a neuron from the outputs of its predecessor neurons and their connections as a weighted sum. A bias term can be added to the result of the propagation

Organization:-

        The neurons are typically organized into multiple layers, especially in deep learning. Neurons of one layer connect only to neurons of the immediately preceding and immediately following layers. The layer that receives external data is the input layer. The layer that produces the ultimate result is the output layer. In between them are zero or more hidden layers. Single layer and un-layered networks are also used. Between two layers, multiple connection patterns are possible. They can be fully connected, with every neuron in one layer connecting to every neuron in the next layer.

Hyper-Parameter:-

        A hyper-parameter is a constant parameter whose value is set before the learning process begins. The values of parameters are derived via learning. Examples of hyper-parameters include learning rate, the number of hidden layers and batch size. The values of some hyper-parameters can be dependent on those of other hyper-parameters. For example, the size of some layers can depend on the overall number of layers.

Learning:-

        Learning is the adaptation of the network to better handle a task by considering sample observations. Learning involves adjusting the weights (and optional thresholds) of the network to improve the accuracy of the result. This is done by minimizing the observed errors. Learning is complete when examining additional observations does not usefully reduce the error rate. Even after learning, the error rate typically does not reach 0.

Dropout:-

        Dropout is a regularization technique which prevents over-fitting of the network. As the name suggests, during training a certain number of neurons in the hidden layer is randomly dropped. This means that the training happens on several architectures of the neural network on different combinations of the neurons. You can think of drop out as an ensemble technique, where the output of multiple networks is then used to produce the final output.         

Fig: Dropouts in Neural Network

 PREDICTION LABELS

         The created model will be trained with the dataset. The model extracts the features from the training dataset.

Cost Function:-

        When we build a network, the network tries to predict the output as close as possible to the actual value. We measure this accuracy of the network using the cost/loss function. The cost or loss function tries to penalize the network when it makes errors.

  • Our objective while running the network is to increase our prediction accuracy and to reduce the error, hence minimizing the cost function. The most optimized output is the one with least value of the cost or loss function.
  • C= 1/m ∑(y – a)2 where m is the number of training inputs, a is the predicted

 Learning Rate:-

        The learning rate is defined as the amount of minimization in the cost function in each iteration. In simple terms, the rate at which we descend towards the minima of the cost function is the learning rate. We should choose the learning rate very carefully since it should neither be very large that the optimal solution is missed and nor should be very low that it takes forever for the network to converge.                                         

Fig: Learning Rate

                                            

 

                                           


No comments:

Post a Comment

If you have any doubts, please let me now