Stable Diffusion, DALL-E, Midjourney가 텍스트 몇 줄로 고해상도 이미지를 만들어냅니다. 사람들은 이걸 AI의 창의성이라고 부르지만 수학적으로는 다릅니다. 고차원 확률 분포에서 샘플을 추출하는 과정입니다. 창의성이 아니라 통계적 복원입니다.
이 중에서도 확산 모델(Diffusion Model)은 독특한 방식을 씁니다. 데이터를 노이즈로 파괴한 다음, 그 파괴 과정을 역으로 학습해서 노이즈에서 이미지를 복원합니다. 엉망으로 만드는 법을 배워서 복원하는 법을 터득하는 역설적인 접근입니다. 오늘은 이 원리를 수식과 함께 따라가 보겠습니다.

생성 모델의 수학적 본질 — 확률 분포 복원하기
AI가 고양이 사진을 생성한다는 건 수학적으로 이런 의미입니다. 세상의 모든 고양이 사진들은 고차원 픽셀 공간에서 특정한 영역에 몰려있습니다. 이 영역이 "고양이 사진의 확률 분포"입니다. 무작위 픽셀 조합은 이 분포 바깥에 있어서 확률이 거의 0입니다.
실제 데이터 분포 p_data(x)를 학습한 모델 분포 p_model(x)로 근사
학습이 완벽하다면:
p_model(x) ≈ p_data(x)
이 분포에서 샘플 추출 → 새로운 고양이 사진 생성
문제: 고양이 사진은 수백만 픽셀 = 수백만 차원
이 고차원 분포를 직접 모델링하는 건 불가능
→ 각 모델이 다른 방법으로 이 문제를 우회함
이 연재에서 다룬 개념들이 여기서 연결됩니다. 확률 분포를 학습한다는 건 MLE로 가능도를 최대화하는 겁니다. KL 발산으로 두 분포의 차이를 측정합니다. 엔트로피로 불확실성을 정량화합니다. 생성 모델은 이 모든 개념의 총집합입니다.
순방향 확산 — 데이터를 노이즈로 파괴하기
확산 모델의 첫 단계는 역설적으로 데이터를 파괴하는 겁니다. 깨끗한 이미지에 가우시안 노이즈를 조금씩 수천 번 추가합니다. 마지막 단계에서는 원본이 완전히 사라지고 순수한 노이즈만 남습니다.
q(x_t | x_{t-1}) = N(x_t; √(1-β_t)·x_{t-1}, β_t·I)
x_0: 원본 이미지
x_t: t번째 노이즈가 추가된 이미지
β_t: 각 단계의 노이즈 강도 (매우 작은 값, 0.0001~0.02)
T: 총 단계 수 (보통 1000)
단계별 변화:
x_0 (깨끗한 이미지)
x_1 (미세한 노이즈 추가)
x_100 (노이즈가 보이기 시작)
x_500 (원본 형체 흐릿)
x_1000 (완전한 가우시안 노이즈)
→ 마르코프 체인: 현재 상태는 이전 상태에만 의존
마르코프 체인(Markov Chain)은 현재 상태가 오직 바로 이전 상태에만 의존한다는 성질입니다. x_t를 만들 때 x_{t-1}만 알면 되고 그 이전 상태는 몰라도 됩니다. 이 성질 덕분에 수학적 계산이 가능해집니다. 또한 가우시안 노이즈를 쓰는 이유는 정규분포의 합이 정규분포라는 성질 때문입니다. 이 연재에서 다룬 정규분포가 여기서 핵심 역할을 합니다.
역방향 확산 — 노이즈에서 이미지 복원하기
확산 모델의 핵심은 역방향 과정입니다. 완전한 노이즈 x_T에서 시작해서 x_{T-1}, x_{T-2}... x_0을 복원하는 과정을 학습합니다.
q(x_{t-1} | x_t)를 직접 계산하는 건 불가능
→ 전체 데이터 분포를 알아야 하기 때문
해결책: 신경망으로 근사
p_θ(x_{t-1} | x_t) = N(x_{t-1}; μ_θ(x_t, t), Σ_θ(x_t, t))
신경망이 학습하는 것:
"x_t에서 x_{t-1}로 가는 방향의 평균 μ"
실제 구현 (Ho et al. 2020):
신경망이 직접 예측하는 것 = 각 단계에서 추가된 노이즈 ε
손실 함수: L = ||ε - ε_θ(x_t, t)||²
→ 추가된 노이즈를 예측하는 문제로 단순화
학습 방식이 핵심입니다. "원본 이미지가 무엇인가"를 직접 예측하는 대신 "이 단계에서 추가된 노이즈가 무엇인가"를 예측합니다. MSE 손실로 예측 노이즈와 실제 노이즈의 차이를 최소화하는 방식입니다. 이전 글에서 다룬 역전파와 경사하강법으로 학습합니다.
스코어 함수 — 어느 방향이 더 고양이 같은가
역방향 확산을 이론적으로 뒷받침하는 게 스코어 함수(Score Function)입니다. 스코어 함수는 확률 밀도의 로그 기울기입니다.
의미: 현재 위치 x에서 어느 방향으로 가야
확률 p(x)가 높아지는가
직관적 설명:
x가 노이즈가 많은 이미지일 때
s(x)는 "더 고양이 같은 방향"을 가리킨다
이 기울기를 따라가면:
노이즈 → 덜 노이즈 → 인식 가능 형체 → 선명한 이미지
Langevin Dynamics:
x_{t-1} = x_t + (ε/2)·s(x_t) + √ε·z
z: 가우시안 노이즈 (탐색을 위한 무작위성)
이 연재에서 다룬 경사하강법과 개념이 같습니다. 경사하강법은 손실을 줄이는 방향(기울기의 반대)으로 이동하고, 스코어 기반 생성은 확률을 높이는 방향(기울기 방향)으로 이동합니다. 방향만 다르고 기울기를 따라간다는 원리는 동일합니다.
GAN vs VAE vs Diffusion — 세 생성 모델 비교
확산 모델 이전에는 GAN과 VAE가 주류였습니다. 각각 어떤 수학적 방법으로 분포를 학습하는지, 장단점이 무엇인지 비교해 보겠습니다.
생성자(G)와 판별자(D)의 minimax 게임
min_G max_D [E[log D(x)] + E[log(1-D(G(z)))]
장점: 생성 속도 빠름, 이미지 품질 높음
단점: 학습 불안정, 모드 붕괴 (일부 패턴만 반복 생성)
VAE (Variational Autoencoder):
잠재 공간을 확률 분포로 모델링 + KL 발산 최소화
장점: 학습 안정, 잠재 공간 해석 가능
단점: 생성 이미지가 흐릿한 경향
Diffusion Model:
마르코프 체인 + 가우시안 노이즈 복원
장점: 품질·다양성 최고, 학습 안정
단점: 생성 속도 느림 (수천 번 스텝 필요)
| 모델 | 수학적 원리 | 대표 제품 |
|---|---|---|
| GAN | 게임 이론 (Minimax) | StyleGAN, CycleGAN |
| VAE | 변분 추론 + KL 발산 | Stable Diffusion 잠재 공간 |
| Diffusion | 마르코프 체인 + 가우시안 | DALL-E 2, Midjourney, SD |
| Autoregressive | 조건부 확률 (Chain Rule) | GPT, DALL-E 1 |
확산 모델이 Stable Diffusion에서 작동하는 방식
Stable Diffusion은 순수 확산 모델에서 한 발 더 나아간 잠재 확산 모델(Latent Diffusion Model)입니다. 픽셀 공간(수백만 차원)에서 직접 확산하면 연산이 너무 많습니다. 대신 VAE로 이미지를 훨씬 작은 잠재 공간으로 압축한 다음 그 공간에서 확산을 수행합니다.
1. 텍스트 입력 → CLIP으로 텍스트 임베딩
2. 가우시안 노이즈 z_T 생성 (잠재 공간)
3. U-Net이 텍스트 조건부로 노이즈 제거 (약 50단계)
→ 매 단계: "이 텍스트에 맞는 방향으로 노이즈 제거"
4. z_0 생성 완료 (잠재 공간의 깨끗한 표현)
5. VAE 디코더로 잠재 공간 → 픽셀 공간 복원
6. 최종 이미지 출력
픽셀 공간: 512×512×3 = 786,432차원
잠재 공간: 64×64×4 = 16,384차원 (48배 압축)
→ 연산량이 훨씬 줄어듦
텍스트 조건(Conditioning)을 추가하는 방식도 흥미롭습니다. U-Net의 각 층에 Attention Mechanism으로 텍스트 임베딩을 주입합니다. "빨간 고양이"를 입력하면 노이즈 제거 과정이 빨간 고양이의 확률 분포 방향으로 유도됩니다. 이 연재에서 다룬 확률론, 정규분포, 행렬 연산, 역전파가 모두 이 한 장의 이미지를 만드는 데 들어가 있습니다.
'데이터 과학 수학' 카테고리의 다른 글
| 알파고는 어떻게 바둑을 배웠는가, 강화학습(Reinforcement Learning)과 MDP의 수학 (0) | 2026.04.17 |
|---|---|
| 넷플릭스는 왜 익명화에 실패했는가, 차분 프라이버시(Differential Privacy)로 개인정보 보호하는 법 (0) | 2026.04.16 |
| 그래프 이론(Graph Theory)이란 무엇인가, 소셜 네트워크부터 GNN까지 (0) | 2026.04.14 |
| 인공지능의 미래와 수학적 통찰, 블랙박스 모델을 넘어 설명 가능한 AI(XAI)로 (0) | 2026.04.13 |
| 차원의 저주(Curse of Dimensionality), 데이터가 많아질수록 성능이 떨어지는 이유와 수학적 해법 (0) | 2026.04.12 |