Projections represent a layer's connectivity with another layer. They
serve as a "template" for individual connections between units in the
two layers, thus simplifying the specification of general patterns of
connectivity. The connectivity of the projection is specified in terms
of the layer this projection's layer is receiving from. Thus if you had
an input layer connected to a hidden layer, then the hidden layer would
have a projection with its from
field set to the input layer.
In addition to the from
field, projections have a
ProjectionSpec which determines the connectivity patterns to use
when creating the actual connections between individual units. There
are a number of different forms of connectivity that can be specified
with the different ProjectionSpecs, from the simple full
connectivity to different forms of random, one-to-one, and "tesselated"
or repeated patterns of connectivity.
The projection object itself is primarily concerned with specifying where to receive connections from, and what kinds of connection objects to create. The ProjectionSpec is responsible for determining the pattern of connectivity.