While traditional software must follow a clear decision making algorithm defined by developers, Machine Learning (which is the most popular type of AI) works differently. It processes a large amount of data and organizes it in a complex structure of weighted relationships, which it then uses to make decisions. Simply put; it learns from experience. This has a significant advantage when the relationships between different data sources are complex and non-trivial, and when given enough data it typically results in a good model. But this is also AI’s main disadvantage; its entire understanding of the world comes from the dataset it is provided with — which is always limited — meaning AI is only as good as the data it is trained on.
So what can be done?
One way to minimize the effects of this disadvantage is to provide the algorithm with a huge number of examples that cover a variety of scenarios. In fact, there are companies that do just that — they hire people to manually label data for their algorithms to train on. For example, when Google wanted to create an AI-based software that filters extremist content on YouTube, it hired thousands of employees to manually review and label millions of videos.
However, this brute-force approach doesn’t create any real intelligence. What’s the solution? Humans. We must take a more proactive role in the design of AI software; to go beyond simply creating labeled data for various cases and actually define general rules and guidelines for the software to follow as it learns from data. This allows the software to create a significantly better extrapolation from data, covering a much larger set of scenarios.
Here’s an example: imagine you were building an algorithm that classifies whether a given image contains a cat. You train the algorithm on an enormous amount of cat images until you are certain you now possess the best feline-detecting algorithm out there. One day, your artist friend sends you a photo of their curious cat, who somehow got themselves covered in Ballerina Pink paint. Full of confidence, you run the image through your algorithm, only to get this disappointing output: “Not Cat”. As you stand there confused, you recall that none of your training images had an image of a pink cat, which led the algorithm to decide that a pink object is not a cat. You slowly realize that had you implemented some prior knowledge into your algorithm, telling it to ignore color when classifying images, your friend’s cat would not have been misclassified. We refer to this as implementing domain knowledge.
A real-life example is Google’s AlphaGo; the AI software that beat the world champion in the Chinese strategy board game “Go”. This incredible achievement was only possible thanks to years of development and continuous input from professional Go player (Mr. Fan Hui, 3-time European Go champion) who took an active role and played a critical part in training AlphaGo. Mr. Hui repeatedly tested AlphaGo, exposing its weaknesses and defining the necessary changes to the neural network.
Applying these principles to automotive
It is important to remember the importance of domain knowledge when we consider AI solutions for the automotive industry. Automotive systems can be extremely complex, operating slightly differently from one another, over time, or under different environmental conditions. Therefore, as with the examples of the cat classifier and of AlphaGo, an effective AI solution for the automotive industry must incorporate a technical understanding of automotive systems into its machine learning algorithm.
For example, one data source that is extremely useful in detecting issues with rotary systems such as gearboxes and transmissions is NVH (noise, vibration and harshness). While a good generic solution might incorporate this data source into its models, only an automotive-focused solution would perform certain manipulation on it prior to that. Acerta, for instance, used vibration data to predict gearbox failure, but the network didn’t simply take the time-series as input. The data scientists who designed the model included a step where the algorithm extracts orders from the frequency-domain values of the signal — a step that was a critical factor in predicting these failures successfully.
Domain knowledge is also critical in being able to give meaning to the results. A good example is one of Acerta’s case studies in which we helped a client analyze a mysterious issue that occurred during end-of-line testing, where the video feed of the infotainment system would randomly turn off. Our algorithm determined that the issue was caused by the transmission system – supposedly a strange diagnosis, but a short investigation revealed that indeed certain gear shifts caused electromagnetic interference which affected video communications.
There are various other ways that domain knowledge is useful, such as in choosing different structures for the neural network, choosing its cost function (which system conditions are worse than others), understanding the distribution of the various input parameters, and more. Once all of these elements are established, the models can then “learn” and evolve independently as new data is introduced, producing an ever-improving model, thus creating a much more useful solution.
So what’s next?
There is no question about AI being a next-generation technology that will improve the manufacturing processes. However, much like a screwdriver is a significantly better tool for driving a screw than a hammer is, so is domain-specific AI a significantly better tool for identifying or predicting failures than generic AI. If you are an automotive manufacturer evaluating AI solutions, the first step is to make sure they incorporate domain knowledge.