public class DenoisingAutoEncoder extends BaseNeuralNetwork implements Serializable
Modifier and Type | Class and Description |
---|---|
static class |
DenoisingAutoEncoder.Builder |
Constructor and Description |
---|
DenoisingAutoEncoder() |
DenoisingAutoEncoder(org.jblas.DoubleMatrix input,
int nVisible,
int nHidden,
org.jblas.DoubleMatrix W,
org.jblas.DoubleMatrix hbias,
org.jblas.DoubleMatrix vbias,
org.apache.commons.math3.random.RandomGenerator rng,
double fanIn,
org.apache.commons.math3.distribution.RealDistribution dist) |
Modifier and Type | Method and Description |
---|---|
org.jblas.DoubleMatrix |
getCorruptedInput(org.jblas.DoubleMatrix x,
double corruptionLevel)
Corrupts the given input by doing a binomial sampling
given the corruption level
|
NeuralNetworkGradient |
getGradient(Object[] params) |
org.jblas.DoubleMatrix |
getHiddenValues(org.jblas.DoubleMatrix x) |
org.jblas.DoubleMatrix |
getReconstructedInput(org.jblas.DoubleMatrix y) |
double |
lossFunction(Object[] params)
The loss function (cross entropy, reconstruction error,...)
|
double |
negativeLoglikelihood(double corruptionLevel)
Negative log likelihood of the current input given
the corruption level
|
org.jblas.DoubleMatrix |
reconstruct(org.jblas.DoubleMatrix x)
All neural networks are based on this idea of
minimizing reconstruction error.
|
void |
train(org.jblas.DoubleMatrix x,
double lr,
double corruptionLevel)
Perform one iteration of training
|
void |
train(org.jblas.DoubleMatrix input,
double lr,
Object[] params)
Train one iteration of the network
|
void |
trainTillConvergence(org.jblas.DoubleMatrix x,
double lr,
double corruptionLevel)
Run a network optimizer
|
void |
trainTillConvergence(org.jblas.DoubleMatrix input,
double lr,
Object[] params) |
clone, fanIn, getDist, gethBias, getInput, getL2, getMomentum, getnHidden, getnVisible, getReConstructionCrossEntropy, getRenderEpochs, getRng, getSparsity, getvBias, getW, initWeights, jostleWeighMatrix, l2RegularizedCoefficient, load, lossFunction, merge, setDist, setFanIn, sethBias, setInput, setL2, setMomentum, setnHidden, setnVisible, setRenderEpochs, setRng, setSparsity, setvBias, setW, squaredLoss, transpose, update, write
public DenoisingAutoEncoder()
public DenoisingAutoEncoder(org.jblas.DoubleMatrix input, int nVisible, int nHidden, org.jblas.DoubleMatrix W, org.jblas.DoubleMatrix hbias, org.jblas.DoubleMatrix vbias, org.apache.commons.math3.random.RandomGenerator rng, double fanIn, org.apache.commons.math3.distribution.RealDistribution dist)
public org.jblas.DoubleMatrix getCorruptedInput(org.jblas.DoubleMatrix x, double corruptionLevel)
x
- the input to corruptcorruptionLevel
- the corruption valuepublic double negativeLoglikelihood(double corruptionLevel)
corruptionLevel
- the corruption level to usepublic org.jblas.DoubleMatrix getHiddenValues(org.jblas.DoubleMatrix x)
public org.jblas.DoubleMatrix getReconstructedInput(org.jblas.DoubleMatrix y)
public void trainTillConvergence(org.jblas.DoubleMatrix x, double lr, double corruptionLevel)
x
- the inputlr
- the learning ratecorruptionLevel
- the corruption levelpublic void train(org.jblas.DoubleMatrix x, double lr, double corruptionLevel)
x
- the inputlr
- the learning ratecorruptionLevel
- the corruption level to train withpublic org.jblas.DoubleMatrix reconstruct(org.jblas.DoubleMatrix x)
BaseNeuralNetwork
reconstruct
in class BaseNeuralNetwork
x
- the input to reconstructpublic void trainTillConvergence(org.jblas.DoubleMatrix input, double lr, Object[] params)
trainTillConvergence
in interface NeuralNetwork
public double lossFunction(Object[] params)
BaseNeuralNetwork
lossFunction
in class BaseNeuralNetwork
public void train(org.jblas.DoubleMatrix input, double lr, Object[] params)
BaseNeuralNetwork
train
in interface NeuralNetwork
train
in class BaseNeuralNetwork
input
- the input to train onlr
- the learning rate to train atparams
- the extra params (k, corruption level,...)public NeuralNetworkGradient getGradient(Object[] params)
getGradient
in interface NeuralNetwork
Copyright © 2014. All Rights Reserved.