Artificial intelligence-based (A.I.) technologies are all the rage. The pervasiveness of A.I. solutions has reached down into the minds of laypeople. I have had numerous conversations with individuals that look at an internal process within their organization and ask, “can we add A.I. to this?”. The push to “A.I.-ify” everything without fully understanding the technology’s limitations or requirements can put a damper on progress. There is a strong push to democratize expert knowledge throughout an organization using A.I.. This blog will cover expert and learning systems two common methodologies for constructing intelligent systems.
Expert systems are a branch of artificial intelligence, where subject matter experts encode their knowledge within a system that attempts to imitate the reasoning and advice of the expert. Expert systems work best with specific activities or problems calling upon a database of rules and models. The core task in developing an expert system is in the creation of the knowledge database followed by the development of an inference engine that contains all the processing rules and logic. When successful, an expert system can distribute human expertise widely, providing increased consistency, accuracy, and reliability as users are working with a single source of truth. Surprisingly, it is likely that we have all developed and used an expert system when we built or used a spreadsheet to aid in a decision-making process. The costs in developing an expert system can vary dramatically. Expert systems require highly trained specialists and, depending on the field, these resources can be expensive, as well as to development expertise. Expert systems require continuous upkeep with costs scaling non-linearly with complexity. The challenge with expert systems is that not all knowledge can be codified in a way that is understandable by machines. For instance, how do we write rules for machines that explain empathy or common sense?
Learning systems, commonly referred to as Machine Learning systems, are computer algorithms that improve automatically through experience. Learning systems require training data to make predictions. Learning systems discover how to perform tasks without explicitly being programmed to do so, which is in contrast to expert systems, where the behavioral rules are hard coded during development. With learning systems, training data is an absolute requirement, without good training data the resulting model will be ineffective. Two common uses we see learning systems deployed for are recommendation engines and classification systems. Expert systems would have a hard time, compared to current day machine learning models, suggesting your next purchase on Amazon or the next series to binge on Netflix. Great recommendations factor in thousands of variables. Humans are great at classifying. It is effortless for us to recognize a cat, dog, hotdog, however, teaching a machine is extremely difficult. With enormous amount of training data and computation, models can be trained to classify objects with high accuracy, which has the potential to revolutionize numerous industries. Recent success in classification systems is a major source of hype. But therein lies the problem with learning systems, as currently the data and computation requirements of industry leading machine learning models doubles every three months! Whether machine learning model development becomes a tool for the masses is unknown; however, it is undeniable that machine learning model use will be ubiquitous.
To summarize, expert systems work best when the environment is discretely definable. Common sense is a uniquely human experience and its translation into software is challenging. Learning systems use the training data to define the decision logic, therefore, currently work best when there is abundance of data and computational resources available. Both methodologies require deep understanding of statistics, computer science, and the subject being analyzed. In today’s talent environment, individuals that are competent in at least two of these areas are highly desirable and command high wages. Developing internal competencies in Artificial Intelligent systems represents significant investments in both human talent and technology development. Likewise, as more A.I. based services become available for the common public, it is important to have resources within your organization capable of using these resources but understanding the underlying subject to translate and communicate the results.