The current interest in artificial intelligence is nearly completely focused on data-driven AI, which is driven by industry. The reasons are simple to comprehend. Cheap data storage, fast computers, and advances in neural net algorithms, and other data-centric methodologies have enabled substantial value extraction from data. We can create systems that can accurately forecast what will happen next based on what they've observed so far. At times, their performance is even superior to that of a person. People have labeled data-driven machine learning "the portion of AI that works" due to the increased emphasis on data-driven AI.
But how accurate is that statement? Is there truly nothing more in AI that we can benefit from? Is there anything from decades of logic, planning, semantics, and expert systems research that can help us construct a better autonomous system? We will not be able to construct successful AI systems until we properly mix data-driven AI with model-driven AI.
We risk re-inventing the wheel and losing out on extremely helpful tools if we don't appreciate what a more structured AI model brings to the table. However, to properly mix diverse AI tools, we'll need new methods of understanding and modeling autonomous system architectures — we'll need a software engineering paradigm that's exclusively focused on AI software.
Model-driven and Data-driven are the two primary approaches for handling classification and detection issues with sensor data.
Everyone learned to do things the model-driven approach in Engineering School. Begin by understanding how the physical system works — and, by extension, how it may fail. Consider the states or events you wish to detect and make a guess about what characteristics of them could be observable from the outside, as well as the target signal's appearance. Come to the lab with your gathered materials and attempt to check connections between what you've recorded and what you're looking for. Then, by hand, create a detector that will automatically locate those hard-won traits in the actual world.
Machine learning has allowed a new method of thinking called data-driven. Find an algorithm that can identify connections and correlations you didn't even realize you were looking for. Allow it to go wild with the data. Then there's the magic. But only if you do everything correctly.
Both techniques have advantages and disadvantages:
Model-driven techniques keep things simple
Model-driven techniques are effective because they are based on a thorough knowledge of the system or process and may take advantage of empirically proven correlations. Models can't handle infinite complexity, hence they have to be reduced. They have a hard time compensating for noisy data and factors that aren't included. They're constrained in some ways by the amount of intricacy that their creators can retain in their thoughts.
Model-Driven is costly and time-consuming
Who makes the models? Engineers who comprehend the complicated system's physical, mechanical, electrical, data flow, and other relevant elements — in-house specialists or consultants who work for a firm and build its products or operating equipment. These are usually seasoned professionals who are quite busy, and they are both rare and costly resources.
In addition, modeling takes time. It is intrinsically a trial-and-error procedure, anchored in the classical scientific method of hypothesis creation based on theory and experimentation. It might take a long time to find a good model and refine it until it gives the required outcomes.
Data-Driven Techniques Require a Lot of Data To Obtain Excellent Results
Data-driven approaches based on machine learning require a lot of data to get good results. Examples are used by AI systems to find features and train classifiers, and there must be enough examples to cover the entire range of predicted variation and null situations. Some tools (like our Reality AI) are capable of generalizing from limited training data and discovering viable feature sets and decision criteria on their own, but many machine learning approaches require truly Big Data to produce meaningful results, and some require their own set of experts to set them up.
When should data and model-driven AI be integrated?
Model-driven AI is an effort to use explicit representations and rules to capture our knowledge of how the world works. It's not a good match if the piece of the universe we're attempting to capture is "how to recognize a cat in a photograph." Many areas, on the other hand, are extensively codified, clearly specified, and modelable. If a model can be created, it can be used to determine the most efficient route from question to answer.
Even if the model isn't ideal, it may help us get closer to a solution. Consider the challenge of developing a conversational agent to assist a user in solving a problem in a certain area, such as "how to teach your cat."
Consider the following scenario: on the one hand, we have an NLP system that enables us to deconstruct what a user said, and it often blends data-driven AI with explicit grammatical models of a language to do so (model-driven AI). On the other hand, we've gathered advice from cat trainers on how to teach a cat in a variety of scenarios and for various cat breeds. We'll refer to the NLP system as the general layer, and the information we gathered as the domain layer. Our conversational agent will utilize the generic layer's "smarts" to analyze what the user says and reduce it to a particular action request (or intent). "I'd want to learn how to train my cat to perform tricks," the user may remark, as an example. This may be mapped to a user goal such as "teach a cat to do tricks" by the NLP system. Now that we have that purpose, we need to leverage our domain layer to extract meaningful information about which tricks would be best for the owner and their cat. We'll need a model of that particular owner and their cat, as well as a set of guidelines that will enable us to devise a training strategy. How would we go about constructing such a global model?
While much attention is paid to the generic layer, many current systems deal with domain models and reasoning over the domain layer in an unstructured or "home-made" approach. Instead, software programmers should consider how a full AI system may appear, as well as what additional tools from AI research and adjacent domains might be useful. Model-driven AI can aid in this situation. Ontologies, inference, and planning, for example, may all aid in the development of a more effective system.
Visit Bayshore to discover more about our data-driven methodologies and to sign up for a free trial.