Learn R Programming

darch (version 0.10.0)

DArch-class: Class for deep architectures

Description

This class implements deep architectures and provides the ability to train them with a pre training using contrastive divergence and fine tuning with backpropagation, resilient backpropagation and conjugate gradients.

Arguments

Slots

rbmList

A list which contains all RBMs for the pre-training.

layers

A list with the layer information. In the first field are the weights and in the second field is the unit function.

learnRateBiases

The learning rate for the bias weights.

fineTuneFunction

Contains the function for the fine tuning.

executeFunction

Contains the function for executing the network.

executeOutput

A list which contains the outputs of every layer after an execution of the network.

cancel

Boolean value which indicates if the network training is canceled.

cancelMessage

The message when the execution is canceled.

dropoutInput

Dropout rate on the input layer.

dropoutHidden

Dropout rate on the hidden layers.

dropoutOneMaskPerEpoch

Logical indicating whether to generate a new dropout mask for each epoch (as opposed to for each batch).

dropoutMasks

List of dropout masks, used internally.

dataSet

'>DataSet instance.

preTrainParameters

A set of parameters keeping track of the state of the DBN in terms of pre-training.

fineTuningParameters

A set of parameters keeping track of the state of the DBN in terms of fine-tuning.

Details

The class is inherits all attributes from the class link{Net}. When creating a new instance with the constructor newDArch (recommended), the darch-object contained the number of layers -1 restricted Boltzmann machines (RBM), which are used for the unsupervised pre training of the network. The RBMs are saved in the attribute rbmList and can be fetched over the getter method (getRBMList. The two attributes fineTuneFunction and executeFunction containing the functions for the fine tuning (default: backpropagation) and for the execution (default: runDArch. The training of the network is performed by the two learning functions preTrainDArch and fineTuneDArch. The first function trains the network with the unsupervised method contrastive divergence. The second function used the function in the attribute fineTuneFunction for the fine tuning. After an execution of the network, the outputs of every layer can be found in the attribute executeOutput.

See Also

'>Net, '>RBM