본 글은 Diffusion에 대한 이해를 위해서 찬찬히 써보는 시리즈 글입니다.
1.1 서론: 생성 모델 패러다임의 전환
2020년, Jonathan Ho, Ajay Jain, Pieter Abbeel이 발표한 "Denoising Diffusion Probabilistic Models(DDPM)" 논문은 딥러닝 기반 이미지 생성 연구의 흐름을 바꾸어 놓았습니다. 이 논문은 2015년 Sohl-Dickstein 등이 제안한 확산 기반 생성 모델의 아이디어를 실용적인 수준으로 발전시켰으며, 이후 Stable Diffusion, DALL-E 2, Imagen, Midjourney 등 현재 가장 널리 사용되는 이미지 생성 모델들의 이론적 기반이 되었습니다.
Diffusion Model이 주목받는 이유는 단순히 성능이 우수하기 때문만은 아닙니다. 기존의 대표적인 생성 모델이었던 GAN(Generative Adversarial Networks)과 VAE(Variational Autoencoders)가 각각 학습 불안정성과 생성 품질 문제를 안고 있었던 반면, Diffusion Model은 안정적인 학습과 높은 품질을 동시에 달성했습니다. 더불어, 그 이론적 구조가 명확하여 다양한 후속 연구와 응용이 가능했습니다.
본 글에서는 Diffusion Model의 핵심 개념을 수식 없이 직관적으로 설명합니다. 이후 글에서 수학적 기반을 순차적으로 다룰 것이므로, 본 에서는 "왜 이런 접근이 작동하는가"에 대한 감을 잡는 것을 목표로 합니다.
1.2 확산 현상과 정보의 소멸
1.2.1 물리적 확산의 비가역성
Diffusion Model이라는 명칭은 물리학의 확산(Diffusion) 현상에서 유래했습니다. 확산은 입자가 농도 구배를 따라 고농도 영역에서 저농도 영역으로 이동하는 현상입니다. 이 과정은 열역학 제2법칙에 의해 지배되며, 고립계에서 엔트로피는 항상 증가하는 방향으로 진행됩니다.
물에 잉크 한 방울을 떨어뜨리는 상황을 생각해봅니다. 초기에는 잉크 분자가 한 점에 집중되어 있습니다. 시간이 지나면 브라운 운동에 의해 잉크 분자들이 무작위로 이동하며, 점차 물 전체에 균일하게 퍼져나갑니다. 충분한 시간이 지나면 잉크는 물 전체에 균등하게 분포하며, 이 상태에서는 초기에 잉크가 어느 위치에 떨어졌는지 알 수 없습니다.
이 과정에서 중요한 것은 정보의 소멸입니다. 초기 상태(잉크의 위치)에 대한 정보는 확산 과정을 통해 점진적으로 사라집니다. 그리고 이 과정은 자연적으로는 되돌릴 수 없습니다. 균일하게 퍼진 잉크가 저절로 다시 한 점으로 모이는 일은 일어나지 않습니다.
1.2.2 이미지에 대한 확산 과정
이제 잉크 대신 디지털 이미지를 생각합니다. 선명한 이미지에 가우시안 노이즈(Gaussian noise)를 반복적으로 추가하면 어떻게 될까요?
처음에는 노이즈가 미미하여 원본 이미지가 거의 그대로 보입니다. 그러나 노이즈를 계속 추가하면 이미지는 점점 흐려지고, 결국에는 원본이 고양이였는지 자동차였는지 풍경이었는지 전혀 구분할 수 없는 상태가 됩니다. 충분히 많은 노이즈가 추가되면, 어떤 이미지에서 시작했든 결과는 동일한 등방성 가우시안 분포(isotropic Gaussian distribution)에 수렴합니다.
| 단계 | 상태 | 정보량 |
|---|---|---|
| $t = 0$ | 원본 이미지 $x_0$ | 최대 |
| $t$ 작음 | 약간의 노이즈가 섞인 이미지 | 높음 |
| $t$ 중간 | 구조가 흐릿해진 이미지 | 감소 중 |
| $t \to T$ | 순수한 가우시안 노이즈 | 소멸 |
물리적 확산과 마찬가지로, 이 과정에서 원본 이미지에 대한 정보는 점진적으로 소멸합니다. 그리고 순수한 노이즈만 주어진 상태에서 원본 이미지를 복원하는 것은, 균일하게 퍼진 잉크로부터 초기 위치를 알아내는 것만큼이나 불가능해 보입니다.
1.3 역확산: 불가능을 가능으로
1.3.1 핵심 통찰
Diffusion Model의 핵심 아이디어는 다음과 같은 질문에서 출발합니다:
노이즈를 추가하는 과정을 정확히 알고 있다면, 그 역과정을 학습할 수 있지 않을까?
물리적 확산은 되돌릴 수 없습니다. 그러나 디지털 이미지에 노이즈를 추가하는 과정은 우리가 완전히 통제할 수 있는 수학적 연산입니다. 매 단계에서 어떤 분포의 노이즈를 얼마나 추가했는지 정확히 알고 있습니다. 이 정보를 활용하면, 신경망을 훈련시켜 역과정을 근사할 수 있습니다.
이것이 가능하다면, 순수한 가우시안 노이즈에서 시작하여 점진적으로 노이즈를 제거해나감으로써 의미 있는 이미지를 "생성"할 수 있습니다. 마치 조각가가 대리석 덩어리에서 불필요한 부분을 깎아내어 조각상을 만들어내는 것처럼, Diffusion Model은 노이즈 덩어리에서 불필요한 무작위성을 제거하여 이미지를 만들어냅니다.
1.3.2 Forward Process와 Reverse Process
Diffusion Model은 두 가지 과정으로 구성됩니다.
Forward Process (순방향 과정, $q$)는 원본 이미지 $x_0$에서 시작하여 점진적으로 노이즈를 추가하는 과정입니다:
$$x_0 \to x_1 \to x_2 \to \cdots \to x_t \to \cdots \to x_T$$
각 화살표는 소량의 가우시안 노이즈를 추가하는 연산을 나타냅니다. 이 과정은 마르코프 체인(Markov chain)으로 모델링됩니다. 즉, $x_t$의 분포는 오직 직전 상태 $x_{t-1}$에만 의존하며, 그 이전 상태들과는 조건부 독립입니다.
Forward Process는 학습이 필요 없는 고정된 과정입니다. 각 단계에서 추가되는 노이즈의 양은 사전에 정의된 노이즈 스케줄(noise schedule)에 의해 결정됩니다. 대표적인 스케줄로는 DDPM 원 논문의 선형 스케줄, Improved DDPM의 코사인 스케줄 등이 있습니다.
Reverse Process (역방향 과정, $p$)는 Forward Process의 역방향입니다:
$$x_T \to x_{T-1} \to \cdots \to x_t \to \cdots \to x_1 \to x_0$$
순수한 노이즈 $x_T$에서 시작하여 점진적으로 노이즈를 제거하며, 최종적으로 의미 있는 이미지 $x_0$를 얻습니다.
여기서 핵심적인 문제가 등장합니다: $x_t$만 주어졌을 때, 한 단계 덜 noisy한 $x_{t-1}$을 어떻게 얻을 수 있을까요? 이론적으로, Forward Process의 각 단계가 충분히 작으면 Reverse Process의 각 단계 역시 가우시안 분포를 따른다는 것이 알려져 있습니다. 문제는 이 가우시안 분포의 파라미터(평균과 분산)를 모른다는 것입니다.
Diffusion Model은 신경망을 사용하여 이 분포의 파라미터를 추정합니다. 구체적으로, 신경망은 noisy 이미지 $x_t$와 현재 timestep $t$를 입력받아 해당 이미지에 포함된 노이즈를 예측합니다. 예측된 노이즈를 기반으로 $x_{t-1}$의 분포를 계산할 수 있습니다.
1.4 학습과 샘플링
1.4.1 신경망의 학습 목표
Diffusion Model의 학습 과정은 다음과 같습니다:
- 학습 데이터셋에서 원본 이미지 $x_0$를 샘플링합니다
- $0$과 $T$ 사이에서 무작위로 timestep $t$를 선택합니다
- 가우시안 분포에서 노이즈 $\epsilon$를 샘플링합니다
- Forward Process 공식을 사용하여 noisy 이미지 $x_t$를 계산합니다
- 신경망 $\epsilon_\theta(x_t, t)$에 $x_t$와 $t$를 입력하여 노이즈 $\hat{\epsilon}$를 예측하게 합니다
- 실제 노이즈 $\epsilon$와 예측된 노이즈 $\hat{\epsilon}$ 사이의 차이(일반적으로 $L_2$ 손실)를 최소화하도록 신경망 파라미터 $\theta$를 업데이트합니다
핵심은 신경망이 "이 noisy 이미지에 얼마만큼의 노이즈가 섞여 있는가"를 예측하도록 훈련된다는 것입니다. 다양한 이미지와 다양한 노이즈 레벨에 대해 이 예측을 정확히 수행할 수 있게 되면, 역으로 노이즈를 제거하는 것도 가능해집니다.
1.4.2 이미지 생성 (샘플링)
훈련된 모델을 사용하여 이미지를 생성하는 과정은 다음과 같습니다:
- 표준 가우시안 분포 $\mathcal{N}(0, I)$에서 순수한 노이즈 $x_T$를 샘플링합니다
- $t = T$부터 $t = 1$까지 다음을 반복합니다:
- 신경망을 사용하여 $x_t$에 포함된 노이즈 $\hat{\epsilon}$를 예측합니다
- 예측된 노이즈와 노이즈 스케줄 정보를 사용하여 $x_{t-1}$을 계산합니다
- ($t > 1$인 경우) 약간의 확률적 노이즈를 추가합니다
- 최종적으로 $x_0$를 얻습니다
이 과정에서 중요한 점은 반복적(iterative)이라는 것입니다. 한 번의 신경망 호출로 노이즈에서 바로 이미지를 생성하는 것이 아니라, 수백에서 수천 번의 점진적인 denoising 단계를 거칩니다. 이러한 반복적 구조가 Diffusion Model의 높은 생성 품질에 기여하지만, 동시에 생성 속도가 느린 원인이기도 합니다.
1.5 Forward Process 시각화
Forward Diffusion Process
x₀ (원본)
xₜ (t = 0)
t = 0: 원본 이미지
1.6 기존 생성 모델과의 비교
Diffusion Model의 위치를 이해하기 위해 주요 생성 모델들을 비교합니다.
VAE (Variational Autoencoder)는 데이터를 저차원 잠재 공간(latent space)으로 인코딩한 뒤 다시 디코딩하는 구조입니다. 인코더와 디코더를 동시에 학습하며, 잠재 공간의 분포가 가우시안에 가깝도록 정규화합니다. 학습이 안정적이고 잠재 공간에서의 보간(interpolation)이 용이하다는 장점이 있지만, 생성된 이미지가 흐릿한(blurry) 경향이 있습니다.
GAN (Generative Adversarial Network)은 생성자(generator)와 판별자(discriminator)를 적대적으로 학습시킵니다. 생성자는 판별자를 속이려 하고, 판별자는 진짜와 가짜를 구분하려 합니다. 이 경쟁 구도를 통해 선명한 이미지를 생성할 수 있지만, 학습이 불안정하고 모드 붕괴(mode collapse) 현상이 발생할 수 있습니다.
Diffusion Model은 노이즈 추가와 제거의 반복적 과정을 통해 이미지를 생성합니다. GAN에 필적하는 이미지 품질을 달성하면서도 VAE처럼 안정적인 학습이 가능합니다. 또한 likelihood 계산이 가능하여 모델 평가가 용이합니다. 단점은 수백~수천 회의 반복적인 신경망 호출이 필요하여 생성 속도가 느리다는 것입니다.
| 측면 | VAE | GAN | Diffusion |
|---|---|---|---|
| 학습 안정성 | 높음 | 낮음 | 높음 |
| 생성 품질 | 중간 | 높음 | 높음 |
| 다양성 | 높음 | 낮음 (모드 붕괴) | 높음 |
| 생성 속도 | 빠름 | 빠름 | 느림 |
| Likelihood | 근사 가능 | 불가 | 근사 가능 |
이후 DDIM, DPM-Solver, Consistency Models 등의 연구에서 Diffusion Model의 샘플링 효율을 크게 개선하여, 현재는 수십 단계 이내로도 고품질 이미지 생성이 가능해졌습니다.
1.7 요약 및 다음 글
본 글에서는 Diffusion Model의 핵심 개념을 직관적으로 살펴보았습니다:
- 확산 현상의 차용: 이미지에 노이즈를 추가하면 정보가 점진적으로 소멸하여 순수한 노이즈에 수렴합니다
- 역과정의 학습: 노이즈 추가 과정이 알려져 있으므로, 신경망을 통해 역과정을 학습할 수 있습니다
- Forward Process: 고정된 노이즈 스케줄에 따라 $x_0$에서 $x_T$로 전환하는 마르코프 체인입니다
- Reverse Process: 신경망이 예측한 노이즈를 기반으로 $x_T$에서 $x_0$를 복원하는 과정입니다
- 학습 목표: 각 timestep에서 이미지에 추가된 노이즈 $\epsilon$를 정확히 예측하는 것입니다
그러나 아직 수학적으로 명확히 정의되지 않은 부분이 많습니다:
- Forward Process의 정확한 수식은 무엇인가?
- 왜 단일 단계가 아닌 수백~수천 단계가 필요한가?
- 신경망의 손실 함수는 어떻게 유도되는가?
- 노이즈 스케줄은 어떤 기준으로 설계하는가?
다음 글에서는 Forward Process를 확률 분포의 관점에서 정의하고, 핵심적인 reparameterization trick을 소개합니다.
참고문헌
- Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems, 33, 6840-6851.
- Sohl-Dickstein, J., Weiss, E., Maheswaranathan, N., & Ganguli, S. (2015). Deep Unsupervised Learning using Nonequilibrium Thermodynamics. Proceedings of the 32nd International Conference on Machine Learning, 2256-2265.
- Nichol, A. Q., & Dhariwal, P. (2021). Improved Denoising Diffusion Probabilistic Models. Proceedings of the 38th International Conference on Machine Learning, 8162-8171.
- Song, J., Meng, C., & Ermon, S. (2021). Denoising Diffusion Implicit Models. International Conference on Learning Representations (ICLR).
'인공지능 논문 정리 > Diffusiion' 카테고리의 다른 글
| [Diffusion 6] Score Function이란 무엇인가: Score Matching에 대한 이해 (1) | 2026.01.20 |
|---|---|
| [Diffusion 5] DDPM 논문 완전 정복 (하): Reverse Process와 학습 (0) | 2026.01.19 |
| [Diffusion 4] DDPM 논문 완전 정복 (상): Forward Process (0) | 2026.01.18 |
| [Diffusion 3] Diffusion을 위한 확률론: 가우시안, 마르코프 체인, 그리고 베이즈 (0) | 2026.01.18 |
| [Diffusion 2] Forward와 Reverse: Diffusion의 두 가지 여정 (1) | 2026.01.18 |