A modulatory network architecture which uses a plain backprop network with an extra input to carry the modulator.
More...
|
| | HInputNet (int nlayers, const int *layerCounts) |
| | Constructor - does not initialise the weights to random values so that we can reinitialise networks. Uses the non-initialising constructor BPNet::BPNet(), changes the layer count and initialises. More...
|
| |
| virtual | ~HInputNet () |
| | destructor More...
|
| |
| virtual int | getLayerSize (int n) const |
| | Get the number of nodes in a given layer. More...
|
| |
| virtual void | setH (double h) |
| | Set the modulator level for subsequent runs and training of this network. More...
|
| |
| virtual double | getH () const |
| | get the modulator level More...
|
| |
| virtual void | setInputs (double *d) |
| | Set the inputs to the network before running or training. More...
|
| |
| | BPNet (int nlayers, const int *layerCounts) |
| | Constructor - does not initialise the weights to random values so that we can reinitialise networks. More...
|
| |
| virtual | ~BPNet () |
| | destructor More...
|
| |
| void | setInput (int n, double d) |
| | Used to set inputs manually, typically in HInputNet. More...
|
| |
| virtual double * | getOutputs () const |
| | Get the outputs after running. More...
|
| |
| virtual int | getLayerCount () const |
| | Get the number of layers. More...
|
| |
| virtual int | getDataSize () const |
| | Get the length of the serialised data block for this network. More...
|
| |
| virtual void | save (double *buf) const |
| | Serialize the data (not including any network type magic number or layer/node counts) to the given memory (which must be of sufficient size). More...
|
| |
| virtual void | load (double *buf) |
| | Given that the pointer points to a data block of the correct size for the current network, copy the parameters from that data block into the current network overwriting the current parameters. More...
|
| |
| virtual | ~Net () |
| | virtual destructor which does nothing More...
|
| |
| void | setSeed (long seed) |
| | Set this network's random number generator, which is used for weight initialisation done at the start of training. More...
|
| |
| int | getInputCount () const |
| | get the number of inputs More...
|
| |
| int | getOutputCount () const |
| | get the number of outputs More...
|
| |
| double * | run (double *in) |
| | Run the network on some data. More...
|
| |
| double | test (ExampleSet &examples, int start=0, int num=-1) |
| | Test a network. Runs the network over a set of examples and returns the mean MSE for all outputs
where is the number of examples, is the number of outputs, is network's output for example , and is the desired output for the same example. More...
|
| |
| double | trainSGD (ExampleSet &examples, SGDParams ¶ms) |
| | Train using stochastic gradient descent. Note that cross-validation parameters are slightly different from those given in the thesis. Here we give the number of slices and number of examples per slice; in the thesis we give the total number of examples to be held out and the number of slices. More...
|
| |
|
| NetType | type |
| | type of the network, used for load/save More...
|
| |
| drand48_data | rd |
| | PRNG data (thread safe) More...
|
| |
| | BPNet () |
| | Special constructor for subclasses which need to manipulate layer count before initialisation (e.g. HInputNet). More...
|
| |
| void | init (int nlayers, const int *layerCounts) |
| | Initialiser for use by the main constructor and the ctors of those subclasses mentioned in BPNet() More...
|
| |
| virtual void | initWeights (double initr) |
| | initialise weights to random values More...
|
| |
| double & | getw (int tolayer, int toneuron, int fromneuron) const |
| | get the value of a weight. More...
|
| |
| double & | getb (int layer, int neuron) const |
| | get the value of a bias More...
|
| |
| double & | getavggradw (int tolayer, int toneuron, int fromneuron) const |
| | get the value of the gradient for a given weight More...
|
| |
| double | getavggradb (int l, int n) const |
| | get the value of a bias gradient More...
|
| |
| void | calcError (double *in, double *out) |
| | run a single example and calculate the errors; used in training. More...
|
| |
| virtual void | update () |
| | Run a single update of the network. More...
|
| |
| virtual double | trainBatch (ExampleSet &ex, int start, int num, double eta) |
| | Train a network for batch (or mini-batch) (or single example). More...
|
| |
| | Net (NetType tp) |
| | Constructor - protected because others inherit it and it's not used directly. More...
|
| |
| double | drand (double mn, double mx) |
| | get a random number using this net's PRNG data More...
|
| |
| int | numLayers |
| | number of layers, including input and output More...
|
| |
| int * | layerSizes |
| | array of layer sizes More...
|
| |
| int | largestLayerSize |
| | number of nodes in largest layer More...
|
| |
| double ** | weights |
| | Array of weights as [tolayer][tonode+largestLayerSize*fromnode]. More...
|
| |
| double ** | biases |
| | array of biases, stored as a rectangular array of [layer][node] More...
|
| |
| double ** | outputs |
| | outputs of each layer: one array of doubles for each More...
|
| |
| double ** | errors |
| | the error for each node, calculated by calcError() More...
|
| |
| double ** | gradAvgsWeights |
| | average gradient for each weight (built during training) More...
|
| |
| double ** | gradAvgsBiases |
| | average gradient for each bias (built during training) More...
|
| |
A modulatory network architecture which uses a plain backprop network with an extra input to carry the modulator.
Definition at line 17 of file hinet.hpp.