Information Technology Reference
In-Depth Information
Network(s) All of the layers, units, connections and
related objects that define a particular network are
contained within the Network object. In addition,
the network object contains an object called the
NetView , which implements a graphical display of
the network within a separate window (a NetView
window) on your computer screen. There can be mul-
tiple such views of the underlying network object,
each of which can display different aspects of it.
PDP++ Root
Project(s)
Spec(s)
Network(s)
Environment(s)
Process(es)
Log(s)
Script(s)
Figure A.1: Hierarchical structure of main objects in PDP++
software.
A.3
Overall Structure of PDP++
Environment(s) The environment in which the net-
work exists and with which it interacts is defined
by the Environment object. Each environment con-
tains a number of Event objects, which contain the
discrete, individual Pattern s that a network encoun-
ters within the environment. Like the network, en-
vironments have an EnviroView object that provides
a graphical display. Unlike most other objects, the
Specs that define the nature and behavior of the
events (called EventSpec s) are contained within each
environment, instead of being at the level of the en-
tire project. This makes environments more self-
contained, so they can more easily be exchanged be-
tween different projects, and so on.
Process(es) This is perhaps the most difficult of the ob-
ject types to understand, because it is a bit more ab-
stract. A Process object instantiates a procedure or
process, which is just a set of steps that are taken at
a particular point to make the simulation Run . Typi-
cally, there are a number of such process objects, or-
ganized hierarchically (as usual), with each process
instantiating a particular grain of processing. Take
an example simulation where we train a network on a
particular environment for 100 epochs (presentations
of the entire environment). The outermost (highest)
level of processing is at the level of orchestrating the
overall training, which is handled by the TrainPro-
cess . This process loops 100 times, and within each
loop, it delegates the details of the individual epoch
processing to the EpochProcess . This epoch process
then loops through all the events in the environment,
and delegates the processing of each event to the Tri-
alProcess (a trial happens when a single event is
presented to the network).
PDP++ is organized into a collection of hierarchically
arranged objects . Each object generally contains all
the data and functionality that applies to a given type
of thing in the simulation (e.g., the Unit object con-
tains the data and functionality for computing unit (neu-
ral) activations). Many objects contain other objects,
which leads to the hierarchical organization shown in
figure A.1, starting with the most basic of all objects, the
Root object (so named because it is the root or base of
the tree of objects). The root object has a corresponding
window, which is the only thing on the screen when you
start the simulator without any arguments. This win-
dow is always around when the simulator is running,
and provides the highest level of control over the basic
loading, saving, and exiting operations. The root con-
tains Projects , which group together all of the other ob-
jects that pertain to a particular simulation project. Each
project object has a corresponding project window (typ-
ically this is iconified in the explorations), which has a
menu for each of the objects that live within the project,
and a graphical interface to these objects. The most im-
portant of these objects are of the following types:
Spec(s) These are Spec ifications or parameters for
how other objects should behave. For example, much
of the behavior of a Unit object is specified by a cor-
responding UnitSpec , leaving the unit itself to pri-
marily just represent the variables particular to each
unit (e.g., activation value). This separation of data
(variables) and specifications (parameters) is critical
for enabling the user to change the behavior of a large
number of units (or other objects) by acting on a sin-
gle object (the Spec), instead of acting on each indi-
vidual object (e.g., each unit in the network).
As you will see in the
Search WWH ::




Custom Search