NET-SPEC: Create a new network, or display specifications for existing net. Net-spec creates a log file containing records describing the network architecture and the associated priors. When invoked with just a log file as argument, it displays the specifications of the network stored in that log file. Usage: net-spec log-file N-inputs { N-hidden { flag } } N-outputs { flag } / ti [ ih bh th { hh ih bh th } ] { ho } io bo [ / { ah } ao ] or: net-spec log-file N-inputs and N-outputs are the numbers of units in the input and output layers. The sizes of zero or more hidden layers are specified between these. Flags pertaining to a layer may be specified after the argument giving the size of the layer. The following flag is supported for hidden layers and the output layer: omit:[-]<input>{,<input>} This specifies that connections from certain inputs are to be omitted from those feeding into this layer (assuming that any inputs at all are looked at, as specifed by later arguments). If the "-" is placed before the list of inputs, the list gives the inputs that are NOT omitted. Inputs are numbered starting with 1. For hidden layers, the activation function to use may be specified using one of the following flags: tanh identity sin The default is tanh, the hyperbolic tangent function. The identity flag causes the output of a hidden unit in the layer to be identical its summed input. The sin flag specifies that the activation function to be h(u) = sqrt(2)*sin(sqrt(2)*u). The multiplications by sqrt(2) in this activation function make a network with one hidden layer of this type correspond in the limit of many hidden units to a Gaussian process model with covariance function given by exp(-distance^2). Following a "/", the priors for groups of weights, biases, and offsets are specified. "ti" is the prior for the offsets of input units, "hh" the prior for hidden-hidden weights, "ih" the prior for input-hidden weights, "bh" the prior for hidden biases, "th" the prior for hidden unit offsets, "ho" the prior for weights from a hidden layer to the outputs, "io" the prior for input-output weights, and "bo" the prior for output biases. The order of priors relating to hidden layers is from the first layer to the last (the last being the one closest to the output layer). All the priors relating to a network with the given number of hidden layers must be present, except that some or all of the hidden-output priors may be omitted. The order of "ho" priors is last to first; if not all are present, it is the priors for connections from the earlier layers that are absent. For the syntax of a prior specification, see prior.doc. If "-" is given instead of a prior specification (or, for "ho" priors, if they are omitted entirely), the parameters in question do not exist at all, which is equivalent to their being zero. The alpha values that specify the prior for the "adjustments" to the distributions of weights and biases going into a given unit are specified following these priors. A value of "-" corresponds to infinity (effectively eliminating the adjustment). The entire set of adjustments may be omitted, eliminating them all. Note that a data model will also have to be specified (with model-spec) if any learning is to be done. Two records are written to the newly created log file - one with type 'A' with a net_arch structure as data, and one with type 'P' with a net_priors structure as data. A record of type 'F' will be written as well if any flags were specified. These records have an index of -1. When the second form of the command is used (with just the log file as argument), these records are read and the information they contain is displayed on standard output. Copyright (c) 1995, 2001 by Radford M. Neal