Fig. 1
From: Deep generative model for the inverse design of Van der Waals heterostructures

Training and generation flow chart of ConditionCDVAE+. In the first step of the training process, the latent vector \(z\), produced by the encoder, is fused with the conditional property vector \(c\) through LMF to obtain the conditional latent vector \(z_{c}\). Then, \(z_{c}\) is processed by multiple MLPs to predict the lattice parameters \(L\), atom types (including the number of atoms) \(A\), and properties of the structure. Subsequently, the \(A\) and fractional coordinates \(X\), with different levels of noise added, are input into the decoder along with the \(L\) and \(z_{c}\) to denoise the \(\bar{A}\) and \(\bar{X}\). In the second step of training, noise and \(c\) are served as inputs to the GAN to generate \(z'\) with the target \(c\). Subsequently, the discriminator evaluates the scores of \(z\) and \(z'\) to compute their Wasserstein distance, and updates the parameters of the generator and discriminator. During the generation process, the generator samples a target latent vector \(z\) from the latent space using \(c\). Subsequently, \(z\) undergoes feature fusion with the \(c\) through LMF, yielding the \(z_c\). This fused representation is then processed by MLPs, followed by Langevin dynamics-based denoising conditioned on \(z_c\), ultimately producing the final structure.