So every conversation I have these days about our technology, people go hmm machine learning and I know they are thinking that we are either absolute geeks or just crazy.  Once in a while I hear why not deep learning and I’m thinking should I go there….


Well hopefully my limited opinions on both here should clear the air a bit about Machine Learning and Deep Learning and the current debate on which is the winner.

So first things first the commonality:

1. Both “learning” are used to categorize a set of algorithms that can take a bunch of inputs, compare it to some known data set and return an output.

2. Both are really part of a broader scope of study in computer science – the dreaded AI or artificial intelligence stream.  I say dreaded because AI has been assumed to be the holy grail or savior of intelligent machines since the 1960s – something like HAL 9000 or Deep Thought .  But most people don’t realize how of AI techniques are already around us.  The common example is “OK Google” and “Siri”. The mobile phone software can understand my heavy Indian accent for example using AI

3.  Both techniques are really using another dreaded approach – Neural Networks especially Artificial Neural Network.  Dreaded in this case bcos ANN sounds so complex in trying to mimic the human neural system

4. Both techniques use data. One more than the other though

5. Both approaches use statical analysis to understand and map out patterns and draw inferences from the study data set

6. By and large both techniques use “Supervised Learning” i.e. algorithms that are trained on certain patterns and can use this to identify the same on new data sets.  The other approach is unsupervised learning which is basically allowing the algorithms to draw inferences or think intelligently (like us humans) – which is still a while away – don’t worry.

So “Deep Learning” is really an extension or evolution of “Machine Learning”.  In machine learning the approach is chump through large volume of data to create the supervised learning catalogue.  Deep learning improves on this by using a layered approach.  So instead of solving for multiple complex variable simultaneously a deep learning approach is to build a flow with connectors or pipes connecting individual equation nodes.  So break up the big problem into multiple smaller problems and create a flow or connectors for information to flow through.  the word Deep is coined to reflect that these algorithms are multiple levels or have depth


Disclaimer: I dont have my Phd in deep learning (yes there are several really smart people who have specialized in this area) and most of knowledge & learning is reading books, blogs and research papers & working with a tough research team at IceCream Labs.

Some good links on this space

  • Just google deep learning or machine learning