When to use Machine Learning or Deep Learning?

Understanding which AI technologies to use to advance a project can be challenging given the rapid growth and evolution of the science. This article outlines the differences between machine learning and deep learning, and how to determine when to apply each one.
In both machine learning and deep learning, engineers use software tools, such as MATLAB, to enable computers to identify trends and characteristics in data by learning from an example data set. In the case of machine learning, training data is used to build a model that the computer can use to classify test data, and ultimately real-world data. Traditionally, an important step in this workflow is the development of features – additional metrics derived from the raw data – which help the model be more accurate.
Deep learning is a subset of machine learning, where engineers and scientists skip the manual step of creating features. Instead, the data are fed into the deep learning algorithm and it automatically learns what features are most useful to determine the output.
Machine learning is typically used for projects that involve predicting an output or uncovering trends. In these examples, a limited body of data is used to help the machines learn patterns that they can later use to make a correct determination on new input data. Common algorithms used in machine learning include linear regression, decision trees, support vector machines (SVMs), naïve Bayes, discriminant analysis, neural networks and ensemble methods.
Deep learning is more complex and is typically used for projects that involve classifying images, identifying objects in images, and enhancing images and signals. In these instances, a deep neural network can be applied, as they are designed to automatically extract features from spatially- and temporally-organized data such as images and signals. Common algorithms used in deep learning include convolutional neural networks (CNNs), recurrent neural networks (RNNs), and reinforcement learning (deep Q networks).
Machine learning algorithms may be more desirable if you need quicker results. They are faster to train and require less computational power. The number of features and observations will be the key factors that affect training time. Engineers applying machine learning should expect to spend a majority of their time developing and evaluating features to improve model accuracy.
Deep learning models will take time to train. Pretrained networks and public datasets can shorten training through transfer learning, but sometimes these can be complicated to implement. In general, deep learning algorithms can take anywhere from a minute to a few weeks to train depending on your hardware and computing power. Engineers applying deep learning should expect to spend a majority of their time training models and making modifications to the architecture of their deep neural network.


