AI - More Than 'Just' a Program

Michael Notter, Christian Luebbe & Arnaud Miribel @ EPFL Extension School · 10 minutes

What is the difference between a standard computer program and an AI?

Now that we have a better understanding of what AI stands for and how artificial intelligence differs from the natural intelligence of animals and humans, let’s take a closer look at it from a technological perspective.

What is the difference between an AI technology and a standard computer program? Both of them need code to function and are run on electronic devices, so how can there really be any big difference? Aren’t both programmed by a human being, anyway? Well, yes and no.

In a classic algorithm, humans have encoded their decisions on how to best perform a task into a static set of instructions for the machine. But while an AI algorithm has also been written by humans, it does include agile routines – and it is these which give it the flexibility to learn from data and figure out by itself how to best perform a task.

To better highlight the difference between a computer program and an AI system, let’s consider the following story.

Maria, a young Italian engineer, was taught by her grandmother growing up how to make the perfect pizza using a legendary family recipe. So when she is tasked by her company to design and program their new pizza baking machine for a competition, she has all the know-how to take on the challenge.

She encodes the family recipe into a program that combines the right ingredients in a precise manner and puts the pizza in a correctly preheated oven for an exact amount of time. In the competition, the pizza looks and tastes amazing and the jury is pleased.

Put simply, a human (Maria) wrote a program (the algorithm) that takes data (the ingredients) and combines it with parameters (the recipe that mentions the order and quantity of ingredients to use) to get the desired outcome (an award-winning pizza). Yes, Maria’s grandmother once established the right list of ingredients and figured out the recipe – but after that, everything is set in stone. The computer program will follow its instructions to the letter, and anyone can recreate the outcome if they get access to it.

So how would an AI system solve this task? Actually, in a very similar way. But first, let’s give our hopeful pizza maker AI a name – let’s call it HestonAI. Because HestonAI doesn’t have ancestors or previous experiences to build upon, it needs to learn on the job – it needs training. In other words, it has to establish the optimal recipe and combination of ingredients itself while cooking. Luckily, the judges give HestonAI 10,000 attempts to cook the pizza and get it right.

And so HestonAI gets to work, randomly taking a few ingredients and combining them arbitrarily before putting it into the oven at 500°C for two hours. HestonAI is happy – its favorite color is charcoal black1 – and to finish the pizza off, it then decides to also add some tomato sauce. HestonAI is pleased with it, but the judges are less impressed and give the pizza a rather bad grade.

HestonAI tries once more with the same ingredients, but this time it adds the tomato sauce to the pizza before it puts it in the oven, and leaves it in there for just 20 minutes at 160°C. The judges are happier than before, but not thrilled. Keeping track of what happened, HestonAI has now learned what to change to improve its current recipe.

Next up, it also decides to change the list of ingredients to possibly get an even better outcome. HestonAI tries again, changes a few things, and validates the outcome. After multiple iterations – and with lots of trial and error – HestonAI eventually comes up with an impressive recipe. It combines many exotic ingredients in a skillful way to create the perfect pizza. The judges are finally ecstatic.

HestonAI doesn't start well. But thanks to the judge's positive or negative feedbacks, it explores all possible recipes eventually finding the perfect one that wins the judge's heart.

In the end, Maria’s machine and HestonAI produced the same kind of output: an amazing pizza. But the difference is that HestonAI established the recipe itself and learned which ingredients to combine. Because the AI system was allowed to try out different scenarios, it was able to establish its own approach based on the ingredients at hand and the taste of the judges. Or in other words, it “learned from the data how to perform its task optimally”.

It is this extra step that differentiates an AI system from a typical computer program – the AI has some flexibility to adapt its behavior to perform a task. Once the task is learned, the execution of the instructions are as static as it was for the program designed by the human.

What Maria and HestonAI built are the same – they now both have a set of instructions on how to create a delicious pizza. However, one was a human establishing the relevant parameters, and one was an AI2. The advantages an AI has are its computational power, speed and flexibility.

Using an AI like a computer program.

The previous section explained how an AI system can learn from data as to how to optimally perform a given task (which ingredients should be combined in what way, and according to which recipe, to create the best pizza).

It doesn’t need any human in the loop to establish this; the machine learns by itself what the best combination is. This means generations of human experience can be replaced by an AI. But once this is learned and the list of ingredients and the recipe is written out, then the procedure is the same for the AI system as for the computer program.

In a similar way, when a smartphone uses its camera to detect a face and unlock itself, it doesn’t need an AI system – it just needs to run a computer program (or an “app”) that was fine-tuned with AI technology.

Before shipping the computer program, the AI system has learned from millions of photos how to create a useful “fingerprint” for each individual’s face. Once it learned how to create those fingerprints, the program no longer needs any AI technology to identify you. It just extracts this “fingerprint” from every person it sees and compares it to the one it has of you when you bought the device.

But things are rarely that simple. The “fingerprint” model on your device can be updated every time it sees you – the model can constantly be improved and the device “learns how to better see you”.

People also mention machine and deep learning – What’s the difference?

One point we cannot stress enough with That's AI is the fact that AI learns from data. You might have even already heard about different kinds of learning, such as machine learning or deep learning. But what exactly are the differences between these concepts?

Artificial intelligence (AI) is the umbrella term that describes our endeavor to create intelligent machines that can emulate human intelligence and behavior.

Machine learning (ML) is a subset of AI and uses statistical methods to learn from data. This is what HestonAI used to make the pizza, and what it means when we say that a “machine has learned from data how to do a task”.

Machine learning is what we typically mean when we talk about AI. However, machine learning is not the only way we try to achieve general AI. You’ve heard already about alternative paths to this goal in our previous article about the history of AI – namely expert systems or robotics.

Expert systems use databases of “knowledge” and apply a more rule-based approach to find information, make decisions, and plan ahead. Whereas the goal of robotics is to develop physical devices that can mechanically interact and manipulate their environment with the help of sensors and actuators.

Deep learning (DL) belongs to a broader subfamily of machine learning methods. It is based on artificial neural networks, which themselves were inspired by the way our brain uses neurons to process and learn information.

These artificial neural networks are called “deep” due to the fact that they contain many “layers” of interconnected “neurons”. Just like in our brain, such a hierarchical and complex structure allows a deep learning model to process a lot of information all at once. Layer by layer, deep learning models are capable of extracting more and more information from the data.

But this power comes at a price: they need a lot of data to be sufficiently trained, as they have millions or even billions of parameters to be tuned. Additionally, current deep learning models are difficult to interpret and understand, which sometimes leads to the common notion of them feeling like a black box.

We will learn more about artificial neural networks and deep learning in a later article.

  1. As explained in our previous article, an AI is not a being and has no consciousness. Thus, Heston AI has neither feelings nor preferences. But it’s only a story, so a bit of fun is allowed. 

  2. But there are scenarios where we have insufficient human expertise and thus AI can beat human attempts. The recent success on the protein folding problem is such an example. 

Next

The Building Blocks of AI