{'fraction_non_alphanumeric': 0.034021406727828746, 'fraction_numerical': 0.006225425950196592, 'mean_word_length': 5.031785243741766, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Implicit Autoencoders

In this paper, we describe the"implicit autoencoder"(IAE), a generative autoencoder in which both the generative path and the recognition path are parametrized by implicit distributions. We use two generative adversarial networks to define the reconstruction and the regularization cost functions of the implicit autoencoder, and derive the learning rules based on maximum-likelihood learning. Using implicit distributions allows us to learn more expressive posterior and conditional likelihood distributions for the autoencoder. Learning an expressive conditional likelihood distribution enables the latent code to only capture the abstract and high-level information of the data, while the remaining low-level information is captured by the implicit conditional likelihood distribution. We show the applications of implicit autoencoders in disentangling content and style information, clustering, semi-supervised classification, learning expressive variational distributions, and multimodal image-to-image translation from unpaired data.


Introduction
Deep generative models have achieved remarkable success in recent years. One of the most successful models is the generative adversarial network (GAN) [1], which employs a two player min-max game. The generative model, G, samples the noise vector z ∼ p(z) and generates the sample G(z). The discriminator, D(x), is trained to identify whether a point x comes from the data distribution or the model distribution; and the generator is trained to maximally confuse the discriminator. The cost function of GAN is GANs can be viewed as a general framework for learning implicit distributions [2,3]. Implicit distributions are probability distributions that are obtained by passing a noise vector through a deterministic function that is parametrized by a neural network. In the probabilistic machine learning problems, implicit distributions trained with the GAN framework can learn distributions that are more expressive than the tractable distributions trained with the maximum-likelihood framework.
Variational autoencoders (VAE) [4,5] are another successful generative models that use neural networks to parametrize the posterior and the conditional likelihood distributions. Both networks are jointly trained to maximize a variational lower bound on the data log-likelihood. One of the limitations of VAEs is that they learn factorized distributions for both the posterior and the conditional likelihood distributions. In this paper, we propose the "implicit autoencoder" (IAE) that uses implicit distributions for learning more expressive posterior and conditional likelihood distributions.
Learning a more expressive posterior will result in a tighter variational bound; and learning a more expressive conditional likelihood distribution will result in a high-level vs. low-level decomposition of information between the prior and the conditional likelihood. This enables the latent code to only capture the information that we care about such as the abstract or "content" information, while the remaining low-level or "style" information of data is separately captured by the noise vector of the implicit decoder. Implicit distributions have been previously used in learning generative models in works such as adversarial autoencoders (AAE) [6], adversarial variational Bayes (AVB) [7], ALI [8], BiGAN [9] and other works such as [3,10]. The high-level vs. low-level decomposition of information has also been studied in previous works such as PixelCNN autoencoders [11], PixelVAE [12], variational lossy autoencoders [13], PixelGAN autoencoders [14], or other works such as [15,16,17].
In Section 2, we propose the IAE and then establish its connections with the related works. In Section 3, we propose the cycle implicit autoencoder (CycleIAE), and show that it can learn multimodal cross-domain mappings from unpaired data. Finally, in Section 4, we propose the flipped implicit autoencoder (FIAE) model, and show that it can learn expressive variational inference networks for GANs.

Implicit Autoencoders
Let x be a datapoint that comes from the data distribution p data (x). The encoder of the implicit autoencoder ( Figure 1) defines an implicit variational posterior distribution q(z|x) with the function z = f φ (x, ) that takes the input x along with the input noise vector and outputs the latent codeẑ. The decoder of the implicit autoencoder defines an implicit conditional likelihood distribution p(x|z) with the functionx = g θ (ẑ, n) that takes the latent codeẑ along with the latent noise vector n and outputs a reconstruction of the imagex. Let p(z) be a fixed prior distribution, p(x, z) = p(z)p(x|z) be the joint model distribution, and p(x) be the model distribution. The variational distribution q(z|x) induces the joint data distribution q(x, z), the aggregated posterior distribution q(z), and the inverse posterior/encoder distribution q(x|z) as follows: Maximum likelihood learning is equivalent to matching the model distribution p(x) to the data distribution p data (x); and learning with variational inference is equivalent to matching the joint model distribution p(x, z) to the joint data distribution q(x, z). The entropy of the data distribution H data (x), the entropy of the latent code H(z), the mutual information I(x; z), and the conditional entropies H(x|z) and H(z|x) are all defined under the joint data distribution q(x, z) and its marginals p data (x) and q(z). Using the aggregated posterior distribution q(z), we can define the joint reconstruction distribution r(x, z) and the aggregated reconstruction distribution r(x) as follows: Note that in general we have r(x, z) = q(x, z) = p(x, z), q(z) = p(z), and r(x) = p data (x) = p(x).
We now use different forms of the aggregated evidence lower bound (ELBO) to describe the IAE and establish its connections with VAEs and AAEs.
Entropy of Data Entropy of Data ) has a reconstruction cost function and a regularization cost function, but trains each of them with a GAN. The IAE reconstruction cost is E z∼q(z) KL(q(x|z) p(x|z)) . The standard VAE uses a factorized decoder, which has a very limited stochasticity, and thus achieves almost deterministic reconstructions of the input. The IAE, however, uses a powerful implicit decoder to perform stochastic reconstructions, by learning to match the expressive decoder distribution p(x|z) to the inverse encoder distribution q(x|z). Equation 8 contrasts the reconstruction cost of standard autoencoders that is used in VAEs/AAEs, with the reconstruction cost of IAEs.
Cond. Entropy (8) We can see from Equation 8 that similar to IAEs, the reconstruction cost of the autoencoder encourages matching the decoder distribution to the inverse encoder distribution. But in autoencoders, the cost function also encourages minimizing the conditional entropy H(x|z), or maximizing the mutual information I(x, z). Maximizing the mutual information in autoencoders enforces the latent code to capture both the high-level and low-level information. In contrast, in IAEs, the reconstruction cost does not penalize the encoder for losing the low-level information, as long as the decoder can invert the encoder distribution. In order to minimize the reconstruction cost function of the IAE, we re-write it in the form of a distribution matching cost function between the joint data distribution and the joint reconstruction distribution KL(q(x, z) r(x, z)) (Equation 7). This KL divergence is approximately minimized with the reconstruction GAN. The IAE has also a regularization cost function KL(q(z) p(z)) that matches the aggregated posterior distribution with a fixed prior distribution. This is the same regularization cost function used in AAEs (Equation 5), and is approximately minimized with the regularization GAN. Note that the last term in Equation 7 is the entropy of the data distribution that is fixed.
Training Process. We now describe the training process. We pass a given point x ∼ p data (x) through the encoder and the decoder to obtainẑ ∼ q(z) andx ∼ r(x). We now train the discriminator of the reconstruction GAN to identify the positive example (x,ẑ) from the negative example (x,ẑ). This discriminator now defines the reconstruction cost of the IAE. We try to confuse this discriminator by backpropagating through the negative example (x,ẑ), and updating the encoder and decoder weights. We call this process adversarial reconstruction. Similarly, we train the discriminator of the regularization GAN to identify the positive example z ∼ p(z) from the negative exampleẑ ∼ q(z). This discriminator now defines the regularization cost function, which can provide us with a gradient to update only the encoder weights. We call this process adversarial regularization. Optimizing the adversarial regularization and reconstruction cost functions encourages p(x|z) = q(x|z) and p(z) = q(z), which results in the model distribution capturing the data distribution p(x) = p data (x).
We note that in this work, we use the original formulation of GANs [1] to match the distributions. As a result, the gradient that we obtain from the adversarial training, only approximately follows the gradient of the KL divergences and the variational bound. However, as shown in [18], by using the f -GAN objective in the GAN formulation, we can optimize any f -divergence including the KL divergence.
High-Level vs. Low-Level Decomposition of Information in IAEs. In IAEs, the dimension of the latent code along with its prior distribution defines the capacity of the latent code, and the dimension of the latent noise vector along with its distribution defines the capacity of the implicit decoder. By adjusting these dimensions and distributions, we can have a full control over the decomposition of information between the latent code and the implicit decoder. In one extreme case, by removing the noise vector, we can have a fully deterministic autoencoder that captures all the information by its latent code. In the other extreme case, we can remove the latent code and have an unconditional implicit distribution that can capture the whole data distribution by itself.
In IAEs, we can choose to only optimize the reconstruction cost or both the reconstruction and the regularization costs. In the following, we discuss four special cases of the IAE and establish connections with the related methods.

