Three reasons why you shouldn’t rush blindly into deep learning

Published on: June 22, 2022

Got a data-related problem? No worries, let deep learning sort it out. This may be a natural reaction, but it’s not always the best one. There are a few reasons why this advanced form of AI is not always the best option.

If you only have a hammer, then everything starts to look like a nail.

Something similar is going on with AI, and more specifically with deep learning. This is a form of AI that uses neural networks to enable machines to make complex decisions.

Now that we have deep learning at our disposal, it seems that every problem needs to be solved with it. Nothing could be further from the truth. Don’t get us wrong, we love deep learning and it’s still part of our core business. Deep learning offers a powerful way to solve complex problems, such as image classification, object detection and semantic segmentation. But before you start thinking about using it, you need to ask yourself whether it’s the right technique for the job. In a number of cases, traditional machine learning techniques may help you to reach your goals faster and cheaper.

There are at least three reasons why you shouldn’t rush blindly into deep learning.

1. You don’t have the data.

As we mentioned before, deep learning is great at solving complex problems. But to do that, it needs high-quality data, lots of it. And although techniques such as data augmentation and synthesizing can help you to make better use of existing data, you will still need more data for deep learning than for traditional methods. High-quality data means that your data should be accurate, labeled correctly and diverse enough to cover all possible environment variables. If that is not the case, then the accuracy of your results will be poor. Everybody knows that garbage in means garbage out.

Sometimes, there simply is not enough data to work with. This is often the case with very specific, complex problems.  For example, a food sorting machine that needs to remove bad carrots from a conveyor belt will need to see many bad carrot examples first, because these may come in all types of shapes and colors. To make this work, you may need to develop your data set from scratch, which is costly and time-consuming.  

The rarity of an event may also be the reason why it’s hard to obtain good data. Just think of a manufacturing defect that only occurs once a month. With an event that is so hard to reproduce, you may need to look out for techniques that do not require so much data.

2. You don’t have the computing power

Deep learning can solve complex problems. This is thanks to a significant increase in computing power. In recent years, computers have become faster and more powerful, and they can execute algorithms much faster. But for some projects, this may exactly be the Achilles heel.

Sometimes, machine learning developers don’t want to achieve the highest level of performance and technical sophistication. Instead, they need to be creative and make use of the technology that is available within a limited budget. This was the case for the Telraam project, which included the development of a traffic counting sensor for cities.

In the Telraam case, Kapernikov was able to reduce the required computing power by splitting up the traffic detector’s counting function into a detection and a tracking function. The traffic sensor now uses deep learning to detect people in the camera image. Here, deep learning makes sense, because people detection is a fairly complex problem, but one that is supported by a quality data set. Counting people also implies that you can track them in the image, so that you only register them once. The Telraam traffic sensor uses traditional algorithms to do that, because they are better suited and more cost-effective.

3. You need insight into the decision-making process

One of the most important disadvantages of deep learning is that it’s a black box. This means that you exactly know the input (data) and output, but every operation in between, from input to output, remains a mystery. This is fine, until something unexpected or problematic happens. When the output is not what you expected, you cannot debug or reverse-engineer your deep learning network and find out what went wrong.

Deep learning uses neural networks, which are inspired by the human brain, mimicking the way biological neurons signal to each other. Depending on the problem you want to solve, these networks contain many hidden layers in which the computing is done, and where input is transformed into output. Neural networks can learn their own features during the training phase, which makes them so suitable for complex problems. This contrasts with traditional machine learning algorithms which have a human element of feature engineering and a transparent, traceable path for debugging.

In the insurance industry, for example, deep learning allows providers to assess risks and optimize pricing strategies for their customers. Insurance companies can now determine their policies based on a wealth of data about the previous behavior and activities of their customers, but also increasingly based on the use of social media, reviews and other online sources. Deep learning may have allowed insurance companies to be more efficient. On the other hand, the obscurity of the technology has also raised many questions about fairness, discrimination and transparency in insurance programs.

If you are only interested in the output of your machine learning process, then deep learning may be a good option. However, if you want to have control over your process and insight into the inner mechanics of the decision-making process, then traditional machine learning may be a better idea.

The most efficient algorithm for the job

Deep learning enables us to perform tasks with unseen accuracy and speed. Unfortunately, this does not make deep learning the ideal solution for every project. Just know that, when data quality is a problem, when computing power is restricted, or when you need clarity about the intermediate stages of your development process, there are other options.

That’s why, at Kapernikov, we don’t head blindly into deep learning. We like to assess first what is the most efficient technology for the job. That could well be deep learning, but we have other tools in our toolkit as well.

It seems like you're really digging this article.

Subscribe to our newsletter and stay up to date.

    guy digging a hole


    Bart Van den Bergh

    Bart joined Kapernikov in December 2019, a few months before a global pandemic brought the world to a standstill. Since then, he has worked as a software engineer on a wide va ...