SIMNNET a neural network definition language - De Guzman, Ramon Achilles L.; Lorenzo, Ma Olivia D. (1995)
The number of computer applications using neural networks is constantly increasing. Borrowing some features of the nervous system, neural networks endow a program with tremendous information-processing capability that no standard algorithm can provide. This research presents a development tool that could be of valuable help to the programmer via a neural network definition language. This language expresses a neural network in terms of its logical components instead of the programming language's data structures. This produces a simpler neural network code and reduces the programmer's effort in terms of software development time. Furthermore, this language offers greater expressiveness and support to a larger class of neural networks than standard graphical environments. The project involved extensive research on the foundations of neural networks, programming languages, and compiler design and construction. Studies done on previous neural network projects, and actual neural codes as well as interviews with experts on the field proved to be invaluable. This paper presents SIMNNET, a definition language that lets the programmer think with neural network units instead of computer units such as bits and bytes. The power of SIMNNET lies in its "event-driven" paradigm where processing elements are continually responding to external conditions (events), its extensible libraries, its logic-oriented approach to functions, its inherent parallelism, and its support for alternative forms of learning which dynamically modifies the structure of the network. Also, SIMNNET supports the class of associative, mapping, stochastic, and hierarchical networks. Moreover, the users of SIMNNET are not limited to the software applications developer but also to other people interested in the nature of neural networks. Most of all, SIMNNET is very easy to learn. To be of practical use, authors strongly recommend that SIMNNET employ a translator program that converts the neural network definition into an ANSI-C compatible code. This resulting C-code may link with other C modules. Furthermore, the authors suggest a multi-threaded implementation of the processing elements which will yield easily to distributed processing. As a supplement, the authors recommend that a symbolic debugger be created. This software will aid the users in detecting and removing errors introduced into their neural network definition. In addition, a graphical environment is suggested to be provided with this debugger. The improved debugger will provide the users with useful debugging information in the form of charts, graphs, and tables. Furthermore, the creation of a code optimizer for speed is proposed. This program will enable neural network programs execute faster. Lastly, the authors recommend that more routines be created and included in the predefined libraries to suit every particular computing need.
Thesis (B.S. Computer Science)--University of the Philippines Diliman.
Keywords: Neural networks (Computer science); SIMNNET