AI for Everyone: Why We Need Machine Learning
When consulting companies or politicians on Artificial Intelligence, I often get questions that sound simple like “Why do we need something like Machine Learning?“. But let’s face it: most of us AI experts are not very good at explaining the topic to the general public.
With the growing impact AI having on industry, economy, and society, we have to get better at this. We have to learn how to convey the basic ideas in an understandable manner. Because most import decisions are made by non-experts: politicians and managers.
And we have an interest in informed decisions.
No math, no code
This challenge comes with an essential constraint: we must not use math or code in our explanations. Most business people, policymakers and the general public, are not supposed to ever write a line of code or grasp the required math. Remember, the goal is not to make them experts, but to give them an idea of the fundamental principles.
So, let’s try. And when I say try, I mean it. We have to try and experiment. Some approaches will work, others might fail. But there is something in it for us experts: teaching is one of the greatest sources of learning. Going this route will deepen our understanding of the matter.
[Side note: when talking about Machine Learning I basically mean Deep Learning — the approaches causing the current AI hype. But I don’t want to start with explaining the difference between Machine and Deep Learning, as it is irrelevant to most people.]
Why do we need something like Machine Learning?
The simple answer to this question is: we want to automate certain processes using a computer. But this raises the next question. We have automated processes using computers for the last 50 years. So, what’s the difference? Why is the classical way of programming a computer not sufficient?
What is an algorithm?
Everything that runs on a computer is a so-called algorithm. Let’s look at the core definition of an algorithm:
“In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.“ (Wikipedia)
The first thing to notice is that this definition is not bound to code or a specific programming language. An essential feature of an algorithm is that it can be written down in plain text.
A cooking recipe can be considered an algorithm (as long as it does not contain instructions like circa or salt to taste which require personal judgment). It is a sequence of steps following certain defined rules.
The classical way of programming
The classical way of programming a computer relies on this general understanding of an algorithm. It applies to apps, games, accounting software or an online shop, just to name a few.
A developer or product manager analyzes the problem and figures out the rules. In development teams, these rules are written down in different kinds of human-readable documents like specification, backlog, etc.
Example of such rules are for instance: “If you sell a product, you have to add x% VAT“, or “Store the number of products in stock in database table xyz.“
The developer then translates these rules into programming code that can be run on a computer.
Whether formally written down or just performed in the mind: the identification of these rules is the essential step in this process. It allows to communicate, explain, and analyze the intended behavior.
Where the classical approach fails
Here is the point: There is a set of problems where we are not able to identify and explicitly write down these rules. This concerns problems like image and speech recognition, natural language processing, or identifying complex patterns in data.
We are able to identify objects with our eyes, talk to other peoples, or understand a written text. But we are not able to write down, how our brain does it, what rules it follows to do the trick.
Even though we know some of the rules in the meantime, it seems we are facing a fundamental limitation here. Nature is too complex, bears too many variations, subtleties, and nuances to cover it by a finite set of (explicit) rules.
You can easily figure it out yourself. Try to define the concept of an elephant that would cover all the different images in the collage above. They all come in different shapes, colors. sizes, environments, or materials. Some are real, some are statues, others paintings.
Still, we can identify them, even there is just an elephant’s eye you can see.
So, this is why we need a different approach in this case. We are not able to write down the rules and concepts explicitly.
What is Machine Learning?
Sure, you want to know, what machine learning is. But the details of this approach are beyond the scope of this blog post, because it only deals with the question of why we need something else.
Just to give you an idea. Machine learning is basically a mathematical approach, where the system analyzes the data (images, sound files, texts, etc.) for certain patterns. The trick is that the system figures out on its own, which patterns to look for (usually by analyzing thousands of examples). The system implicitly learns the rules (e.g. for identifying an elephant) which we are struggling to write down explicitly.
Is this all?
The answer to the question “Why we need something like machine learning?“ might look a little unsatisfying. But it already implies a lot.
For instance, you can now decide, whether a classical or machine learning approach is required for your problem.
If you are able to identify and write down the rules of your task, you are better off with a classical approach. (There are exceptions in science where we know the rules but the classical approach is too computationally expensive).
The use of machine learning is typically limited to a very specific set of tasks where the classical approach fails. And these tasks are usually embedded in a lot of classically coded steps.
If somebody wants to sell you a system with the label “AI“, make them explain to you where machine learning is used specifically (and also why). A lot of classical software is just rebranded as “AI“.
And you are now able to spot it.