public class VariationalAutoencoder extends BasePretrainNetwork
See: Kingma & Welling, 2013: Auto-Encoding Variational Bayes - https://arxiv.org/abs/1312.6114
This implementation allows multiple encoder and decoder layers, the number and sizes of which can be set independently.
A note on scores during pretraining: This implementation minimizes the negative of the variational lower bound objective as described in Kingma & Welling; the mathematics in that paper is based on maximization of the variational lower bound instead. Thus, scores reported during pretraining in DL4J are the negative of the variational lower bound equation in the paper. The backpropagation and learning procedure is otherwise as described there.
| Modifier and Type | Class and Description |
|---|---|
static class |
VariationalAutoencoder.Builder |
lossFunction, visibleBiasInitnIn, nOutactivationFn, adamMeanDecay, adamVarDecay, biasInit, biasLearningRate, dist, dropOut, epsilon, gradientNormalization, gradientNormalizationThreshold, l1, l1Bias, l2, l2Bias, layerName, learningRate, learningRateSchedule, momentum, momentumSchedule, rho, rmsDecay, updater, weightInit| Modifier and Type | Method and Description |
|---|---|
double |
getL1ByParam(java.lang.String paramName)
Get the L1 coefficient for the given parameter.
|
double |
getL2ByParam(java.lang.String paramName)
Get the L2 coefficient for the given parameter.
|
double |
getLearningRateByParam(java.lang.String paramName)
Get the (initial) learning rate coefficient for the given parameter.
|
ParamInitializer |
initializer() |
Layer |
instantiate(NeuralNetConfiguration conf,
java.util.Collection<IterationListener> iterationListeners,
int layerIndex,
org.nd4j.linalg.api.ndarray.INDArray layerParamsView,
boolean initializeParams) |
getOutputType, getPreProcessorForInputType, setNInclone, getUpdaterByParam, resetLayerDefaultConfigpublic Layer instantiate(NeuralNetConfiguration conf, java.util.Collection<IterationListener> iterationListeners, int layerIndex, org.nd4j.linalg.api.ndarray.INDArray layerParamsView, boolean initializeParams)
instantiate in class Layerpublic ParamInitializer initializer()
initializer in class Layerpublic double getLearningRateByParam(java.lang.String paramName)
LayergetLearningRateByParam in class BasePretrainNetworkparamName - Parameter namepublic double getL1ByParam(java.lang.String paramName)
LayergetL1ByParam in class BasePretrainNetworkparamName - Parameter namepublic double getL2ByParam(java.lang.String paramName)
LayergetL2ByParam in class BasePretrainNetworkparamName - Parameter name