# darch: Package for Deep Architectures and Restricted Boltzmann Machines

The darch package is built on the basis of the code from G. E. Hinton and R. R. Salakhutdinov (available under Matlab Code for deep belief nets). This package is for generating neural networks with many layers (deep architectures) and train them with the method introduced by the publications "A fast learning algorithm for deep belief nets" (G. E. Hinton, S. Osindero, Y. W. Teh (2006) <DOI:10.1162/neco.2006.18.7.1527>) and "Reducing the dimensionality of data with neural networks" (G. E. Hinton, R. R. Salakhutdinov (2006) <DOI:10.1126/science.1127647>). This method includes a pre training with the contrastive divergence method published by G.E Hinton (2002) <DOI:10.1162/089976602760128018> and a fine tuning with common known training algorithms like backpropagation or conjugate gradients. Additionally, supervised fine-tuning can be enhanced with maxout and dropout, two recently developed techniques to improve fine-tuning for deep learning.

- Author
- Martin Drees [aut, cre, cph], Johannes Rueckert [ctb], Christoph M. Friedrich [ctb], Geoffrey Hinton [cph], Ruslan Salakhutdinov [cph], Carl Edward Rasmussen [cph],
- Date of publication
- 2016-07-20 00:33:10
- Maintainer
- Martin Drees <mdrees@stud.fh-dortmund.de>
- License
- GPL (>= 2) | file LICENSE
- Version
- 0.12.0
- URLs

## Man pages

- addLayer
- Adds a layer to the 'DArch' object
- addLayer-DArch-method
- Adds a layer to the 'DArch' object
- addLayerField
- Adds a field to a layer
- addLayerField-DArch-method
- Adds a field to a layer
- backpropagation
- Backpropagation learning function
- contr.ltfr
- Wrapper for 'contr.ltfr'
- createDataSet
- Create data set using data, targets, a formula, and possibly...
- createDataSet-ANY-ANY-missing-DataSet-method
- Create new 'DataSet' by filling an existing one with new...
- createDataSet-ANY-ANY-missing-missing-method
- Create 'DataSet' using data and targets.
- createDataSet-ANY-missing-formula-missing-method
- Constructor function for 'DataSet' objects.
- crossEntropyError
- Cross entropy error function
- darch
- Fit a deep neural network
- darchBench
- Benchmarking wrapper for 'darch'
- DArch-class
- Class for deep architectures
- darchModelInfo
- Creates a custom caret model for 'darch'.
- darchTest
- Test classification network.
- DataSet
- Class for specifying datasets.
- exponentialLinearUnit
- Exponential linear unit (ELU) function with unit derivatives.
- fineTuneDArch
- Fine tuning function for the deep architecture
- fineTuneDArch-DArch-method
- Fine tuning function for the deep architecture
- generateDropoutMask
- Dropout mask generator function.
- generateRBMs-DArch-method
- Generates the RBMs for the pre-training.
- generateWeightsGlorotNormal
- Glorot normal weight initialization
- generateWeightsGlorotUniform
- Glorot uniform weight initialization
- generateWeightsHeNormal
- He normal weight initialization
- generateWeightsHeUniform
- He uniform weight initialization
- generateWeightsNormal
- Generates a weight matrix using rnorm.
- generateWeightsUniform
- Generates a weight matrix using runif
- getDropoutMask
- Returns the dropout mask for the given layer
- getMomentum
- Returns the current momentum of the 'Net'.
- linearUnit
- Linear unit function with unit derivatives.
- linearUnitRbm
- Calculates the linear neuron output no transfer function
- loadDArch
- Loads a DArch network
- makeStartEndPoints
- Makes start- and end-points for the batches.
- maxoutUnit
- Maxout / LWTA unit function
- maxoutWeightUpdate
- Updates the weight on maxout layers
- minimize
- Minimize a differentiable multivariate function.
- minimizeAutoencoder
- Conjugate gradient for a autoencoder network
- minimizeClassifier
- Conjugate gradient for a classification network
- mseError
- Mean squared error function
- Net
- Abstract class for neural networks.
- newDArch
- Constructor function for 'DArch' objects.
- plot.DArch
- Plot 'DArch' statistics or structure.
- predict.DArch
- Forward-propagate data.
- preTrainDArch
- Pre-trains a 'DArch' network
- preTrainDArch-DArch-method
- Pre-trains a 'DArch' network
- print.DArch
- Print 'DArch' details.
- provideMNIST
- Provides MNIST data set in the given folder.
- RBM
- Class for restricted Boltzmann machines
- rbmUpdate
- Function for updating the weights and biases of an 'RBM'
- readMNIST
- Function for generating .RData files of the MNIST Database
- rectifiedLinearUnit
- Rectified linear unit function with unit derivatives.
- resetRBM
- Resets the weights and biases of the 'RBM' object
- rmseError
- Root-mean-square error function
- rpropagation
- Resilient backpropagation training for deep architectures.
- runDArch
- Forward-propagates data through the network
- runDArchDropout
- Forward-propagate data through the network with dropout...
- saveDArch
- Saves a DArch network
- setDarchParams
- Set 'DArch' parameters
- setDropoutMask-set
- Set the dropout mask for the given layer.
- setLogLevel
- Set the log level.
- show-DArch-method
- Print 'DArch' details.
- sigmoidUnit
- Sigmoid unit function with unit derivatives.
- sigmoidUnitRbm
- Calculates the RBM neuron output with the sigmoid function
- softmaxUnit
- Softmax unit function with unit derivatives.
- softplusUnit
- Softplus unit function with unit derivatives.
- tanhUnit
- Continuous Tan-Sigmoid unit function.
- tanhUnitRbm
- Calculates the neuron output with the hyperbolic tangent...
- trainRBM
- Trains an 'RBM' with contrastive divergence
- validateDataSet
- Validate 'DataSet'
- validateDataSet-DataSet-method
- Validate 'DataSet'
- weightDecayWeightUpdate
- Updates the weight using weight decay.

