Since around November 2013, the term'deep learning' started gaining popularity, especially within the data science community. This trend comes shortly after the'big data' boom in 2010 and the'data science' boom in 2011. The upticks in interest are not surprising because companies now realized that they needed individuals who were capable of deciphering insights from the information tsunami that was now present. With data science now being referred to "almost everything that has something to do with data", the process of data utilization evolved beyond data collection and analysis. Now, it was possible to use large sets of data to accurately model events and create data applications.

From the previous article, we learnt how a single neuron or perceptron works by taking the dot product of input vectors and weights,adding bias and then applying non-linear activation function to produce output.Now let's take that information and see how these neurons build up to a neural network. Now z W0 xj*wj denotes the dot product of input vectors and weights and our final output y is just activation function applied on z. Now,if we want a multi output neural network(from the diagram above),we can simply add one of these perceptrons & we have two outputs with a different set of weights and inputs.Since all the inputs are densely connected to all the outputs,these layers are also called as Dense layers.To implement this layer, we can use many libraries such keras,tensorflow,pytorch,etc. Here it shows the tensorflow implementation of this 2 perceptron network where units 2 indicate we have two outputs in this layer.We can customize this layer by adding activation function,bias constraint etc. Now,let's take a step further and let's understand how a single layer neural network works where we have a single hidden layer which feeds into the output layer. We call this a hidden layer because unlike our input and output layer which we can see or observe them.Our hidden layers are not directly observable,we can probe inside the network and see them using tools such as Netron but we can't enforce it as these are learned .

Neural networks are trained using stochastic gradient descent and require that you choose a loss function when designing and configuring your model. There are many loss functions to choose from and it can be challenging to know what to choose, or even what a loss function is and the role it plays when training a neural network. In this post, you will discover the role of loss and loss functions in training deep learning neural networks and how to choose the right loss function for your predictive modeling problems. Loss and Loss Functions for Training Deep Learning Neural Networks Photo by Ryan Albrey, some rights reserved. A deep learning neural network learns to map a set of inputs to a set of outputs from training data.

This section provides more resources on the topic if you are looking to go deeper. In this post, you discovered tips and tricks for getting the most out of the backpropagation algorithm when training neural network models. Have you tried any of these tricks on your projects? Let me know about your results in the comments below. Do you have any questions? Ask your questions in the comments below and I will do my best to answer.

Neural networks is one of the most powerful and widely used algorithms when it comes to the subfield of machine learning called deep learning. At first look, neural networks may seem a black box; an input layer gets the data into the "hidden layers" and after a magic trick we can see the information provided by the output layer. However, understanding what the hidden layers are doing is the key step to neural network implementation and optimization. In our path to understand neural networks, we are going to answer three questions: What, How and Why? The neural networks that we are going to considered are strictly called artificial neural networks, and as the name suggests, are based on what science knows about the human brain's structure and function.