A diffusion model is a deep generative model whose core idea is to learn the data distribution by simulating a "destruction and reconstruction" process. It consists of a fixed forward process that progressively adds Gaussian noise to an original training image until it is completely destroyed into pure noise; simultaneously, it learns a reverse process by training a neural network (typically a U-Net) to predict the noise added at each step. During training, the model learns to recover the original signal from data corrupted at various noise levels, thereby capturing the intrinsic structure of the data. Once training is complete, generating new samples becomes an iterative sampling procedure: starting from pure random noise, the trained model removes noise step by step, ultimately "reconstructing" a brand-new, high-quality sample that conforms to the training data distribution. This approach has become one of the cornerstone techniques in generative AI, thanks to the excellent quality of its generated samples and the stability of its training process.