Unlike regression-based models or conventional neural networks that directly estimate the conditional probability of the target variable given the input, i.e., 𝑝(𝑦|𝒙), generative models estimate the joint distribution 𝑝(𝒙, 𝑦) on both the input and the target variable. One of the most widely used deep generative models is the autoencoder (AE) which is a neural network comprising an encoder function 𝒛 = 𝑓(𝒙) that maps the input 𝒙 into a latent feature 𝒛 and a decoder function 𝒙 ̂= 𝑔(𝒛) = 𝑔(𝑓(𝒙)) that reconstructs the input 𝒙. In practice, AEs have been successfully applied to many tasks including dimensionality reduction, representation learning, and information retrieval.