Deterministic Decoder without Regularization Cost
In this case, we remove the noise vectors from the IAE, which makes both q(z|x) and p(x|z) deterministic. We then only optimize the reconstruction cost E z∼q(z) KL(q(x|z) p(x|z)) . As a result, similar to the standard autoencoder, the deterministic decoder p(x|z) learns to match to the inverse deterministic encoder q(x|z), and thus the IAE learns to perform exact and deterministic reconstruction of the original image, while the latent code is learned in an unconstrained fashion. In other words, in standard autoencoders, the Euclidean cost explicitly encouragesx to reconstruct x, and in case of uncertainty, performs mode averaging by blurring the reconstructions; however, in IAEs, the adversarial reconstruction implicitly encouragesx to reconstruct x, and in case of uncertainty, captures this uncertainty by the latent noise vector (Case 3), which results in sharp reconstructions.

Deterministic Decoder with Regularization Cost
In the previous case, the latent code was learned in an unconstrained fashion. We now keep the decoder deterministic and add the regularization term which matches the aggregated posterior distribution to a fixed prior distribution. In this case, the IAE reduces to the AAE with the difference that the IAE performs adversarial reconstruction rather than Euclidean reconstruction. This case of the IAE defines a valid generative model where the latent code captures all the information of the data distribution. In order to sample from this model, we first sample from the imposed prior p(z) and then pass this sample through the deterministic decoder.

