A variational autoencoder assumes that a latent, unobserved random variable produces the observed data and attempts to approximate its distribution. This function constructs a wrapper for a variational autoencoder using a Gaussian distribution as the prior of the latent space.
autoencoder_variational(
network,
loss = "binary_crossentropy",
auto_transform_network = TRUE
)
Network architecture as a "ruta_network"
object (or coercible)
Reconstruction error to be combined with KL divergence in order to compute the variational loss
Boolean: convert the encoding layer into a variational block if none is found?
A construct of class "ruta_autoencoder"
Other autoencoder variants:
autoencoder_contractive()
,
autoencoder_denoising()
,
autoencoder_robust()
,
autoencoder_sparse()
,
autoencoder()
network <-
input() +
dense(256, "elu") +
variational_block(3) +
dense(256, "elu") +
output("sigmoid")
learner <- autoencoder_variational(network, loss = "binary_crossentropy")