The Centaur Approach: The Best Use of Artificial Intelligence

AlphaGo was the Beginning of a Era

In 2017, a deep-learning AI computer program called AlphaGo made history when it defeated the world champion, Ke Jie, in three matches of the ancient Chinese game of Go. The magnitude of this achievement is hard to understate. Go is a board game that consists of placing black and white stones on a 19x19 grid. It is one of the most complex board games in the world and contains approximately 10^360 different possible combinations of moves to complete a single game. Think about how large that number is! Scientists estimate that there is only 10^82 atoms in the universe. Chess only has about 10^40 different combinations of moves.

AlphaGo’s achievement made waves not just inside the world of computer science but throughout the world in general. It was immediately compared to other historic events such as when the Deep Blue computer program defeated the world chess champion, Gary Kasparov, in 1997.

The most shocking aspect of the story is the way AlphaGo was able to achieve victory. Unlike Deep Blue which followed a strict algorithm defined by the software developers, AlphaGo was based on a self-training neural network. The AlphaGo was designed to learn the game by playing against itself millions of times and learning which strategies lead to better outcomes. In the end, the software developers didn’t even understand why AlphaGo makes the decisions that it makes—only that it tends to win games.

Don’t Worry about AI—Centaurs are more Powerful

For weeks, AlphaGo was all that my fellow software developers wanted to talk about. It was exciting, yet terrifying. It felt like we were witnessing the beginning of an era in which software professionals like ourselves would become obsolete. One of my coworkers even asked me, “Do you think that I should even bother teaching my kids to write computer code? Before long, computers will write better computer code than humans.”

I replied immediately and confidently, “I’m 100% certain that young people will still need to learn how to code to be successful in the next forty years.”

He looked at me skeptically and asked, “What makes you so certain?”

“Because centaurs will always win in a horse race,” I replied.

I then explained to him a little-known phenomenon that was observed since at least the 1990’s. Computers may be able to beat any human player essentially 100% of the time, but a moderately-skilled human player can reliably defeat a chess computer if it has the assistance of an equally powerful chess computer. Pairing a human chess player together with computer assistance is called “centaur chess”, referring to the mythical creature that is a combination of a human and a horse.

Computers are very good at nearly all aspects of gameplay such as recognizing potential threats and recognizing paths to checkmates. However, computers tend to struggle to understand fundamental concepts of game concepts such as structure. A common “human exploit” that you might use against a chess computer is to trap a high-ranking piece such as a rook or queen but not capture it. Computers struggle to understand that the piece has little value because of its poor position and will tend to behave as if it is something it needs to continue to protect.

Remember AlphaGo? Since 2017, researchers have discovered that it has several vulnerabilities such as an inability to understand that its stones can have low value even though they currently control a large amount of territory. Surprisingly, AlphaGo is simultaneously capable of beating a world champion but can also be beaten by a novice who learned to play Go for the first time earlier that day.

The result of the centaur phenomenon is that when a human player is trained to use the assistance of a computer, the combination is more powerful than either element by itself. Since the 1990s, computer scientists observed that, while a chess computer can beat a world champion nearly 100% of the time, a good centaur player can beat the best chess computers most of the time.

The Centaur Approach will Dominate the Software Industry

In 2023, deep neural network AI technology came face-to-face with non-technical people for the first time. ChatGPT changed the way that we will search for information on the internet. Midjourney allows a person to create beautiful, complex works of art in just a few minutes. And, most relevantly in the software sector, AI code generators such as GitHub Copilot or Amazon CodeWhisperer allow an amateur to generate working code with just a plain-text prompt in English.

Even though the code generators will continue to improve over the coming decades, I seriously doubt that the coming generation will not need to learn to write code from scratch. Code generators can produce a large amount of complex code very quickly, but human developers need to be able to review that code, understand its flaws, iteratively improve on the prompt, and manually fix bugs. In my personal field of expertise, machine vision inspection, AI-based image processing tools may be able to improve the development time of defect detection vision systems, but AI-based applications will struggle to reach the high levels of defect recognition accuracy without having a competent human software developer.

Take, for example, an experience that happened to me recently. I was approached by a major manufacturer of candy products and was asked to help them create software that would automatically recognize the type of candy based on the appearance of the candy wrapper. We created a set of training images and test images that each contained thousands of images of different brands of candy. My client suggested that we simply use a deep learning software tool to try to solve the problem quickly without needing any traditional software development at all. We tested various DL tools, but, frustratingly, they were only able to correctly categorize the candy at most 95% of the time. My client needed to have better than 99.5% classification accuracy.

Approaching the problem differently, I looked at the images and realized that the difference between the candies had mostly to do with its color content, its length, and its width. I wrote some conventional machine vision software that extracted measurements of each of these parameters, then I used that numerical data to train a machine learning neural network. The result was that every single image in the test set (yeah, that’s 100%, baby) was correctly classified.

Why did my approach outperform the most complex deep learning image analysis tools? Because deep learning image analysis tools automatically examine thousands of different visual aspects of the images, they often latch onto some visual features that appear in the training images but are not truly representative of the entire population. As a human being, I can understand the fundamental differences in the appearance of the categories in a way that computers cannot understand. By feed the neural network only the data that is relevant to the classification task, I was able to help the computer to not get distracted by data that doesn’t matter.

Will AI Ever Overtake the Centaur Approach?

One argument that I hear from AI technology advocates is that AI models will become so powerful in the coming years that the human element of the centaur approach won’t contribute anything meaningful to the situation, which will be the moment when human beings will become obsolete. Chess AI may be the canary in the coal mine that indicates to us when we are getting closer to this moment. Currently, there are reports of AIs are getting closer to being able to defeat centaurs 50% of the time. Once they reach 50%, then we can conclude that the human isn’t contributing and AI will have officially made human chess players obsolete.

Will this happen in other aspects of the AI economy? I doubt that it will reach us soon. AI generated media requires dozens of iterations of prompts before it produces decent material. AI generated content often needs large amounts of human editing. These gaps in capability are not likely to disappear in the coming decades. Also, AI won’t be able to replace human dexterous capability. You’re always going to need a human developer to assemble it and physically test it.

How Does This Affect You and Your Quality Control Automation System?

I don’t believe that enough people really understand the Centaur concept and, frustratingly, I have witnessed some businesses make poor decisions because of it. Manufacturing engineers should be wary of salespeople who try to claim that their stand-alone image analysis product can automatically train itself to perfectly recognize all your product defects. While it may work in some applications, there are going to be many situations in which you end up with an overpriced system that misses a huge percentage of your defects, which leads to material waste, manufacturing delays, upset customers, and even compromises to human safety. I can’t tell you how many times I’ve been onsite at a factory, and they point to an old vision system gathering dust in a corner that they don’t use anymore because it misses 5% of the defects. A better approach would be to hire a vision system consultant that is familiar with modern AI tools—what you might call a “centaur vision system developer” like what we can offer at Optozilla.

Previous
Previous

How Machine Learning is Surprisingly Similar to Traditional Vision Software Development

Next
Next

Use This 5 Step Process to Quickly and Affordably Create Turnkey Vision Systems that Actually Work