Stochastic Decoder without Regularization Cost
In this case of the IAE, we only optimize KL(q(x, z) r(x, z)), while p(x|z) is a stochastic implicit distribution. Matching the joint distribution q(x, z) to r(x, z) ensures that their marginal distributions would also match; that is, the aggregated reconstruction distribution r(x) matches the data distribution p data (x). This model by itself defines a valid generative model in which both the prior, which in this case is q(z), and the conditional likelihood p(x|z) are learned at the same time. In order to sample from this generative model, we initially sample from q(z) by first sampling a point x ∼ p data (x) and then passing it through the encoder to obtain the latent codeẑ ∼ q(z). Then we sample from the implicit decoder distribution conditioned onẑ to obtain the stochastic reconstructionx ∼ r(x). If the decoder is deterministic (Case 1), the reconstructionx would be the same as the original image x. But if the decoder is stochastic, the latent code only captures the abstract and high-level information of the image, and the stochastic reconstructionx only shares this high-level information with the original x. This case of the IAE is related to the PixelCNN autoencoder [11], where the decoder is parametrized by an autoregressive neural network which can learn expressive distributions, while the latent code is learned in an unconstrained fashion.

Stochastic Decoder with Regularization Cost
In the previous case, we showed that even without the regularization term, r(x) will capture the data distribution. But the main drawback of the previous case is that its prior q(z) is not a parametric distribution that can be easily sampled from. One way to fix this problem is to fit a parametric prior p(z) to q(z) once the training is complete, and then use p(z) to sample from the model. However, a better solution would be to consider a fixed and pre-defined prior p(z), and impose it on q(z) during the training process. Indeed, this is the regularization term that the ELBO suggests in Equation 7. By adding the adversarial regularization cost function to match q(z) to p(z), we ensure that r(x) = p data (x) = p(x). Now sampling from this model only requires first sampling from the pre-defined prior z ∼ p(z), and then sampling from the conditional implicit distribution to obtainx ∼ r(x). In this case, the information of data distribution is captured by both the fixed prior and the learned conditional likelihood distribution. Similar to the previous case, the latent code captures the high-level and abstract information, while the remaining low-level information is captured by the implicit decoder. We will empirically show this decomposition of information on different datasets in Section 2.1.1 and Section 2.1.2. This decomposition of information has also been studied in other works such as PixelVAE [12], variational lossy autoencoders [13], PixelGAN autoencoders [14] and variational Seq2Seq autoencoders [15]. However, the main drawback of these methods is that they all use autoregressive decoders which are not parallelizable, and are much more computationally expensive to scale up than the implicit decoders. Another advantage of implicit decoders to autoregressive decoders is that in implicit decoders, the low-level statistics is captured by the noise vector representation; but in autoregressive decoders, there is no vector representation for the low-level statistics.
Connections with ALI and BiGAN. In ALI [8] and BiGAN [9] models, there are two separate networks that define the joint data distribution q(x, z) and the joint model distribution p(x, z). The parameters of these networks are trained using the gradient that comes from a single GAN that tries to match these two distributions. However, in the IAE, similar to VAEs or AAEs, the encoder and decoder are stacked on top of each other and trained jointly. So the gradient that the encoder receives comes through the decoder and the conditioning vector. In other words, in the ALI model, the input to the conditional likelihood is the samples of the prior distribution, whereas in the IAE, the input to the conditional likelihood is the samples of the variational posterior distribution, while the prior distribution is separately imposed on the aggregated posterior distribution by the regularization GAN. This makes the training dynamic of IAEs similar to that of autoencoders, which encourages better reconstructions.

