Artificial neural networks consist of a large number of densely-interconnected simple processing nodes, each of which produces a non-linear result of a weightedsum of its inputs (e.g., the output is a binary "1" if
the sum exceeds a set threshold). The input stimuli and/or the outputs of
other neurons are typically as shown in Figure 11. While there are numerous
architectures of neural networks, they all work by partitioning the
N-dimensional stimulus space into a series of continuous regions and as such,
serve as "feature detectors" where the output (1,0) of an output-stage neuron
represents the presence or absence of a desired feature. This behavior is
especially useful in pattern recognition.
Figure 11 - Typical
Neural Network Configuration
Neural networks, unlike expert systems or fuzzy logic, do not partition the stimulus space based on explicit rules. Rather, they are "trained" with sets of example stimuli and desired outputs. The training procedure gradually adjusts the weighting coefficients on each neuron's input until the global error is minimized. Successive training sets for other stimulus-response sets alter the coefficients, but a "memory" of previous training sets remains. Given a sufficient number of training sets, the neural network gradually converges to a stable set.
Neural nets have four significant advantages over expert systems:
- While they are slow to train, neural networks can
be trained by someone who is not an expert in the field (the training data
sets, however, must be prepared by such an expert). This can translate into
considerable time and cost savings.
- Because the network is trained by example, it can
capture the intuitional expertise as well as the procedural aspects.
- The neural net automatically creates contiguous
regions in the stimulus hypercube, eliminating the: region gap, overlap, and
understatement problems inherent in expert systems.
- Neural networks have been shown to be robust in the face of the noisy data found in nature. They require little or no sensor calibration or special non-linear quantization schemes.
Several factors, however, mitigate against the use of neural networks. These include:
- Lack of a sound theoretical understanding of neural
- Absence of practical guidelines for selecting
amongst the multitude of competing architectures. Network architecture is
often a matter of personal taste
- Lack of an established means for determining the
correct number of neurons to use in a given architecture for a given
problem. Practitioners typically add neurons until they achieve a desired
level of network stability.
- Neural networks are sensitive to the training data:
With too little training neural nets tend to misidentify stimuli (i.e.,
mispartition stimuli space). They can also exhibit pattern sensitivity to
some data sets. That is to say, the network will not converge to a stable
configuration, but oscillates between two or more metastable regions.
- Attempts to deal with metastability and divergence
often incur a rapid growth in the number of neurons.
- Neural networks are unable to provide an audit trail showing how or why an incorrect decision was made. This makes them much harder to debug than expert systems, and also poses some interesting liability issues.
In summary, neural networks provide several distinct advantages over classical expert systems, most notably, a) training by example, b) robust pattern matching in the face of noisy or incomplete data, and c) the ability to capture an expert's intuitive knowledge. However, they operate "mysteriously", in a field with few landmarks. This makes neural network solutions difficult to develop.