(c) 1996 IEEE. Personal use of this
material is permitted. However, permission to reprint/republish this
material for advertising or promotional purposes or for creating new
collective works for resale or redistribution to servers or lists, or to
reuse any copyrighted component of this work in other works must be obtained
from the IEEE.By choosing to view this document, you agree to all provisions of the copyright laws protecting it.
Radu Drossu Zoran Obradovic Justin Fletcher
rdrossu@eecs.wsu.edu zoran@eecs.wsu.edu jfletche@eecs.wsu.edu
School of Electrical Engineering and Computer Science
Washington State University, Pullman, Washington, 99164-2752
The graphical user interface (GUI) for heterogeneous neural network simulators proposed in this article is intended to be of use both for the novice and for the experienced neural network user. For the novice, it provides an easy to use neural network simulation package that insulates the user from the requirements of knowing the simulator implementation details or the configuration file syntax. For the experienced neural network professional it provides an interface that is easily extensible to include any additional neural network simulator in its binary form. To satisfy both academic and personal computer environments, the GUI has been developed by using the free TCL/TK software package, available on workstations running UNIX and on PC's running the free Linux operating system. Although the GUI and the embedded simulators have been successfully tested both in neural network research and training programs, a more extensive testing in undergraduate and graduate level classes is in progress.
Neural network data modeling techniques are applicable to two general types of problems:
In addition, these techniques are applicable not only to time independent, but also to time dependent problems (time series), where the patterns to be classified are temporal sequences of previous process values.
Neural network computational models consist of a number of relatively simple, interconnected processing units called neurons working in parallel. Different neural network architectures can be used to solve a given classification or prediction problem. In an architecture the neurons are interconnected through synaptic links and are grouped in layers, with synaptic links usually connecting neurons in adjacent layers. Typically three different layer types can be distinguished: input (the layer that external stimuli are applied to), output (the layer that outputs results to the exterior world) and hidden (the intermediate computational layers between input and output layer). The neural network architectures can be, roughly speaking, divided in two categories: feedforward, in which the signal flow between different layers is unidirectional (from input layer towards output layer), or recurrent, in which the flow between different layers is bidirectional (both from input layer towards output layer as well as the reverse).
The most distinctive element in neural networks, as opposed to traditional computational structures, is denoted as learning. Learning represents the adaptation of some characteristic neural network parameters by using a set of examples (known outcomes of the problem for given conditions) so that for given input patterns the outputs reflect the value of a specific function. The final data modeling goal is not to memorize some known patterns, but to be able to generalize from prior examples (to be able to estimate the outcomes of the problem under unknown conditions).
Neural network data modeling represents the combination of an architecture and an appropriate learning technique. Traditional approaches assume learning on a prespecified architecture, whereas constructive learning creates the appropriate architecture during the learning process. Most neural networks have a number of architectural and learning parameters that have to be appropriately specified. Selection of appropriate parameters for large scale applications is an important experimental problem. If parameters are not appropriate, the algorithms may take a long time to converge or may not converge at all [12]. Consequently, in training novice neural network users, an emphasis on techniques and intuition development is necessary for properly setting these parameters.
Currently, most neural network modeling is performed on standard sequential computers (rather than on specialized neural network hardware) using simulation software. Until recently the choice of a simulation software was not a primary issue among neural network professionals, as application of neural network technology has been limited to relatively small problems. However, the choice of an efficient simulation software plays an important role when dealing with large scale, real life applications as desired by industry. The approach proposed in this paper provides developers with a number of simulator modules implementing various learning algorithms, all using a single user interface. In such an environment it is easier to select the model that is appropriate for a particular application than to become accustomed to various independent simulators.
Until recently, most neural network modeling work was performed by highly trained neural network experts. In practice, such experts learn how to use several commercial or freely available packages and in addition develop their own software to deal with special issues not supported by the packages. Experience seems to indicate that to support features not present in the standard packages, most neural network experts prefer building their own software rather than using tools developed by other experts (even inside a single group). This is a result of the significant time required to learn how to use someone else's neural network tool properly. We strongly believe that the software reuse among experts can be significantly improved by using a flexible user interface, as proposed in this paper, that can easily support developers' needs.
As the applicability of artificial neural networks seems to extend far beyond the computer science domain to areas like electrical engineering, biology, medicine and business, the need for rapidly trained personnel able to quickly assimilate neural network techniques and to apply them to the corresponding domain becomes increasingly acute. Thus the necessity arises to acquire some basic neural network knowledge rapidly, without covering underlying mathematical and programming details, but rather concentrating on understanding the conceptual model as well as on designing adequate experiments tuned to a particular problem. Our experience indicates that the choice of a graphical user interface, as proposed in this paper, plays a crucial role when trying to transfer neural network technology rapidly to non-expert users.
The graphical user interface (GUI) proposed in this article is intended to be of use both for the novice and for the experienced user. The software package included with this paper provides interfaces to both the most used traditional backpropagation learning through gradient descent optimization on a prespecified analog architecture [14] and to a novel learning technique developed in our laboratory, known as hyperplane determination from examples (HDE), which automatically grows a problem tailored discrete architecture [4, 5]. The fine-tuning of each neural network learning process is done by adjusting specific learning parameters. For the novice, it provides an easy to use neural network simulation package which supports both backpropagation and HDE, insulating the user from the requirements of knowing the implementation details and the configuration file syntax for running the simulators. For the experienced neural network professional it provides an interface that is easily extensible to include any additional neural network simulator in its binary form.
The paper is organized as follows: Section 2 contains a description of the graphical user interface and its underlying menu structure; Section 3 illustrates the flexibility, portability and extensibility of the GUI by means of embedding two radically different neural network simulators and Section 4 discusses the applications of the GUI in research and teaching as well as suggestions for further improving the GUI.
The GUI proposed in this paper is developed for UNIX and Linux environments to satisfy both expert and novice users' needs. To ensure portability, the GUI has been written using just the TCL/TK core features without any additional C procedures. The GUI allows an interactive setting of neural network simulator parameters as well as the execution of the simulations. In its current form, the GUI embeds two radically different simulators, a backpropagation simulator and the HDE constructive learning simulator. A basic understanding of TCL/TK allows the user to easily embed additional simulators by "linking" their executable files to the GUI interface.
The GUI provides the following basic features:
In order to run the GUI, the contents of either the directory called NNGUI/UNIX (for HP 9000 series workstations), or of NNGUI/LINUX (for PC's running Linux) from the CD-ROM must be copied to a user's directory (such as MYNNGUI). After setting the current directory to MYNNGUI the GUI can then be started by issuing the command {\tt nngui}. The different menus of the GUI can be accessed either by clicking them with the left mouse button or by simultaneously pressing the ALT key and the underlined letter key of the menu name. During application execution, certain GUI options can be accessed directly from the main window through the use of a keyboard accelerator (hot key). The options that have corresponding hot keys have the key combination displayed in the pop-up menus (see the help file for a list of options), where CTRL+A represents pressing the CTRL and A keys simultaneously. The interface is not case sensitive, so lowercase a is the same as uppercase A). In each file selection box, a file is selected by double-clicking it with the left mouse button.
The menu structure of the GUI can be represented hierarchically as in Fig. 1.
A brief explanation of each of the different menu items supported under the current GUI implementation follows. For a more detailed explanation, install the program from the CD-ROM and select the Help option under the Help menu item, or press CTRL+H in the main menu window.
The default color configuration can be restored by selecting the Restore Color Configuration menu item, whereas the preferred color configuration can be saved by choosing the Save Color Configuration menu item. Whenever a new color configuration is saved, it will overwrite the previously saved color configuration stored in the file config.crt.
From the perspective of the end user, who should be insulated from implementation details, the only differences that appear between various simulators are reflected in just the Configuration menu. As previously mentioned, this menu depends on the neural network simulator selected in the Network menu. If additional simulators are added to the GUI, these will be reflected in the corresponding Configuration menu options when selected.
A brief description of the configuration options for the two neural network simulators included in this version of the GUI follows. For a detailed description of the parameters that are set in this menu, the reader is advised to install the software from the CD-ROM and to consult the help file (by pressing CTRL+H in the main window). For details of configuring model parameters, the basic concepts for the backpropagation learning technique can be found in [6], while the HDE constructive learning concepts can be found in [4, 5].
The corresponding Configuration menu settings for the backpropagation simulator are:
In summer 1995, the GUI was also used by neural network first-time users during the WSU/NSF Teacher Institute for Science/Mathematics Education through the Engineering Experiences training program. Two mathematics teachers with no prior knowledge of either the UNIX operating system or neural networks spent six weeks in our laboratory with the objective of learning neural network techniques for designing backpropagation experiments. After becoming accustomed with the GUI in a fast learning process, the results obtained by them on a few neural network benchmark classification problems like the Monks problems [11] and the breast cancer diagnosis problem [15] were comparable to the best known results for the corresponding problems. As a final result, they also developed a neural network teaching module to be used in high school.
Although the GUI and the embedded simulators have been successfully tested both in neural network research and training programs, more extensive in-class testing is needed. Hence, the GUI is intended for use in two courses offered in Fall '95 at the School of Electrical Engineering and Computer Science at Washington State University. One is an undergraduate course on Artificial Intelligence while the other one is a graduate course in Neural Networks. From these two diverse groups of students we expect to gain valuable suggestions on future extensions to the current version of the GUI. Finally, any feedback from the readers of this article and users of the software provided on the accompanying CD-ROM would be extremely beneficial for improving the current GUI implementation and embedding additional neural network simulators.
[2] R. Drossu et al., ``Single and Multiple Frame Video Traffic Prediction Using Neural Network Models,'' in Computer Networks, Architecture and Applications, S. V. Raghavan and B. N. Jain eds., Chapman \& Hall, pp. 146-158, 1995.
[3] R. Drossu and Z. Obradovic, ``Novel Results on Stochastic Modelling Hints for Neural Network Prediction,'' in World Congress on Neural Networks, Washington D.C., vol. 3, pp. 230-233, 1995.
[4] J. Fletcher and Z. Obradovic, ``Combining Prior Symbolic Knowledge and Constructive Neural Networks,'' in Connection Science: Journal of Neural Computing, Artificial Intelligence and Cognitive Research, vol. 5, nos. 3-4, pp. 365-375, 1993.
[5] J. Fletcher and Z. Obradovic, ``A Discrete Approach to Constructive Neural Network Learning,'' in Neural, Parallel and Scientific Computations, vol. 3, no. 3, pp. 307-320, 1995.
[6] S. Haykin, ``Neural Networks: A Comprehensive Foundation,'' MacMillan Publishing Company, 1994.
[7] M. Mangeas, A. S. Weigend, ``Forecasting Electricity Demand Using Nonlinear Mixture of Experts,'' in World Congress on Neural Networks, Washington D.C., vol. 2, pp. 48-53, 1995.
[8] O. Matan et al., ``Multi-Digit Recognition Using a Space Displacement Neural Network,'' in Advances in Neural Information Processing Systems, vol. 4, pp. 488-495, 1992.
[9] J. K. Ousterhout, ``Tcl and the Tk Toolkit,'' Addison-Wesley, 1994.
[10] M. G. Sobell, ``UNIX System V: A Practical Guide. Third Edition,'' Benjamin Cummings, 1995.
[11] S.B. Thrun et al. ``The MONK's Problems: A Performance Comparison of Different Learning Algorithms,'' Technical Report, Department of Computer Science, Carnegie Mellon University, 1991.
[12] R. Venkateswaran and Z. Obradovic, ``Efficient Learning through Cooperation,'' in World Congress on Neural Networks, San Diego, CA, vol. 3, pp. 390-395, 1994.
[13] M. Welsh, L. Kaufman, ``Running LINUX,'' O'Reilly and Associates, Sebastopol, California, 1995.
[14] P. Werbos, ``Beyond Regression: New Tools for Predicting and Analysis in the Behavioral Sciences,'' Harvard University, Ph.D. thesis, 1974. Reprinted by Willey and Sons, 1995.
[15] W. H. Wolberg and O. L. Mangasarian, ``Multisurface Method of Pattern Separation for Medical Diagnosis Applied to Breast Cytology,'' in Proc. National Academy of Sciences, U.S.A., vol. 87, pp 9193-9196, 1990.
Radu Drossu received his M.S. degree in Electrical Engineering from the Polytechnical Institute of Bucharest - Romania in 1990. He worked as a system programmer and hardware designer at the Research Institute for Automation (IPA), Bucharest from 1990 to 1993. He is currently a Ph.D. candidate in Computer Science at Washington State University, doing his research in Artificial Neural Networks under the supervision of Dr. Zoran Obradovic.
Zoran Obradovic received the B.S. degree in Applied Mathematics, Information and Computer Sciences in 1985, the M.S. degree in Mathematics and Computer Science in 1987, both from the University of Belgrade and the Ph.D. degree in Computer Science from the Pennsylvania State University in 1991. He is currently a research scientist at the Mathematical Institute of the Serbian Academy of Sciences and Arts, Belgrade and an Assistant Professor in the School of Electrical Engineering and Computer Science, Washington State University. The objective of his research is to explore the applicability of neural network technology to large scale classification and time series prediction problems in very noisy domains.
Justin Fletcher received his B.S. in Interdisciplinary Studies in 1980 and his M.S. in Computer Science in 1983 from the University of Idaho. From 1982 until 1991 he worked as software engineer, consultant and software manager in industry. He received his Ph.D. degree in Computer Science from Washington State University in 1994 specializing in Artificial Neural Networks and is currently a software consultant.