High-Level vs. Low-Level Decomposition of Information
In this section, we show that the IAE can learn a high-level vs. low-level decomposition of information between the latent code and the implicit decoder. We use the Gaussian distribution for both the latent code and noise vectors, and show that by adjusting the dimensions of the latent code and the noise vector, we can have a full control over the decomposition of information. Figure 2 shows the performance of the IAE on the MNIST dataset. By removing the noise vector and using only a latent code of size 20D (Figure 2b), the IAE becomes a deterministic autoencoder. In this case, the latent code of the IAE captures all the information of the data distribution and the IAE achieves almost perfect reconstructions. By decreasing the latent code size to 10D and using a 100D noise vector (Figure 2c), the latent code retains the high-level information of the digits such as the label information, while the noise vector captures small variations in the style of the digits. By using a smaller latent code of size 5D (Figure 2d), the encoder loses more low-level information and thus the latent code captures more abstract information. For example, we can see from Figure 2d that the encoder maps visually similar digits such as {3, 5, 8} or {4, 9} to the same latent code, while the implicit decoder learns to invert this mapping and generate stochastic reconstructions that share the same high-level information with the original images. Note that if we completely remove the latent code, the noise vector captures all the information, similar to the standard unconditional GAN. Figure 3 shows the performance of the IAE on the SVHN dataset. When using a 150D latent code with no noise vector (Figure 3b), similar to the standard autoencoder, the IAE captures all the information by its latent code and can achieve almost perfect reconstructions. However, when using a 75D latent code along with a 1000D noise vector (Figure 3c), the latent code of the IAE only captures the middle digit information as the high-level information, and loses the left and right digit information. At the same time, the implicit decoder learns to invert the encoder distribution by keeping the middle digit and generating synthetic left and right SVHN digits with the same style of the middle digit. Figure 4 shows the performance of the IAE on the CelebA dataset. When using a 150D latent code with no noise vector (Figure 4b), the IAE achieves almost perfect reconstructions. But when using a 50D latent code along with a 1000D noise vector (Figure 4c), the latent code of the IAE only retains the high-level information of the face such as the general shape of the face, while the noise vector captures the low-level attributes of the face such as eyeglasses, mustache or smile.

