Deep Learning can solve complex problems under the right conditions. Here’s what you need to know about the topic.
Deep Learning can be used to solve complex problems – but it requires both a lot of computing power and huge amounts of data.
Deep Learning – Definition
Deep Learning (DL) is a subcategory of Machine Learning (ML) that models data patterns as complex, multi-layered networks. Deep Learning has the potential to solve complex problems for which neither conventional programming nor other machine learning techniques are suitable.
In addition, Deep Learning can also be used to train much more accurate models than other methods. The time frame to get a useful model up and running can thus be drastically reduced in some circumstances. However, training Deep Learning models requires enormous computational power, and interpreting the models is a difficult undertaking.
The defining feature of Deep Learning is that the trained models have more than one hidden layer between input and output. In most cases, these are Artificial Neural Networks – but there are also a few algorithms that implement Deep Learning with other hidden layers.
Deep Learning vs. Machine Learning
In general, classic Machine Learning algorithms run much faster than their Deep Learning counterparts. To train a classic ML model, one or more CPUs are usually sufficient.
DL models, on the other hand, often require hardware acceleration, for example in the form of GPUs, TPUs or FPGAs. If these are not used, the training of deep learning models can take months.
Deep Learning – Use Cases
There are several examples for Deep Learning in practical use:
Natural Language Processing
In the fall of 2016, the performance of Google Translate improved dramatically: what was previously word salad suddenly came remarkably close to a professional translation. The reason: Google had switched its tool from a phrase-based, statistical machine learning algorithm to an artificial neural network. To do this, a large number of data scientists were busy for months building models and training them accordingly.
Another good example is image classification, or computer vision. The breakthrough in neural networks in this field came in 1998 with LeNet-5. Today, image classification models based on deep learning can recognize a wide range of objects in HD and color.
Deep Learning – Frameworks
The most efficient way to build Deep Learning models is to rely on frameworks – especially because they are designed to be used with GPUs and other hardware accelerators.
- Currently, the predominant framework is Google’s TensorFlow, the most popular high-level API Keras (this can also be used with other backend frameworks).
- PyTorch is a good alternative to TensorFlow and also supports dynamic neural networks where the network topology can change. A high-level third-party API that uses PyTorch as a backend is Fastai.
- MXNet is another TensorFlow alternative that is said to scale better. The preferred high-level API is Gluon.
- Chainer was in some ways the inspiration for PyTorch
- Apache’s Deeplearning4j project, unlike the aforementioned frameworks, is based on Java and Scala and is compatible with Apache Spark and Hadoop.
- ONNX was originally intended to become an open ecosystem for AI models. Inziwcshen ONNX also has a runtime environment.
- TensorRT is another runtime environment for AI models – but it is specifically designed for GPUs from NVidia. TensorRT can also be used as a plug-in for the ONNX runtime environment.