과정 학습 기록
Day 5 — Diffusion, LDM과 응용
Forward noise와 reverse denoising을 수식으로 연결한 뒤 DDPM, latent diffusion, Stable Diffusion의 계산 위치를 비교했다.
- Date
- 2025-07-11
- Course
- 2025 생성모델 집중과정 — VAE부터 Stable Diffusion까지
이날의 학습 포인트
이날의 학습 포인트
이날의 학습 포인트
이날 정리한 주제
- DDPM의 Forward와 Reverse Process
timestep별 noise 예측과 sampling loop를 다시 적었다.
- Latent Diffusion과 Stable Diffusion
pixel space 대신 latent space에서 denoising할 때 계산량이 줄어드는 이유를 비교했다.
- Diffusion 응용과 다음 공부
conditioning
Forward process
깨끗한 (x_0)에 작은 Gaussian noise를 여러 번 더해 (x_T)를 표준정규분포에 가깝게 만든다. 중요한 점은 (x_t)를 만들기 위해 1단계부터 모두 반복하지 않고, 누적 계수 (\bar\alpha_t)를 사용해 임의 timestep의 noisy sample을 바로 만들 수 있다는 점이었다.
Reverse process와 noise prediction
DDPM 논문의 구현에서는 U-Net이 (x_t)와 (t)를 받아 추가된 noise를 예측한다. 학습 때는 무작위 timestep 하나를 고를 수 있지만 sampling 때는 (T)에서 0까지 순서대로 denoise해야 하므로 느리다.
Latent Diffusion
Latent Diffusion 논문은 이미지를 Autoencoder의 latent로 압축한 뒤 그 공간에서 diffusion을 수행한다. pixel space보다 차원이 작아 계산량을 줄이면서 decoder가 이미지로 복원한다. text condition은 cross-attention을 통해 U-Net에 들어간다.
Stable Diffusion과 DiT로 이어 보기
Stable Diffusion은 latent diffusion 계열의 text-to-image pipeline으로 이해했다. DiT 논문은 latent patch를 다루는 Transformer로 U-Net backbone을 바꾼다. Diffusion의 확률 과정과 denoising objective는 유지되고, noise predictor의 구조가 달라진다.
다음 실행
Diffusion Notebook은 코드 구조까지만 남아 있고 출력 Cell은 비어 있었다. 먼저 작은 FashionMNIST DDPM에서 tensor shape와 sampling loop를 다시 확인한 뒤, latent diffusion의 encoder·decoder 경계를 같은 방식으로 기록할 예정이다.