Written by Bruce R. Copeland on January 21, 2020
Tags: artificial intelligence, information, software development
In the last few years Artificial Intelligence (AI) has attracted much attention and some fair bit of controversy. Unfortunately there are significant myths and misconceptions about AI. This is the first of three articles about AI: what it is, how it works, and how it compares to human intelligence.
There are actually four different basic types of artificial intelligence:
- Rule Systems are sets of logical rules that apply to specific domains of knowledge. Such systems have been widely used (in various degrees of sophistication) in software for decades. Rule systems correspond closely with human conscious logical reasoning and mathematical problem solving. The logic in rule systems is entirely deterministic, and the effectiveness of a rule system depends sensitively on the ability to identify actual facts and correctly discriminate facts from assumptions. Rule systems are occasionally used with lesser rigor in conjunction with some type(s) of heuristics. Expert systems are an example not widely used anymore in computing.
- Neural Networks are systems of connected processing nodes (including input and output nodes) that mimic biological neural systems. The connections between nodes can be organized in many ways, but nodes are typically divided into layers, and most neural networks have feed-forward (input to output) information flow. A specific combination of input data and expected output data is called a pattern. Each node (or more commonly layer) has an associated learning rate, and neural network learning can be either supervised or unsupervised. There are actually many different types of neural networks, but only one main type (feed-forward, supervised deep learning) is in wide use today. Supervised training of a neural network is accomplished by presenting multiple patterns to the network, and the resulting training is usually some approximation of mathematical regression (linear or nonlinear). Stochastic variation can be introduced as part of training, but is not a requirement. Neural networks are similar to human neural (non-conscious) data/input processing; however human neural processing is NOT regression.
- Genetic Algorithms are systems that optimize sets of possible attribute values for a system or problem by genetic reproduction/selection. A population of different possible combinations of attribute values is used. Optimization is accomplished by forming subsequent generations from the initial population according to whatever reproduction and selection models have been chosen. Optimal attribute values are usually obtained after numerous generations. The optimization is highly stochastic.
- Genetic Programming is analogous to a genetic algorithm, but the attributes/values are programming loops, decisions, order, etc used for a computer algorithm. The resulting optimization is highly stochastic. Genetic programming can be very powerful but is not widely used. It is unclear whether biological organisms might use something similar to genetic programming when optimizing the logical work flow for some kind of conscious/unconscious intelligence.
Of these basic types, only rule systems and neural networks are in common use. Today when people refer to AI, they almost invariably mean the use of feed-forward, supervised neural networks for pattern recognition.
Nearly all specific applications of AI (regardless of basic type) rely on some kind of custom executive/governor. The effectiveness/reliability of the application invariably depends on the quality of the governor.
None of the basic types correspond closely to overall human intelligence and its capacity for breadth, reliance on both conscious and unconscious learning, implementation of common sense, and possibility for ethics. There is however an AI called a procedural reasoning system (PRS) that combines multiple basic types, a database, and a sophisticated governor. Procedural reasoning systems are VERY seldom used today (MARS rovers and possibly some self-driving cars are examples), but they DO correspond most closely to what we call human intelligence. We can expect to see many more procedural reasoning systems in the relatively near future.
Automation also deserves mention because automation is often discussed in the same breath with AI. Automation may be simple heuristics, a rule system, a neural network, or some combination. Automation can be quite effective for some types of problems, but it is frequently very inflexible and “less than intelligent.” Whether automation qualifies as AI really depends on the specific implementation.
The next article in this series will explore computational neural networks and their training in much greater detail.