**3. Preliminaries**

*3.1. GAN*

The generative adversarial network (GAN) is a deep learning method that learns the representation of high-dimensional probability from a given dataset, and was introduced by Ian Goodfellow et al. [22]. For image microstructure reconstruction, the dataset is a set of training sample images of the probability distribution underlying the image space.

GAN is a generative system that comprises two networks, a generator network and a discriminator network. The generator network converts latent vectors with a normal distribution into samples that can be classified as either real or fake by the discriminator network. The training process is stopped and the discriminator is discarded after a proper sample image is obtained from the generator. GAN follows a minmax game with a loss function that is formally defined as

$$\min\_{G} \max\_{D} \{ \mathbb{E}\_{\mathbf{x} \sim p\_{data}}[\log D(\mathbf{x})] + \mathbb{E}\_{z \sim p\_{noise}}[\log(1 - D(G(z)))] \} \tag{1}$$

where *x* is a real object input in discriminator *D* and *z* denotes the normally distributed latent vectors that represent the random input for generator *G* as illustrated in Figure 1.

**Figure 1.** Generative adversarial networks. The discriminator network tries to distinguish between real and fake images, while the generator network tries to fool the discriminator by generating real-looking images.
