public class RBM extends BasePretrainNetwork<RBM>
Layer.TrainingMode, Layer.Type
Modifier and Type | Field and Description |
---|---|
protected org.nd4j.linalg.api.ndarray.INDArray |
hiddenSigma |
protected org.nd4j.linalg.api.ndarray.INDArray |
sigma |
conf, dropoutApplied, dropoutMask, gradient, gradientsFlattened, gradientViews, index, input, iterationListeners, maskArray, optimizer, params, paramsFlattened, score, solver
Constructor and Description |
---|
RBM(NeuralNetConfiguration conf) |
RBM(NeuralNetConfiguration conf,
org.nd4j.linalg.api.ndarray.INDArray input) |
Modifier and Type | Method and Description |
---|---|
org.nd4j.linalg.api.ndarray.INDArray |
activate(boolean training)
Reconstructs the visible INPUT.
|
void |
computeGradientAndScore()
Update the score
|
void |
contrastiveDivergence()
Contrastive divergence revolves around the idea
of approximating the log likelihood around x1(input) with repeated sampling.
|
void |
fit(org.nd4j.linalg.api.ndarray.INDArray input)
Note: k is the first input hidden params.
|
Pair<Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray>,Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray>> |
gibbhVh(org.nd4j.linalg.api.ndarray.INDArray h)
Gibbs sampling step: hidden ---> visible ---> hidden
|
void |
iterate(org.nd4j.linalg.api.ndarray.INDArray input)
iterate one iteration of the network
|
org.nd4j.linalg.api.ndarray.INDArray |
propDown(org.nd4j.linalg.api.ndarray.INDArray h)
Calculates the activation of the hidden:
activation(h * W + vbias)
|
org.nd4j.linalg.api.ndarray.INDArray |
propUp(org.nd4j.linalg.api.ndarray.INDArray v)
Calculates the activation of the visible :
sigmoid(v * W + hbias)
|
org.nd4j.linalg.api.ndarray.INDArray |
propUp(org.nd4j.linalg.api.ndarray.INDArray v,
boolean training)
Calculates the activation of the visible :
sigmoid(v * W + hbias)
|
Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray> |
sampleHiddenGivenVisible(org.nd4j.linalg.api.ndarray.INDArray v)
Binomial sampling of the hidden values given visible
|
Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray> |
sampleVisibleGivenHidden(org.nd4j.linalg.api.ndarray.INDArray h)
Guess the visible values given the hidden
|
Layer |
transpose()
Return a transposed copy of the weights/bias
(this means reverse the number of inputs and outputs on the weights)
|
createGradient, getCorruptedInput, numParams, numParams, params, params, setParams, setScoreWithZ
accumulateScore, activate, activate, activate, activate, activate, activationMean, applyDropOutIfNecessary, applyLearningRateScoreDecay, backpropGradient, batchSize, calcGradient, calcL1, calcL2, clear, clone, conf, createGradient, derivativeActivation, error, fit, getIndex, getInput, getInputMiniBatchSize, getListeners, getMaskArray, getOptimizer, getParam, gradient, gradientAndScore, initParams, input, layerConf, merge, paramTable, preOutput, preOutput, preOutput, preOutput, score, setBackpropGradientsViewArray, setConf, setIndex, setInput, setInputMiniBatchSize, setListeners, setListeners, setMaskArray, setParam, setParams, setParamsViewArray, setParamTable, toString, type, update, update, validateInput
protected org.nd4j.linalg.api.ndarray.INDArray sigma
protected org.nd4j.linalg.api.ndarray.INDArray hiddenSigma
public RBM(NeuralNetConfiguration conf)
public RBM(NeuralNetConfiguration conf, org.nd4j.linalg.api.ndarray.INDArray input)
public void contrastiveDivergence()
public void computeGradientAndScore()
Model
computeGradientAndScore
in interface Model
computeGradientAndScore
in class BaseLayer<RBM>
public Layer transpose()
Layer
public Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray> sampleHiddenGivenVisible(org.nd4j.linalg.api.ndarray.INDArray v)
sampleHiddenGivenVisible
in class BasePretrainNetwork<RBM>
v
- the visible valuespublic Pair<Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray>,Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray>> gibbhVh(org.nd4j.linalg.api.ndarray.INDArray h)
h
- the hidden inputpublic Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray> sampleVisibleGivenHidden(org.nd4j.linalg.api.ndarray.INDArray h)
sampleVisibleGivenHidden
in class BasePretrainNetwork<RBM>
h
- the hidden unitspublic org.nd4j.linalg.api.ndarray.INDArray propUp(org.nd4j.linalg.api.ndarray.INDArray v, boolean training)
v
- the visible layerpublic org.nd4j.linalg.api.ndarray.INDArray propUp(org.nd4j.linalg.api.ndarray.INDArray v)
v
- the visible layerpublic org.nd4j.linalg.api.ndarray.INDArray propDown(org.nd4j.linalg.api.ndarray.INDArray h)
h
- the hidden layerpublic org.nd4j.linalg.api.ndarray.INDArray activate(boolean training)
public void fit(org.nd4j.linalg.api.ndarray.INDArray input)
Copyright © 2016. All Rights Reserved.