Clustering and Semi-Supervised Learning
In IAEs, by using a categorical latent code along with a Gaussian noise vector, we can disentangle the discrete and continuous factors of variation, and perform clustering and semi-supervised learning.
Clustering. In order to perform clustering with IAEs, we change the architecture of Figure 1 by using a softmax function in the last layer of the encoder, as a continuous relaxation of the categorical latent code. The dimension of the categorical code is the number of categories that we wish the data to be clustered into. The regularization GAN is trained directly on the continuous output probabilities of the softmax simplex, and imposes the categorical distribution on the aggregated posterior distribution. This adversarial regularization imposes two constraints on the encoder output. The first constraint is that the encoder has to make confident decisions about the cluster assignments. The second constraint is that the encoder must distribute the points evenly across the clusters. As a result, the latent code only captures the discrete underlying factors of variation such as class labels, while the rest of the structure of the image is separately captured by the Gaussian noise vector of the implicit decoder.   Figure 5b shows the samples of the GAN, which takes a 7D categorical and a 10D Gaussian noise vectors as the input. Each sample is colored based on the one-hot noise vector that it was generated from. We can see that the GAN has failed to associate the categorical noise vector to different mixture components, and generate the whole data solely by using its Gaussian noise vector. Ignoring the categorical noise forces the GAN to do a continuous interpolation between different mixture components, which results in reducing the quality of samples. Figure 5c shows the samples of the IAE whose implicit decoder architecture is the same as the GAN. The IAE has a 7D categorical latent code (inferred by the encoder) and a 10D Gaussian noise vector. In this case, the inference network of the IAE learns to cluster the data in an unsupervised fashion, while its generative path learns to condition on the inferred cluster labels and generate each mixture component using the stochasticity of the Gaussian noise vector. This example highlights the importance of using discrete latent variables for improving generative models. A related work is the InfoGAN [19], which uses a reconstruction cost in the code space to prevent the GAN from ignoring the categorical noise vector. The relationship of InfoGANs with IAEs is discussed in details in Section 4. Figure 6 shows the clustering performance of the IAE on the MNIST dataset. The IAE has a 30D categorical latent code and a 10D Gaussian noise vector. Each column corresponds to the conditional samples from one of the learned clusters (only 20 are shown). The noise vector is sampled from the Gaussian distribution and held fixed across each row. We can see that the discrete latent code of the network has learned discrete factors of variation such as the digit identities, while the writing style information is separately captured by the continuous Gaussian noise vector. This network obtains about 5% error rate in classifying digits in an unsupervised fashion, just by matching each cluster to a digit type.
Semi-Supervised Learning. The IAE can be used for semi-supervised classification. In order to incorporate the label information, we set the number of clusters to be the same as the number of class labels and additionally train the encoder weights on the labeled mini-batches to minimize the cross-entropy cost. On the MNIST dataset with 100 labels, the IAE achieves the error rate of 1.40%. In comparison, the AAE achieves 1.90%, and the Improved-GAN [20] achieves 0.93%. On the  SVHN dataset with 1000 labels, the IAE achieves the error rate of 9.80%. In comparison, the AAE achieves 17.70%, and the Improved-GAN achieves 8.11%.