## Files in this package

darch |

darch/inst |

darch/inst/CITATION |

darch/src |

darch/src/minimize.cpp |

darch/src/rpropagation.cpp |

darch/src/darchUnitFunctions.cpp |

darch/src/maxout.cpp |

darch/src/normalizeWeights.cpp |

darch/src/dither.cpp |

darch/src/applyDropoutMask.cpp |

darch/src/RcppExports.cpp |

darch/NAMESPACE |

darch/R |

darch/R/bootstrap.R |

darch/R/darchUnitFunctions.R |

darch/R/net.Class.R |

darch/R/plot.R |

darch/R/darch.R |

darch/R/rbm.Reset.R |

darch/R/log.R |

darch/R/predict.R |

darch/R/darch.Getter.R |

darch/R/momentum.R |

darch/R/newDArch.R |

darch/R/mnist.R |

darch/R/net.Getter.R |

darch/R/dropout.R |

darch/R/benchmark.R |

darch/R/darch.Learn.R |

darch/R/autosave.R |

darch/R/rbmUnitFunctions.R |

darch/R/generateWeightsFunctions.R |

darch/R/test.R |

darch/R/rpropagation.R |

darch/R/RcppExports.R |

darch/R/print.R |

darch/R/makeStartEndPoints.R |

darch/R/config.R |

darch/R/params.R |

darch/R/backpropagation.R |

darch/R/dataset.R |

darch/R/darch.Add.R |

darch/R/darch.Setter.R |

darch/R/minimizeAutoencoder.R |

darch/R/rbmUpdate.R |

darch/R/runDArch.R |

darch/R/generateRBMs.R |

darch/R/minimizeClassifier.R |

darch/R/util.R |

darch/R/errorFunctions.R |

darch/R/minimize.R |

darch/R/darch.Class.R |

darch/R/compat.R |

darch/R/saveDArch.R |

darch/R/loadDArch.R |

darch/R/rbm.Learn.R |

darch/R/weightUpdateFunctions.R |

darch/R/rbm.Class.R |

darch/R/caret.R |

darch/MD5 |

darch/README |

darch/DESCRIPTION |

darch/man |

darch/man/rectifiedLinearUnit.Rd |

darch/man/exponentialLinearUnit.Rd |

darch/man/resetRBM.Rd |

darch/man/RBM.Rd |

darch/man/getDropoutMask.Rd |

darch/man/minimizeClassifier.Rd |

darch/man/DataSet.Rd |

darch/man/darchBench.Rd |

darch/man/makeStartEndPoints.Rd |

darch/man/createDataSet-ANY-ANY-missing-missing-method.Rd |

darch/man/generateWeightsHeNormal.Rd |

darch/man/show-DArch-method.Rd |

darch/man/maxoutUnit.Rd |

darch/man/crossEntropyError.Rd |

darch/man/generateWeightsGlorotUniform.Rd |

darch/man/rmseError.Rd |

darch/man/darch.Rd |

darch/man/darchModelInfo.Rd |

darch/man/addLayer-DArch-method.Rd |

darch/man/generateDropoutMask.Rd |

darch/man/tanhUnit.Rd |

darch/man/addLayer.Rd |

darch/man/generateWeightsHeUniform.Rd |

darch/man/validateDataSet.Rd |

darch/man/saveDArch.Rd |

darch/man/rpropagation.Rd |

darch/man/Net.Rd |

darch/man/maxoutWeightUpdate.Rd |

darch/man/generateWeightsNormal.Rd |

darch/man/createDataSet-ANY-missing-formula-missing-method.Rd |

darch/man/runDArch.Rd |

darch/man/preTrainDArch-DArch-method.Rd |

darch/man/predict.DArch.Rd |

darch/man/generateRBMs-DArch-method.Rd |

darch/man/sigmoidUnitRbm.Rd |

darch/man/linearUnit.Rd |

darch/man/print.DArch.Rd |

darch/man/softmaxUnit.Rd |

darch/man/linearUnitRbm.Rd |

darch/man/preTrainDArch.Rd |

darch/man/fineTuneDArch.Rd |

darch/man/createDataSet-ANY-ANY-missing-DataSet-method.Rd |

darch/man/tanhUnitRbm.Rd |

darch/man/minimizeAutoencoder.Rd |

darch/man/contr.ltfr.Rd |

darch/man/readMNIST.Rd |

darch/man/setLogLevel.Rd |

darch/man/trainRBM.Rd |

darch/man/validateDataSet-DataSet-method.Rd |

darch/man/provideMNIST.Rd |

darch/man/loadDArch.Rd |

darch/man/softplusUnit.Rd |

darch/man/rbmUpdate.Rd |

darch/man/getMomentum.Rd |

darch/man/addLayerField.Rd |

darch/man/mseError.Rd |

darch/man/fineTuneDArch-DArch-method.Rd |

darch/man/newDArch.Rd |

darch/man/addLayerField-DArch-method.Rd |

darch/man/DArch-class.Rd |

darch/man/plot.DArch.Rd |

darch/man/weightDecayWeightUpdate.Rd |

darch/man/sigmoidUnit.Rd |

darch/man/minimize.Rd |

darch/man/generateWeightsGlorotNormal.Rd |

darch/man/createDataSet.Rd |

darch/man/setDarchParams.Rd |

darch/man/generateWeightsUniform.Rd |

darch/man/backpropagation.Rd |

darch/man/setDropoutMask-set.Rd |

darch/man/darchTest.Rd |

darch/man/runDArchDropout.Rd |

darch/LICENSE |