Deep Learning is the subbranch of machine learning which uses neural network to learn from data fast and efficiently . In the recent times it is adopted by most of the companies and most of the companies have given there open source framework to the market . As a software developer you should be more concentrating on this post of machine learning because it less time to learn and provide most of the features of machine learning . You can think it as a black box which creates code for you from data . It is design and develop by Geoffrey Hinton in 1990's . But due to lack of hardware it wasnt successful at that time , but in 2011 when GPU,s and TPU's are introduced algorithm starts to work . It is designed as human brain is connected by thousand of neuron . And it works to extract conceptual informatiom from data.
Likewise deep learning is made up of node which helps to extract conceptual information from data. It use linear algebra to give weights to each node . It is made of layers of node . Each layer extract some conceptual aspects of data . As the number of layer increases extraction of conceptual aspects also increase but cost of increasing layer also increases and risk of model becomes overfitted also increases . So the layer decision should be very wise. But as a software developer you dont need to go to technical aspects of deep learning . Instead you should think it as a black box
Deep Learning takes data and generate Program code in which we input data and get output . Where as in software development we write heuristic code to get output main difference is noted below.
All Major Companies wants developer to adapt deep learning in their program for that they have provided their high level framework for Deep Learning such as Tensorflow , CNTK ,MxNet etc . Each Frameworks create binary models for you to use in your systems