Cycle Implicit Autoencoders
The problem of image-to-image translation from unpaired data is an important problem in machine learning with many applications such as super-resolution, colorization, and attribute/style transfer. Inspired by generative adversarial networks, recently several methods such as CycleGAN [21] have been proposed for learning cross-domain mappings. CycleGANs learn invertible cross-domain mappings by combining the GAN formulation with a cycle-consistency constraint that encourages the reconstruction of the input. Therefore, the CycleGAN model can be viewed as an adversarial autoencoder, where the network autoencodes the first domain using the cycle-consistency constraint, while at the same time, the empirical distribution of the second domain (instead of the prior) is imposed on the latent code of the autoencoder using the GAN framework. A major limitation of the CycleGAN/AAE is that they can only learn deterministic one-to-one mappings between domains, which is the result of the unimodality of the Euclidean or L 1 reconstruction error used in these networks. However, in many scenarios, the cross-domain mapping between two domains are inherently multi-modal or many-to-many, and thus can be better characterized using stochastic functions. For example in the edges↔shoes dataset [22], an image in the edges domain can be potentially mapped to many images of the shoes with different styles. In this work, we showed that IAEs generalize adversarial autoencoders by replacing the Euclidean reconstruction cost with the adversarial reconstruction cost, enabling us to learn stochastic encoder/decoder functions. In this section, we use the similar idea to propose the CycleIAE, which replaces the L 1 cycle-consistency cost of the CycleGAN with an adversarial cycle-consistency cost, enabling us to learn stochastic image-to-image mappings.
The CycleIAE architecture is shown in Figure 7. In CycleIAEs, both the encoder and decoder are implicit distributions that are trained with the adversarial regularization and the adversarial reconstruction terms. The network autoencodes the distribution of the first domain using the adversarial reconstruction cost, while the distribution of the second domain is imposed on the latent code using the adversarial regularization cost. Figure 8 illustrates the results of training the CycleIAE on the edges↔shoes dataset. In this network, we have used a deterministic encoder (no noise vector at the input) and a stochastic decoder (noise vector of size 100). The original shoe images are fed to the deterministic encoder, which learns to lose the style information of the shoe and infer the content or the edge image of the shoe in an unsupervised fashion (Figure 8b). At the same time, the stochastic decoder learns to invert the encoder mapping by conditioning on the content information and generating stochastic reconstructions of the input image with different styles using the stochasticity of the noise vector (Figure 8c). Note that if we use the CycleGAN's L 1 cycle-consistency cost instead of the joint distribution matching reconstruction cost, the network would learn to ignore the noise vector and perform deterministic reconstruction of the original image, due to the unimodality of the L 1 reconstruction error. This mode collapse behavior has been studied in details in [23]. Now we study the task of translating female faces to male faces in the CelebA dataset. Figure 9 illustrates the results of training the CycleIAE, where the network learns to autoencode the female faces while the distribution of male faces is imposed on the latent code. In this experiment, we choose to have a stochastic encoder (noise vector of size 100) and a deterministic decoder (no noise vector at the input of the decoder). Figure 9b shows the stochastic latent code of the network, where the input noise vector is held fixed across each column. We can see that the encoder network can learn stochastic image-to-image translation of female faces to male faces, and that the noise vector has captured the style of the male face images such as variations in eyeglasses, hair, mustache, or beard. Figure 9c shows the deterministic reconstructions of the original image from the stochastic latent code. We can see that the deterministic decoder learns to invert the stochasticity of the encoder mapping, and generates almost perfect reconstructions of the input images. Note that if instead of the joint distribution matching cost between (x,ẑ) and (x,ẑ), we use a marginal distribution matching cost between x andx at the output, the decoder simply learns to generate a random female face, instead of reconstructing the original input female face.
Related Works. The problem of unsupervised multimodal image-to-image translation has been studied in several other works including Augmented-CycleGAN [23], MUNIT [24] and DRIT [25]. The Augmented-CycleGAN augments the CycleGAN's architecture with a style latent variable; and MUNIT uses a domain-specific style latent variable, and a domain-invariant content code in its architecture. All these methods use a separate inference network to perform inference over the style latent variable. By augmenting the network architecture with the style code, the many-to-many mapping becomes a one-to-one mapping, and thus these methods can use different combinations of the CycleGAN's unimodal cycle-consistency and marginal distribution matching costs to learn stochastic mappings. The fundamental difference between CycleIAEs and these methods is that in the probabilistic model of CycleIAEs, the style noise vector is not a latent variable, since we are marginalizing over the style noise vector to obtain the implicit decoder distribution. Therefore, we no longer need to perform inference for the style, and we only have a single inference network that performs inference over the content latent variable z.

