This section describes the main ways in which the many tasks involved in neural network simulation have been divided up and assigned to different types of objects. It is essential to understand this division of labor in order to use the software effectively.
There are four central components to a neural network simulation as we
see it:
Since all of these components work together in a given simulation, we have grouped them all under a Project object (see section 9 Projects (and Defaults, Scripts)), which also has some additional objects (defaults and scripts) that make life easier. Thus, when you start a simulation, the first thing you do is create a new project, and then start creating networks, environments, etc. within this project.
New for 2.0: There is now a graphical interface for the project-level organization of objects, which can really help make complex projects more managable, especially for dealing with the processing aspects of things. Just enlarge your project window on existing projects to see the new view.
Of the different simulation components, Processing (aka Scheduling) is probably the least intuitive. Indeed, we might have decided instead that networks knew how to train themselves, or that environments would know how to train networks. The main reasons we chose to make Processing a separate major category of function in the software are: 1) The ways in which one trains and tests a network are common to different types of networks and learning algorithms. 2) Many different kinds of training and testing processing can be performed on the same network and environment. 3) Processing depends in part on the nature of the network and the nature of the environment, so that putting this task in either of these separately would lead to strange dependencies of networks on environments or vice versa.
Thus, one can think of the processing function as being similar to that of a movie director, who coordinates the actors and the camera operators, set designers, etc. to produce a finished product. Similarly, the processing coordinates the network with the environment and other elements to direct the overall process of training and testing. For more information on how processing is implemented in the software see section 12.2 The Schedule Process (SchedProcess).