## 2 Methodology  
### Denoising Diffusion Probabilistic Model  
DDPM is a powerful generation model that can learn the probability distribution of data and generate new samples. Its basic structure comprises two processes: a diffusion forward process and a reverse process. In the diffusion forward process, noise is gradually added to the input data, progressively corrupting it. In the reverse process, the model works to restore the corrupted data to their original state. This process allows the model to learn the complex feature distribution of the data. The diffusion forward process starts with the data \(x_{0}\) and gradually adds noise to reach \(x_{T}\). At each step, the data \(x_{t}\) are generated by adding noise to the data from the previous step, \(x_{t-1}\). This noise follows a Gaussian distribution with an average of \(x_{t-1}\sqrt{1-\beta_{t}}\) and a variance of \(\beta_{t}I\), where \(I\) is the identity matrix. Through this process, \(x_{t}\) gradually moves away from the original data, eventually transforming into almost pure noise. The forward process can be expressed via the following equations:  
\[q(x_{1:T}|x_{0})=\prod_{t=1}^{T}q(x_{t}|x_{t-1}) \tag{1}\]  
\[q(x_{t}|x_{t-1})=\mathcal{N}(x_{t};x_{t-1}\sqrt{1-\beta_{t}},\beta_{t}I) \tag{2}\]  
Parameter \(\beta_{t}\) governs the amount of noise added to the data at each time step \(t\). It increases linearly at each step, introducing small increments of noise during the early stages of the diffusion forward process and larger amounts in the later stages. \(\beta_{t}\) is defined as follows:  
\[\beta_{t}=\beta_{\text{start}}+t\bigg{(}\frac{\beta_{\text{end}}-\beta_{\text {start}}}{T}\bigg{)} \tag{3}\]  
The reverse process gradually reconstructs original data \(x_{0}\) from the noise-corrupted data \(x_{T}\). The process of recovering the previous step \(x_{t-1}\) from the data \(x_{t}\) at time step \(t\), denoted as \(p_{\theta}(x_{t-1}|x_{t})\), is expressed via the following equation. Here, \(\theta\) represents the model's parameters. \[p_{\theta}(x_{t-1}|x_{t})=\mathcal{N}(x_{t-1};\mu_{\theta}(x_{t},t),\sigma_{t} ^{2}I) \tag{4}\]  
In the reverse process, the model follows a Gaussian distribution with an average of \(\mu_{\theta}(x_{t},t)\) and a variance of \(\sigma_{t}^{2}I\). The variance \(\sigma_{t}^{2}I\) is calculated as follows:  
\[\sigma_{t}^{2}=\frac{1-\overline{\alpha}_{t-1}}{1-\overline{\alpha}_{t}}\beta _{t} \tag{5}\]  
Here, \(\alpha_{t}\) represents the data retention rate, and at each step, \(\alpha_{t}\) is calculated as follows:  
\[\alpha_{t}=1-\beta_{t} \tag{6}\]  
\(\overline{\alpha}_{t}\) is the cumulative retention rate, which is the product of all \(\alpha\) values up to time step \(t\). When expanded, it can be expressed as follows:  
\[\overline{\alpha}_{t}=\prod_{s=1}^{t}\alpha_{s}=\alpha_{1}\cdot\alpha_{2}\cdot \alpha_{3}\cdot\cdot\cdot\cdot\alpha_{t-1}\cdot\alpha_{t} \tag{7}\]  
In Equation (4), the model average \(\mu_{\theta}(x_{t},t)\) is expressed as shown below, where \(\epsilon_{\theta}(x_{t},t)\) represents the predicted noise. In a standard DDPM model, a U-Net-based neural network is used to predict the noise. \[\mu_{\theta}(x_{t},t)=\frac{1}{\sqrt{\alpha_{t}}}\bigg{(}x_{t}-\frac{\beta_{t }}{\sqrt{1-\overline{\alpha}_{t}}}\epsilon_{\theta}(x_{t},t)\bigg{)} \tag{8}\]The entire reverse process is expressed as shown below. This equation represents the probability distribution of the full process, starting from generating initial noise data \(x_{T}\) and progressively removing noise at each step to restore the original data \(x_{0}\). \[p_{\theta}(x_{0:T})=p_{\theta}(x_{T})\prod_{t=1}^{T}p_{\theta}(x_{t-1}|x_{t}) \tag{9}\]  
The process of reconstructing the previous step \(x_{t-1}\) from data \(x_{t}\) at time step \(t\), \(p_{\theta}(x_{t-1}|x_{t})\), can be summarized as follows by substituting Equation (8) into Equation (4).