Flipped Implicit Autoencoders
In this section, we describe a variant of IAEs called "Flipped Implicit Autoencoder" (FIAE), and show its applications in learning expressive variational inference networks for GANs. Let z be the latent code that comes from the prior distribution p(z). The encoder of the FIAE ( Figure 10) parametrizes an implicit distribution that uses the noise vector n to define the conditional likelihood distribution p(x|z). The decoder of the FIAE parametrizes an implicit distribution that uses the noise vector to define the variational posterior distribution q(z|x). In addition to the distributions defined in Section 2, we also define the joint latent reconstruction distribution s(x, z), and the aggregated latent reconstruction distribution s(z) as follows: The objective of the standard variational inference is minimizing KL(q(x, z) p(x, z)), which is the variational upper-bound on KL(p data (x) p(x)). The objective of FIAEs is the reverse KL divergence KL(p(x, z) q(x, z)), which is the variational upper-bound on KL(p(x) p data (x)). The FIAE optimizes this variational bound by splitting it into a reconstruction term and a regularization term as follow: where the conditional entropy H(z|x) is defined under the joint model distribution p(x, z). Similar to IAEs, the FIAE has a regularization term and a reconstruction term (Equation 12 and Equation 13). The regularization cost uses a GAN to train the encoder (conditional likelihood) such that the model distribution p(x) matches the data distribution p data (x). The reconstruction cost uses a GAN to train both the encoder (conditional likelihood) and the decoder (variational posterior) such that the joint model distribution p(x, z) matches the joint latent reconstruction distribution s(x, z).
Connections with ALI and BiGAN. In ALI [8] and BiGAN [9] models, the input to the recognition network is the samples of the real data p data (x); however, in FIAEs, the recognition network only gets to see the synthetic samples that come from the simulated data p(x), while at the same time, the regularization cost ensures that the simulated data distribution is close the real data distribution. Training the recognition network on the simulated data in FIAEs is in spirit similar to the "sleep" phase of the wake-sleep algorithm [26], during which the recognition network is trained on the samples that the network "dreams" up. One of the flaws of training the recognition network on the simulated data is that early in the training, the simulated data do not look like the real data, and thus the recognition path learns to invert the generative path in part of the data space that is far from the real data distribution. As the result, the reconstruction GAN might not be able to keep up with the moving simulated data distribution and get stuck in a local optimum. However, in our experiments with FIAEs, we did not find this to be a major problem.
Connections with InfoGAN. InfoGANs [19], similar to FIAEs, train the variational posterior network on the simulated data; however, as shown in Equation 11, InfoGANs use an explicit reconstruction cost function (e.g., Euclidean cost) on the code space for learning the variational posterior. In order to compare FIAEs and InfoGANs, we train them on a toy dataset with four data-points and use a 2D Gaussian prior ( Figure 11 and Figure 12). Each colored cluster corresponds to the posterior distribution of one data-point. In InfoGANs, using the Euclidean cost to reconstruct the code is equivalent to learning a factorized Gaussian variational posterior distribution (Figure 11b) 1 . This constraint on the variational posterior restricts the family of the conditional likelihoods that the model can learn by enforcing the generative path to learn a conditional likelihood whose true posterior could fit to the factorized Gaussian approximation of the posterior. For example, we can see in Figure 11a that the model has learned a conditional likelihood whose true posterior is axis-aligned, so that it could better match the factorized Gaussian variational posterior (Figure 11b). In contrast, the FIAE can learn an arbitrarily expressive variational posterior distribution (Figure 12b), which enables the generative path to learn a more expressive conditional likelihood and true posterior (Figure 12a).
One of the main flaws of optimizing the reverse KL divergence is that the variational posterior will have the mode-covering behavior rather than the mode-picking behavior. For example, we can see from Figure 11b that the Gaussian posteriors of different data-points in InfoGAN have some overlap; but this is less of a problem in the FIAE (Figure 12b), as it can learn a more expressive q(z|x). This mode-averaging behavior of the posterior can be also observed in the wake-sleep algorithm, in which during the sleep phase, the recognition network is trained using the reverse KL divergence objective.
The FIAE objective is not only an upper-bound on KL(p(x) p data (x)), but is also an upper-bound on KL(p(z) q(z)) and KL(p(z|x) q(z|x)). As a result, the FIAE matches the variational posterior q(z|x) to the true posterior p(z|x), and also matches the aggregated posterior q(z) to the prior p(z). For example, we can see in Figure 12b that q(z) is very close to the Gaussian prior. However, the InfoGAN objective is theoretically not an upper-bound on KL(p(x) p data (x)), KL(p(z) q(z)) or KL(p(z|x) q(z|x)). As a result, in InfoGANs, the variational posterior q(z|x) need not be close to the true posterior p(z|x), or the aggregated posterior q(z) does not have to match the prior p(z).

Experiments of Flipped Implicit Autoencoders
Reconstruction. In this section, we show that the variational posterior distribution of the FIAE can invert its conditional likelihood function by showing that the network can perform reconstructions of the images. We make both the conditional likelihood and the variational posterior deterministic by removing both noise vectors n and . Figure 13 shows the performance of the FIAE with a code size of 15 on the test images of the MNIST dataset. The reconstructions are obtained by first passing the image through the recognition network to infer its latent code, and then using the inferred latent code at the input of the conditional likelihood to generate the reconstructed image.
Clustering. Similar to IAEs, we can use FIAEs for clustering. We perform an experiment on the MNIST dataset by choosing a discrete categorical latent code z of size 10, which captures the digit identity; and a continuous Gaussian noise vector n of size 10, which captures the style of the digit. The variational posterior distribution q(z|x) is also parametrized by an implicit distribution with a Gaussian noise vector of size 20, and performs inference only over the digit identity z. Once the network is trained, we can use the variational posterior to cluster the test images of the MNIST dataset. This network achieves the error rate of about 2% in classifying digits in an unsupervised fashion by matching each categorical code to a digit type. We observed that when there is uncertainty in the digit identity, different draws of the noise vector results in different one-hot vectors at the output of the recognition network, showing that the implicit decoder can efficiently capture the uncertainty.