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.

AuthorMartin Drees [aut, cre, cph], Johannes Rueckert [ctb], Christoph M. Friedrich [ctb], Geoffrey Hinton [cph], Ruslan Salakhutdinov [cph], Carl Edward Rasmussen [cph],
Date of publication2016-07-20 00:33:10
MaintainerMartin Drees <mdrees@stud.fh-dortmund.de>
LicenseGPL (>= 2) | file LICENSE
Version0.12.0
https://github.com/maddin79/darch

View on CRAN

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

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.