Deep Learning vs Machine Learning
Consider the following definitions to understand deep learning vs. machine learning vs. AI:
Deep learning is a subset of machine learning that's based on artificial neural networks. The learning process is deep because the structure of artificial neural networks consists of multiple input, output, and hidden layers. Each layer contains units that transform the input data into information that the next layer can use for a certain predictive task. Thanks to this structure, a machine can learn through its own data processing.
Machine learning is a subset of artificial [1] intelligence that uses techniques (such as deep learning) that enable machines to use experience to improve at tasks. The learning process is based on the following steps:
Feed data into an algorithm. (In this step you can provide additional information to the model, for example, by performing feature extraction.)
Use this data to train a model.
Test and deploy the model.
Consume the deployed model to do an automated predictive task. (In other words, call and use the deployed model to receive the predictions returned by the model.)
Artificial intelligence (AI) is a technique that enables computers to mimic human intelligence. It includes machine learning.
By using machine learning and deep learning techniques, you can build computer systems and applications that do tasks that are commonly associated with human intelligence. These tasks include image recognition, speech recognition, and language translation.
Techniques of Deep Learning vs. Machine Learning
Now that you have the overview of machine learning vs. deep learning, let's compare the two techniques. In machine learning, the algorithm needs to be told how to make an accurate prediction by consuming more information (for example, by performing feature extraction). In deep learning, the algorithm can learn how to make an accurate prediction through its own data processing, thanks to the artificial neural network structure.
The following table compares the two techniques in more detail:
TECHNIQUES OF DEEP LEARNING VS. MACHINE LEARNING
All machine learning | Only deep learning | |
---|---|---|
Number of data points | Can use small amounts of data to make predictions. | Needs to use large amounts of training data to make predictions. |
Hardware dependencies | Can work on low-end machines. It doesn't need a large amount of computational power. | Depends on high-end machines. It inherently does a large number of matrix multiplication operations. A GPU can efficiently optimize these operations. |
Featurization process | Requires features to be accurately identified and created by users. | Learns high-level features from data and creates new features by itself. |
Learning approach | Divides the learning process into smaller steps. It then combines the results from each step into one output. | Moves through the learning process by resolving the problem on an end-to-end basis. |
Execution time | Takes comparatively little time to train, ranging from a few seconds to a few hours. | Usually takes a long time to train because a deep learning algorithm involves many layers. |
Output | The output is usually a numerical value, like a score or a classification. | The output can have multiple formats, like a text, a score or a sound. |
Figure1: Machine Learning vs Deep Learning.
Training deep learning models often figure1 requires large amounts of training data, high-end computer resources (GPU, TPU), and a longer training time. In scenarios when you don't have any of these available to you, you can shortcut the training process using a technique known as transfer learning.
Transfer learning is a technique that applies knowledge gained from solving one problem to a different but related problem. Due to the structure of neural networks, the first set of layers usually contains [2] lower-level features, whereas the final set of layers contains higher-level features that are closer to the domain in question. By repurposing the final layers for use in a new domain or problem, you can significantly reduce the amount of time, data, and compute resources needed to train the new model. For example, if you already have a model that recognizes cars, you can repurpose that model using transfer learning to also recognize trucks, motorcycles, and other kinds of vehicles.
Learn how to apply transfer learning for image classification using an open-source framework in Azure Machine Learning : Train a deep learning Porch model using transfer learning.
Deep Learning use cases
Because of the artificial neural network structure, deep learning excels at identifying patterns in unstructured data such as images, sound, video, and text. For this reason, deep learning is rapidly transforming many industries, including healthcare, energy, finance, and transportation. These industries are now rethinking traditional business processes.
Some of the most common applications for deep learning are described in the following paragraphs. In Azure Machine Learning, you can use a model from you build from an open-source framework or build the model using the tools provided.
Named-entity recognition is a deep learning method that takes a piece of text as input and transforms it into a pre-specified class [3]. This new information could be a postal code, a date, a product ID. The information can then be stored in a structured schema to build a list of addresses or serve as a benchmark for an identity validation engine.
Object detection
Deep learning has been applied in many objects’ detection use cases. Object detection comprises two parts: image classification and then image localization. Image classification identifies the image's objects, such as cars or people. Image localization provides the specific location of these objects. Object detection is already used in industries such as gaming, retail, tourism, and self-driving cars.
Machine Learning use cases
Machine translation takes words or sentences from one language and automatically translates them into another language. Machine translation has been around for a long time, but deep learning achieves impressive results in two specific areas: automatic translation of text (and translation of speech to text) and automatic translation of images. With the appropriate data transformation, a neural network can understand text, audio, and visual signals. Machine translation can be used to identify snippets of sound in larger audio files and transcribe the spoken word or image as text.
Text Analytics
Text analytics based on deep learning methods involves analysing large quantities of text data (for example, medical documents or expenses receipts), recognizing patterns, and creating organized and concise information [4] out of it. Companies use deep learning to perform text analysis to detect insider trading and compliance with government regulations. Another common example is insurance fraud: text analytics has often been used to analyse large amounts of documents to recognize the chances of an insurance claim being fraud.
Artificial Neural Networks
Artificial neural networks are formed by layers of connected nodes. Deep learning models use neural networks that have a large number of layers. The following sections explore most popular artificial neural network typologies.
Feedforward Neural Network
The feedforward neural network is the simplest type of artificial neural network. In a feedforward network, information moves in only one direction from input layer to output layer. Feedforward neural networks transform an input by putting it through a series of hidden layers. Every layer is made up of a set of neurons, and each layer is fully connected to all neurons in the layer before. The last fully connected layer (the output layer) represents the generated predictions.
Recurrent Neural Network (RNN)
Recurrent neural networks are a widely used artificial neural network. These networks save the output of a layer and feed it back to the input layer to help predict the layer's outcome. Recurrent neural networks have great learning abilities. They're widely used for complex tasks such as time series forecasting, learning handwriting, and recognizing language.
Convolutional Neural Network (CNN)
A convolutional neural network is a particularly effective artificial neural network, and it presents a unique architecture. Layers are organized in three dimensions: width, height, and depth. The neurons in one layer connect not to all the neurons in the next layer, but only to a small region of the layer's neurons. The final output is reduced to a single vector of probability scores, organized along the depth dimension. Convolutional neural networks have been used in areas such as video recognition, image recognition, and recommender systems.
Generative Adversarial Network (GAN)
Generative adversarial networks are generative models trained to create realistic content such as images. It is made up of two networks known as generator and discriminator. Both networks are trained simultaneously. During training, the generator uses random noise to create new synthetic data that closely resembles real data. The discriminator takes the output from the generator as input and uses real data [5] to determine whether the generated content is real or synthetic. Each network is competing with each other. The generator is trying to generate synthetic content that is indistinguishable from real content and the discriminator is trying to correctly classify inputs as real or synthetic. The output is then used to update the weights of both networks to help them better achieve their respective goals. Generative adversarial networks are used to solve problems like image to image translation and age progression.
References:
- https://www.udemy.com/deep learning/online-course
- https://www.upgrad.com/ml/pg-programme
- https://www.javatpoint.com/machine-learning-vs-deep-learning
- https://www.zendesk.com/blog/machine-learning-and-deep-learning
- https://www.developer.com/guides/machine-learning-vs-deep-learning
Cite this article:
D. Vinotha (2021), Deep Learning vs Machine Learning, AnaTechmaz, pp. 5