Behind the Scenes of a ‘Self-Learning’ Algorithm: the Magic of AI Explained
Artificial Intelligence (AI) is often portrayed as a kind of magic technology that will take over humanity in a fully autonomous and self-learning manner. In reality, however, AI is mainly a combination of machine learning and smart programming, which actually requires a lot of human effort. In this article, I will provide a glimpse of what’s hidden behind the scenes of popular ‘self-learning’ applications.
By Ivo Fugers, data scientist at ORTEC
One of the most well-known fields of AI research is machine learning. Machine learning can perhaps best be explained as a statistical computer model that is able to recognize patterns in data. Machine learning allows AI to ‘learn’ from previous observations. Therefore AI can perform tasks, without explicitly being programmed to perform that task (i.e. Machine Learning can classify the risk of an insurance taker without knowing that person, assuming he/she behaves in way it has observed in previous data). Eventually. Because before it can do so, it needs to go through a detailed training program that requires considerable human input. A human has to accurately define the problem to be solved, outline correct and incorrect answers in advance, label the training data (although this might be automated), and evaluate correct and incorrect actions. In addition, a large part of the work that’s involved in machine learning covers the proper configuration of an algorithm. Each case has its own optimal settings, which demands a lot of testing and research on the part of the Data Scientist. I’ve selected two real-world examples to illustrate this process.
Chatbots are automated – speaking or typing – conversation partners. This form of AI is at the moment frequently used to unburden customer service departments, for example by answering frequently asked questions, or by sorting callers to ensure that they reach the right person directly.
Chatbots are programmed to recognize patterns in the input they receive. Based on those patterns, they then provide a pre-scripted answer. This already requires quite a bit of human labor, both manual and intellectual. When creating a new chatbot, you have to write out ‘conversation trees’. These include a wide range of input variations (ex.: ‘What is the weather forecast today?’, but also ‘Is it going to be hot today?’ or ‘Is it going to rain today?’), which should lead to the desired output (in this case, the weather forecast). It is no longer necessary to manually enter all of the input variations, because a good notation model allows for recognition of the most important patterns in a number of examples.
Chatbots are programmed to recognize patterns in the input they receive. Based on those patterns, they then provide a pre-scripted answer. This already requires quite a bit of human labor, both manual and intellectual. When creating a new chatbot, you have to write out ‘conversation trees’. These include a wide range of input variations (ex.: ‘What is the weather forecast today?’, but also ‘Is it going to be hot today?’ or ‘Is it going to rain today?’), which should lead to the desired output (in this case, the weather forecast). It is no longer necessary to manually enter all of the input variations, because a good annotation model allows for recognition of the most important patterns in a number of examples. But the response scripts can quickly become very complex: the question ‘Why is Rob not here, is he under the weather?’ will need to activate a completely different script than the weather forecast. A chatbot therefore does not simply react to keywords, but is able to recognize the relationships between different keywords. But that doesn’t mean the chatbot knows which relationships belong to which script: defining and labelling the keywords is pure human work (or ‘drudgery’, as the NRC (Dutch link) recently described it).
The next step is to make chatbots ‘smarter’ as they are used more often. We still need humans to define ‘good’ and ‘bad’ conversations, and to correct the algorithm as to which response to give. That way, the chatbot can ‘learn’ not to make the same mistake again, and advances the pattern that the chatbot recognizes in the input. This may sound like self-learning, but humans are constantly providing the necessary feedback. In addition to the Data Scientist, the end users are also frequently called on to provide that feedback. The Google Assistant is an excellent example. The chatbot recently began speaking Dutch, but it still isn’t very fluent. So in order to improve its proficiency, it regularly asks its users if it has done what they had expected (for example by giving a thumbs up or a thumbs down, see illustration). The more people that provide it with training data, the more accurate it can predict what the desired answer will be for the next question.
Predicting the moment that different parts of a machine need maintenance or replacement can provide enormous improvements in efficiency. This application of machine learning, known as predictive maintenance, is extremely popular in the industrial sector. But before a machine becomes smart enough to tell its operators that it is time to inspect a pump or a bearing, many man-hours of work are required. That starts with collecting data about the variables that can have an effect on the life cycle of machine parts. There are not only countless types of machines (turbines, pumps, centrifuges, coolers), but they all have different motors (gas, electric, diesel), drive shafts, formats, ages, and materials. Moreover, there are also several different indicators for wear, varying from vibrations and temperature to rotation speed or pressure. So creating a solution that collects the right data for the algorithm to use requires a huge amount of human expertise. Collecting these data from different systems, cleaning the data and combining them is usually a very time-consuming process (around 80% of the Data Scientist’s time, according to Forbes). And still, no models have been created, and no insights have been generated!
In order to ensure that the complex predictive maintenance algorithm produces the correct results, we need a different training method than that is used for the chatbot. The chatbot ‘learns’ what it needs to do based on complete examples elaborated by humans: when someone says ‘x’, they want to know ‘y’. In predictive maintenance, so many variables have an influence on the need for maintenance that the algorithm often doesn’t even know what it should look for. It has to sort through the tangle of data to find the strongest indicators of a problem situation. In other words: we tell the algorithm that we want to know ‘y’, but we have only little idea what ‘x’ is, except for the fact that it is hidden in the data. The algorithm eventually telling us what we want to know may seem as if it is ‘self-learning’, but before it can do so, it requires humans again to teach the algorithm the values that belong to a machine that is operating ‘correctly’ or ‘incorrectly’. In other words: the algorithm can only start searching for the ‘x’ after a human tells it what the normal and problem situations are.
Greater value from machine learning
AI applications, such as chatbots and predictive maintenance, have a huge potential and can be a valuable tool for increasing efficiency. But before your company starts pursuing AI applications, it is important to understand that they involve more than just pressing a magic button. The process of producing a prediction from data has to be arranged extremely precisely. That requires expanding your knowledge, and perhaps even changing your operations, but it will certainly involve a lot of human effort. Once you understand that, you start the trajectory with the right expectations, leading to a greater chance of success at creating a machine learning application that is fully attuned to your operations and that delivers the promised added value.