We decided to call the training and testing data that is presented to a
network an Environment
(see section 11 Environments, Events, and Patterns) to capture the idea that a
network is like an organism that exists and interacts within a
particular environment. Thus, the environment object describes a little
world for the network to roam around in. It does not, however, specify
the path that the network takes in its travels (i.e., the order in which
the events are presented to the network)---this is determined by the
scheduling objects, which can be thought of as "tour guides" in this
context. To switch metaphors, an environment should be thought of as a
library, which contains lots of data, but does not tell you which books
to check out when.
The Environment
is composed of Event
s (see section 11.2 Events, Patterns and their Specs),
which represent a collection of stimuli or Pattern
s that go
together. Thus, in the context of a typical backpropagation network, an
Event
consists of an input pattern and a target pattern for a
single training example. Pattern
s contain an array of values
which get mapped onto the units in a particular layer of the network.
In order to represent sequences of events that should be presented sequentially in time, events can be grouped together (see section 11.3 Representing Sequences of Events, see section 3.5 Groups: A General Mechanism for Defining Substructure). Note, however, that the scheduling objects need to be made aware of the fact that the events in a group represent a sequence of events in order for these to actually be presented to the network in the right order (see section 12.6.1 Processes for Sequences of Events).
Environments can also be defined which dynamically create events on-line, possibly in response to outputs from the network. This must be done under the supervision of an appropriate Schedule process, which can coordinate network outputs with the parameters that determine how the environment creates events.
New for 2.0: The Environment interface has been completely rewritten, and now enables interactive configuration of event structures, just like in the Network interface.