Machine Learning is automating parts of software development, removing the need to write logical rules.
In traditional Machine Learning, designing logical rules is replaced by defining or identifying the data features that represent that problem.
However, the need to understand problem doesn’t really disappear…
As Chris Manning was pointing out in this Stanford NLP lecture: “The machine isn’t really learning. The human is learning a lot about the problem, by doing lots of data analysis.”
The machine is merely left to adjust the weights of each feature, in order to improve the performance the model.
Deep Learning however, changes all that.
Deep Learning algorithms are constructing the features automatically, by combining feature representations from the different layers of the neural network.
Given that manually engineered features take a long time to define, the alternative to allow the machine “learn” features from data is a no brainer.
And who knows, data might have a better idea…