Neural networks offer a different way to analyze data, and to recognize patterns within that data, than traditional computing methods. However, they are not a solution for all computing problems. Traditional computing methods work well for problems that can be well characterized. Balancing checkbooks, keeping ledgers, and keeping tabs of inventory are well defined and do not require the special characteristics of neural networks. Table 1 identifies the basic differences between the two computing approaches.
Traditional computers are ideal for many applications. They can process data, track inventories, network results, and protect equipment. These applications do not need the special characteristics of neural networks.
Expert systems are an extension of traditional computing and are sometimes called the fifth generation of computing. (First generation computing used switches and wires. The second generation occurred because of the development of the transistor. The third generation involved solid-state technology, the use of integrated circuits, and higher level languages like COBOL, Fortran, and "C". End user tools, "code generators," are known as the fourth generation.) The fifth generation involves artificial intelligence.
CHARACTERISTICS | TRADITIONAL COMPUTING |
ARTIFICIAL NEURAL |
Processing style |
Sequential |
Parallel |
Learning Method |
by rules (didactically) |
by example (Socratically) |
Table 1 Comparison of Computing Approaches.
Typically, an expert system consists of two parts, an inference engine and a knowledge base. The inference engine is generic. It handles the user interface, external files, program access, and scheduling. The knowledge base contains the information that is specific to a particular problem. This knowledge base allows an expert to define the rules which govern a process. This expert does not have to understand traditional programming. That person simply has to understand both what he wants a computer to do and how the mechanism of the expert system shell works. It is this shell, part of the inference engine, that actually tells the computer how to implement the expert's desires. This implementation occurs by the expert system generating the computer's programming itself, it does that through "programming" of its own. This programming is needed to establish the rules for a particular application. This method of establishing rules is also complex and does require a detail oriented person.
Efforts to make expert systems general have run into a number of problems. As the complexity of the system increases, the system simply demands too much computing resources and becomes too slow. Expert systems have been found to be feasible only when narrowly confined.
Artificial neural networks offer a completely different approach to problem solving and they are sometimes called the sixth generation of computing. They try to provide a tool that both programs itself and learns on its own. Neural networks are structured to provide the capability to solve problems without the benefits of an expert and without the need of programming. They can seek patterns in data that no one knows are there.
A comparison of artificial intelligence's expert systems and neural networks is contained in Table 2.
Characteristics | Von Neumann Architecture |
Artificial Neural |
Processors |
VLSI |
Artificial Neural |
Processing Approach |
Separate |
The same |
Processing Approach |
Processes problem |
Multiple, |
Connections |
Externally programmable |
Dynamically self |
Self learning |
Only algorithmic |
Continuously adaptable |
Fault tolerance |
None without |
Significant in the |
Neurobiology |
None |
Moderate |
Programming |
Through a rule based |
Self-programming; |
Ability to be fast |
Requires big processors |
Requires multiple |
Table 2 Comparisons of Expert Systems and Neural Networks.
Expert systems have enjoyed significant successes. However, artificial intelligence has encountered problems in areas such as vision, continuous speech recognition and synthesis, and machine learning. Artificial intelligence also is hostage to the speed of the processor that it runs on. Ultimately, it is restricted to the theoretical limit of a single processor. Artificial intelligence is also burdened by the fact that experts don't always speak in rules.
Yet, despite the advantages of neural networks over both expert systems and more traditional computing in these specific areas, neural nets are not complete solutions. They offer a capability that is not ironclad, such as a debugged accounting system. They learn, and as such, they do continue to make "mistakes." Furthermore, even when a network has been developed, there is no way to ensure that the network is the optimal network.
Neural systems do exact their own demands. They do require their implementor to meet a number of conditions. These conditions include:
a data set which includes the information which can characterize the problem. | |
an adequately sized data set to both train and test the network. | |
an understanding of the basic nature of the problem to be solved so that basic first-cut decision on creating the network can be made. These decisions include the activization and transfer functions, and the learning methods. | |
an understanding of the development tools. | |
adequate processing power (some applications demand real-time processing that exceeds what is available in the standard, sequential processing hardware. The development of hardware is the key to the future of neural networks). |
Once these conditions are met, neural networks offer the opportunity of solving the problem