I turned 60 a few weeks ago, an age that I find rather intimidating – it sounds so old, and yet I feel much the same as ever. I have however noticed a creeping change in my attitude toward life. I was recently introduced to the concept of a “f**k-it list,” being a list of all the things for which one no longer has time, interest or patience. The concept neatly describes my changing attitude towards a whole range of topics, especially when it comes to software technology and engineering.
Another change is that I increasingly enjoy provoking a good argument (a five-minute one or a full half hour!). With the Software-Centric Systems Conference on the horizon, I thought it would be fun to create debate on some of the bigger software hypes of our time. Therefore, in this column I’m going to put the case for machine learning being just another hype. And before you all start flaming me, two things: 1. my goal here is to provoke a discussion that will enlighten us all, and 2. caring about whether you think I’m right or wrong is on my f**k-it list.
Some years ago, with great fanfare, Tesla announced a software upgrade to its vehicles that introduced “AI-driven” windscreen wipers. They claimed to have made the wipers ‘smart’ by training a machine learning algorithm with a million photos of rain on the windscreen. From now on, was the claim, the wipers would operate full automatically.
I was excited to get the upgrade to my Tesla. But the user experience has been a downright disappointment. The wipers do not recognize most forms of Dutch rain. Worse, I’d naively expected to be able to teach the system about new types of rain, eg by manually triggering the wipers when they did not automatically trigger (it’s machine learning, isn’t it?). Alas, my expectations were betrayed; the system remains incapable of learning anything. This wasn’t to be the first time that machine learning has failed to impress me. For example, I’ve tried to use “AI-powered” chatbots for technical support, only to find them as irritatingly dumb as the “expert systems” that were all the rage twenty years ago.
Given the contradiction between all the money that’s being pumped into machine learning, all the hype surrounding it and my experience as a user, I looked into the subject further. It turns out that there are a whole range of issues with machine learning. #1: the term “machine learning” is a misnomer. It should be called “machine training” because deployed machine learning is incapable of learning anything. #2: machine learning is only as good as the data used to train it. Most data is not good enough. #3: machine learning algorithms are highly context sensitive, cf the Tesla rain algorithm. #4: data can be biased, leading to very nasty consequences. Which leads us to #5: it’s far from easy to interpret and explain the outcome of a machine learning algorithm, and #6: machine learning algorithms are stochastic, not deterministic. In other words, they can’t be equipped with common sense. Finally, #7: it turns out that machine learning algorithms are open to a type of hacking that can strongly bias outcomes.
To my mind, these issues mean that machine learning isn’t scalable. It sits firmly in the “Early Market” segment of the Technology Adoption Lifecycle model and has a chasm to cross before it becomes widely applicable – a point of view that’s supported by Gartner’s Hype Cycle for Artificial Intelligence 2020. You’re most welcome to disagree or agree with me. I suggest you take your point of view to the Software-Centric Systems Conference on 6 October, where it can be discussed in front of a wider audience.