Artificial intelligence, machine learning, computer vision, virtual assistants, … For the last few years, AI has dominated the world of technology. But what really is AI? And how many so-called applications are an intelligent use of AI?
Artificial intelligence has long been a dream of mankind. Over the past few years, we have got closer and closer to creating that dream, at least in the narrow domain. But people would be forgiven for thinking we’re already in the era of artificial general intelligence. Wherever we look in the media, companies are claiming to use AI to solve a host of problems. Yet, how many of these companies are really using artificial intelligence? How many can actually justify the term as anything other than jumping on a bandwagon? How many of those “intelligent” products are an intelligent use of AI?
Artificial intelligence is a very broad term. There are two trains of thought regarding what counts as artificial intelligence. One goes, any computer system that applies some form of intelligence (typically taken to be a form of learning), must be a form of AI. This is the narrow form of AI. The other says, only an artificial general intelligence is really an AI. That is a system that is capable of autonomous actions across a broad selection of different forms of intelligence.
Narrow AI covers any computer system that uses intelligence to solve a specific problem in a narrow field. That is systems which don’t just apply a predetermined set of algorithms. Far and away the most common form of narrow-domain AI is machine learning (ML). ML covers a broad set of techniques that learn to spot patterns in data and thus enable the computer to make predictions based on the data it receives. Other common forms of AI include:
- Computer vision (where a computer is able to recognize objects in still and moving images).
- Natural language processing (NLP), where a computer is able to learn how to understand natural (e.g. human) languages.
- Deep learning, where the computer is able to teach itself (for instance, Google Mind teaching itself to play Go).
In all these narrow domains, AI can excel, and can often perform better than a human. However, they are all very narrow in scope.
Artificial general intelligence
Ask Joe Public what they envisage when you talk about artificial intelligence and chances are they will conjure up a dystopian vision of all-powerful global supercomputers, such as Skynet. These sorts of AIs are able to apply multiple forms of intelligence to solve a wide set of problems. Importantly, they don’t need to be specially trained to solve that problem. The term for this is artificial general intelligence. For years, humans believed this form of intelligence was what set us apart from animals. However, there is ample evidence that some animals are able to display such intelligence (e.g. crows learning how to make tools). At present, no AI can really exhibit this form of intelligence, though we are getting closer with some deep learning systems.
Justifying the use of the “AI” term
Many companies have jumped on the artificial intelligence bandwagon. Every company suddenly seems to be using it in their products. Software engineers are desperate to find excuses to use it. Universities have created new courses just to feed the insatiable demand for data scientists. But how many of these so-called AI systems are really using AI? And if they are using AI, are they an intelligent use of AI? If you are an AI-purist, then you would say that no system can yet justify the use of the term. But what if you are one of the majority who accepts that narrow-domain AI is still a form of AI?
Surely, if your system is using ML or computer vision it can be called AI? But just using one of these techniques doesn’t necessarily make your system artificially intelligent. Certainly, it's not an intelligent use of AI. Most cloud providers now have market-places where you can buy AIs as a service. For instance, you can buy a service that will read in the details from an invoice or receipt and add it into a spreadsheet. Now, while the underlying image recognition and optical character recognition are forms of AI, a piece of software that just uses that service is probably not a form of AI. Any more than an animal aping human behavior is being intelligent. At best, such a service can describe itself as AI-powered.
So, what should “AI” mean?
That raises an important question. What should “AI” mean when a company uses it to market their product? What sets something apart as being truly AI, rather than AI-powered (or even not AI at all)? How can you justify using the term? Well, there’s a couple of important aspects. Firstly, you should be doing something more than just re-packaging an existing service. You should either be creating your own bespoke ML models, or you should be combining multiple different systems. Secondly, the use of ML, computer vision, etc. should be actively enhancing your product. The dumb application of AI where it isn’t helpful or necessary is pointless. In particular, the insistence on trying to use machine learning or image recognition where you have too small a dataset to produce well-trained models. In other words, what is needed is the intelligent use of AI.
What do we mean by the intelligent use of AI? Well, there are a few important factors:
1) Don’t just repackage an existing model unless you are certain how it will perform in all cases.
2) Be sure that the problem is really suitable for AI. If you don’t have a large dataset, ML will never work well. Equally, if you are looking for really obvious features, AI may just be unnecessary.
3) Make sure the use of AI will give better outcomes than an existing alternative. Sometimes, old-fashioned statistical approaches for clustering and feature extraction may be better.
4) Consider using hybrid approaches where you combine several different forms of AI or combine AI with traditional statistical approaches.
If you still believe AI is the best approach, and if you can make it work, then you are probably justified in using it.
How do we use artificial intelligence in Functionize?
Here at Functionize, we make a lot of noise about our intelligent test agent. But, some of you may ask, how do you justify calling it intelligent? How do we know you’re not just another of those companies claiming to do AI? Well, let’s look at our checklist above and compare it with our approach:
1) None of the Functionize models are re-packaged from other services. Before we started, no one had used any form of machine learning in the way we use it for testing. For instance, our ML engine uses machine learning to fingerprint and identify elements in your UI.
2) When we started, we didn’t have enough data to construct good models. So, we went out and generated the data iteratively. After launch, our machine-learning-powered test recorder allowed us to improve our training data by learning from how you interacted with your site.
3) We are not dumbly wedded to AI. There are several aspects of our system where we use other techniques. A good example is our autonomous template recognition. Here, we chose to use a domain specific language for icon recognition because we had insufficient data to be able to train a computer vision model.
4) Our entire system is a hybrid of multiple AI techniques alongside more traditional statistical methods. We use NLP, several types of machine learning, image recognition, reinforcement learning, and various clustering algorithms to name but a few.
Intelligent applications of Artificial Intelligence
But ultimately, we feel the results speak for themselves. Through our intelligent use of AI, we have ended up with a system that can take a test plan written in plain English, convert it into a test, and run that test across any combination of browser or device. Results are analyzed visually, and any anomalies are presented to the user. If you update or change your UI, the tests will self-heal because the system has actually learned how the UI works. Where a change triggers a subtler failure, our Root Cause Analysis system comes into play. RCA uses its deep knowledge of your system to suggest the likely causes. It can even test different solutions to identify the best fix.
Artificial intelligence is often an abused term, hijacked by marketing to sell products that have only the vaguest connection to artificial intelligence. But many products genuinely are applying AI to solve problems that couldn’t be done by a machine before. We believe that our intelligent test agent can fully justify the use of “intelligent”, and we will unashamedly go on calling it such!