AI Lab · #05 Diffusion

노이즈에서 이미지로,
1000단계의 거꾸로

2020년 Jonathan Ho의 DDPM이 제안한 핵심 — "이미지에 노이즈를 점점 추가하는 과정"을 학습한 신경망은, 거꾸로 노이즈에서 이미지를 만들 수 있다. 슬라이더 하나로 t=0(깨끗)→t=100(노이즈)의 forward와 그 거울상인 reverse를 동시에 확인합니다.

📌 이게 뭐 하는 랩인가 왼쪽은 Forward(학습): 깨끗한 이미지에 점점 noise를 더해 t=100에서 거의 순수 잡음으로. 오른쪽은 Reverse(생성): 잡음에서 시작해 점점 노이즈를 제거. 두 과정이 거울상이라는 것이 Diffusion의 핵심 통찰입니다. Stable Diffusion·DALL-E 2·Sora 모두 이 메커니즘 위에서 작동합니다.
📋 사용법
  1. Timestep t 슬라이더(0→100)를 움직이면 양쪽 이미지가 동시에 변합니다.
  2. 왼쪽 (파랑): t=0 깨끗한 이미지 → t=100 거의 순수 노이즈. x_t = √α̅·x_0 + √(1−α̅)·ε
  3. 오른쪽 (초록): reverse step. t=0일 때 reverse가 가장 많이 진행된 상태(깨끗), t=100일 때 가장 시작 단계(노이즈).
  4. 대상으로 원·십자·Mura 패턴·S 글자를 골라 다른 이미지에서 확인.
  5. 자동 재생으로 0→100→0 반복 애니메이션을 볼 수 있습니다.
Diffusion — Forward(노이즈 추가) ↔ Reverse(노이즈 제거)
Timestep t 0
대상
슬라이더로 t=0(깨끗) → t=100(노이즈) 변화를 확인하세요.
왼쪽 forward (학습 시 노이즈 추가). 오른쪽 reverse (생성 시 노이즈 제거). 두 흐름은 거울상.

이게 왜 중요한가

실제 Stable Diffusion이나 Sora는 픽셀 공간이 아니라 latent 공간에서 같은 메커니즘으로 작동합니다. VAE가 512×512 픽셀을 64×64×4 latent로 압축하고, 거기서 1000단계 diffusion 학습. 출력 latent를 VAE decoder로 다시 픽셀로 펴면 — 우리가 보는 그 멋진 이미지가 나옵니다.

왜 1000단계나 나누나? 한 번에 노이즈→이미지로 가는 건 너무 어렵기 때문입니다. 작은 step으로 나누면, 각 step은 "약간 더 깨끗하게 만드는" 단순한 task가 됩니다. 그게 학습 안정성·품질을 보장한 핵심.

그리고 응용은 이미지를 넘어섭니다. 반도체 결함 데이터 합성(Intel GFA), 의료 영상 부족 보강, 약물 분자 설계(생물학적 구조 생성), 음악 생성(Suno, Udio) — Diffusion은 "잡음에서 의미 있는 패턴으로" 가는 모든 task에 쓰입니다.

📖
관련 글로 돌아가기
AI 진화사 EP05 — 술집에서 떠올린 아이디어가 그림 그리는 AI를 만들었다