What methods can be used for distribution generation other than GANs? Generative Adversarial Networks (GANs) can be used for creating distributions of data points, that follow source data set distributions (e.g. images, sound, text, etc). Are there any other methods or techniques, that can produce new data, that looks like source data?
 A: There are many popular classes of generative models.
Autoregressive models: Here we model $\log p(x)$ as a sum of conditional terms $\sum_i \log p(x_i | x_{j < i})$. This group includes most natural language models, Transformers, PixelRNN, PixelCNN, and Wavenet. Can be used for image, text, sound, and almost any other domain. Provides an explicit $p(x)$. Not vulnerable to mode dropping like GANs are. Downside is that it's moderately difficult to train and sample efficiently.
Variational Autoencoders: Here we model $p(x) = \int p(x|z)p(z) dz$. The integral is intractable so we resort to computing a lower bound (called the ELBO). Can be used to model pretty much any mode of data. Upsides are: it's fast, provides an interpretable latent space, and doesn't drop modes. Downsides are: cannot tractably compute $p(x)$, can suffer from posterior collapse. The most powerful VAEs (see VQ-VAE2) are competitive with the best GANs for image generation.
Flow-based models: Here we model $\log p(x) = \log p_z(g^{-1}(x)) + \log \left|J_{g^{-1}}(x) \right|$, where $g$ is an invertible mapping from $x$ to some latent space $z$ and $J_{g^{-1}}$ is the jacobian of it's inverse. Upsides are: provides an explicit form of $p(x)$, doesn't drop modes, interpretable latent space, and they are also theoretically appealing. Downsides are: these models tend to be very computationally expensive. Popular models include NICE, Real-NVP, GLOW, and invertible ResNets.
Some other interesting lines of research I've seen include Implicit MLE (one sentence summary: minimizing expected distance to the nearest ground-truth point is equivalent to maximizing likelihood) and Generative Latent Optimization (one sentence summary: learn $p(x|z)$ first, decide on $p(z)$ later). 
A: The other large class of models that can do that are Variational Autoencoders. 
Basically, they explicitly try to parameterize some specified probability distribution (up to you what it is) with one half of your neural network so that the parameters match your specification AND that the samples from that distribution can be decoded by the other half to reconstruct your inputs.
In a successfully trained model, you can throw out the encoder and feed it some arbitrary latent encodings; unlike a standard Autoencoder, the latent space is contiguous.
Note that this method is not mutually exclusive with a GAN, and indeed such a hybrid often generates nicer-looking synthetic decodings.
A: Yes, there are. Goodfellow's GAN tutorial lists a taxonomy of such methods.
Some example approaches that fall into Maximum Likelihood category:


*

*autoregressive methods. Use $p_{\theta}(x) = \prod_{i} p(x_i|(x_j)_{j<1:i})$. Example: Pixel-Recurrent NN.

*variational methods. Use $p_{\theta}(x) = \int p(x|z) p(z) dz$ Where $p(x|z)$ is learnable, prior distribution on latent variables $p(z)$ is something simple (Gaussian for example)  Example: variational autoencoder.

*flow models. These are like nonlinear Independent component analysis.
If you want more, just google 'deep generative models' - there are several courses on these methods, for example from Stanford.
