0. 머리말 (p.XI–XIII)
0.1 확산 모델이 주목받는 이유
- 생성 모델의 하나로서 확산 모델은 매우 강력한 성능을 보여주고 있음.
- 특히 높은 확장성과 품질, 그리고 다양성에서 기존 GAN, VAE 기반 모델들을 압도함.
- 대표적 성과: 2022년 등장한 DALL·E2, Midjourney, Stable Diffusion 등.
0.2 기존 생성 모델과의 차이점
- GAN은 학습의 불안정성과 mode collapse 문제 등 한계가 있었음.
- 확산 모델은 안정적인 우도 추정 기반 학습이 가능하며,
- 복잡한 분포를 점진적으로 학습하여 고품질 데이터를 생성함.
0.3 확산 모델의 장점
- 안정적인 학습
- 단 하나의 모델만으로도 안정적으로 학습 가능 (GAN은 Generator + Discriminator 필요)
- 복잡한 분포도 학습 가능
- 어려운 분포도 여러 단계에 나누어 생성 가능
- 조건부 생성 가능
- 다양한 조건을 입력으로 추가할 수 있음 → 예: 텍스트, 스타일, 클래스
- 역확산 과정을 통해 제어 가능
- Diffusion 과정의 제어 가능성이 높음
0.4 중요한 키워드
- 잠복 변수(latent variable): 보이지 않는 정보가 내재된 변수
- 다이노이징(denoising): 노이즈 제거 방식으로 잠재 공간의 데이터를 복원
- SDE, ODE: 시간 연속 확산 방정식 기반으로 모델 확장됨
- Score Function: 로그우도의 기울기(∇ log p(x))를 나타냄
- 스코어 기반 생성(score-based generation): 확산 모델의 핵심
0.5 연도별 주요 연구
- 2019년 Yang Song: 스코어 기반 잠재 생성 모델 제안
- 2020년 Jonathan Ho: DDPM 제안. 시간별 노이즈 제거 기반으로 고품질 이미지 생성
- 2021년 이후: SDE/ODE 확산 모델 등장 → 이미지, 음성, 텍스트 생성 모두 적용 가능
기호 일람 정리 (p.XVI)
기호 | 의미 |
$x \in \mathbb{R}^d$ | d차원 실수 벡터 |
$x_i$ | 벡터 $x$의 i번째 성분 |
$D = \{x^{(1)}, ..., x^{(N)}\}$ | 훈련 데이터 집합 |
$x^{(i)}$ | i번째 훈련 데이터 |
$p(x)$ | 목표 확률분포 (ex. GAN, Diffusion) |
$\exp(-f(x)) / Z(\theta)$ | 확률분포 모델링 식 |
$f(x)$ | 에너지 함수 |
$Z(\theta)$ | 정규화 상수 (Partition Function) |
$\nabla = \left( \frac{\partial}{\partial \theta_1}, ..., \frac{\partial}{\partial \theta_m} \right)$ | 나블라, 그래디언트 연산자 |
$\nabla f(x)$ | 함수 f(x)의 기울기 벡터 |
$\mathbb{E}[x]$ | 기대값 |
$\mathbf{0}$ | 0 벡터 |
$u$ | 샘플링용 잡음, 보통 $u \sim \mathcal{N}$ |
$\mathcal{N}(\mu, \sigma^2)$ | 평균 $\mu$, 분산 $\sigma^2$인 정규분포 |
$\|x\|_2$ | L2 노름 (유클리드 거리) = $\sqrt{x^T x}$ |
확률 이론 기반
- 결합 확률$$P(A, B) = P(A) \cdot P(B | A)$$
- 조건부 확률$$P(A|B) = \frac{P(A, B)}{P(B)}$$
- 베이즈 정리$$P(B|D) = \frac{P(D|B) \cdot P(B)}{P(D)}$$
- Markov 성질$$P(x_{t+1} | x_t, x_{t-1}, \dots) = P(x_{t+1} | x_t)$$
확률 분포 표현 및 비교
- PDF (Probability Density Function)
예: 정규분포$$p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x - \mu)^2}{2\sigma^2} \right)$$ - Log-likelihood$$\log p(x|\theta)$$
- KL Divergence $$D_{\mathrm{KL}}(P \parallel Q) = \int P(x) \log \left( \frac{P(x)}{Q(x)} \right) \, dx$$
- Score Function$$s(x) = \nabla_x \log p(x)$$
Chapter 1. 생성 모델
1.1 생성 모델이란 무엇인가 (p.1~3)
정의
- 생성 모델(generative model)이란, 데이터를 생성하는 모델을 의미함.
- 목적은 주어진 데이터의 분포를 모사하여 새로운 데이터를 생성하는 것.
수학적 표현
- 목표는 확률분포 $p(x)$를 학습하는 것.
여기서 $x$는 데이터 (예: 이미지, 텍스트, 음성 등)를 의미함. - 학습 데이터 집합:$D = \{x^{(1)}, x^{(2)}, \dots, x^{(N)}\}$이들은 미지의 확률분포 $p(x)$에서 독립적으로 추출된 표본.
벡터 표현
- 각 샘플 $x^{(i)} \in \mathbb{R}^d$: d차원 벡터
- $x^{(i)}_j$: i번째 데이터의 j번째 성분
목표
- 훈련 데이터 $D$로부터 확률분포 $q_{\theta}(x)$를 학습하여
실제 분포 $p(x)$를 최대한 잘 근사하는 것.
학습 데이터 분포와 모델 분포의 차이를 보여주는 그림.
→ $p(x)$는 실제 데이터 분포, $q_\theta(x)$는 모델 분포.
확률분포 간의 거리
- 분포 $q_{\theta}(x)$와 $p(x)$의 유사도는
KL Divergence (Kullback–Leibler Divergence)로 측정됨:$$D_{\mathrm{KL}}(p(x) \parallel q_{\theta}(x)) = \int p(x) \log \frac{p(x)}{q_{\theta}(x)} dx$$
조건부 생성 모델
- 조건부 확률모델: $p(x|c)$
→ 조건 $c$ (예: 텍스트, 라벨 등)에 따라 데이터를 생성하는 모델
예시:
- 텍스트 조건 → 이미지 생성
- 흑백 이미지 → 컬러화 문제 (채색)
조건부 vs. 비조건부
- 조건이 없는 경우: 일반적인 확률분포 $p(x)$
- 조건이 있는 경우: 조건부 확률분포 $p(x|c)$
예시:
흑백 이미지를 채색하는 경우,
$p(y|x)$: 흑백 이미지 $x$에 대해 다양한 색상 $y$가 존재
→ 조건부 생성 모델은 이 다양성을 반영할 수 있음.
- 왼쪽: 결정론적 함수 $y = f(x)$로는 하나의 출력만 가능
- 오른쪽: 확률모델 $p(y|x)$은 여러 결과 가능
1.2 에너지 기반 모델과 분배함수 (p.4~5)
에너지 기반 모델 (Energy-Based Model, EBM)
- 확률분포를 다음과 같이 정의함:$$q_{\theta}(x) = \frac{\gamma_{\theta}(x)}{Z(\theta)}$$
여기서,
- $\gamma_{\theta}(x)$: 비정규화 확률 (unnormalized probability), 항상 ≥ 0
- $Z(\theta)$: 분배함수 (partition function)$$Z(\theta) = \int_{x' \in \mathcal{X}} \gamma_{\theta}(x') dx'$$
→ $\gamma_{\theta}(x)$가 에너지 함수 기반으로 표현되면:
$$q_{\theta}(x) = \frac{\exp(-f_{\theta}(x))}{Z(\theta)}$$ $$Z(\theta) = \int \exp(-f_{\theta}(x)) dx$$
- $f_{\theta}(x)$: 에너지 함수 (낮을수록 해당 데이터가 더 잘 맞음)
의미 해석
- $f(x)$가 작을수록 $x$는 출현하기 쉬운 데이터
- $f(x)$가 클수록 출현하기 어려운 데이터
→ 확률모델이 에너지를 통해 데이터를 평가함
장점
- 임의의 함수 $f(x)$를 자유롭게 사용할 수 있어 모델 설계의 유연성이 높음
- 하지만 단점은 $Z(\theta)$ 계산이 어려워 학습이 힘들다는 것
1.2.1 구성 가능성 (Composability)
- 두 확률분포 $q_1(x), q_2(x)$가 있다고 하자.
- 각각 에너지 $f_1(x), f_2(x)$에 의해 정의됨.
- 이 두 에너지를 더한 분포:$q(x) \propto \exp(-f_1(x) - f_2(x)) = q_1(x) \cdot q_2(x)$
→ 즉, 곱 연산으로 두 분포를 결합할 수 있음
→ 이것은 여러 조건을 조합할 수 있는 매우 강력한 특성임.
1.3 학습 방법 (p.6~13)
학습 방식은 크게 두 가지
- 우도 기반 모델 (Likelihood-based Model)
- 암묵적 생성 모델 (Implicit Model)
(1) 우도 기반 모델
개념
- 주어진 데이터 $x$의 우도(likelihood)를 최대화하는 방향으로 학습하는 모델.
- 훈련 데이터의 우도가 가장 크게 되는 매개변수 $\theta$를 찾는 것:$$\theta_{MLE} = \arg \max_{\theta} \log q_{\theta}(D)$$
수식 유도 (p.7)
- $D = \{x^{(1)}, x^{(2)}, ..., x^{(N)}\}$
- 각 데이터의 우도는 $q_{\theta}(x^{(i)})$
- 로그우도 $L(\theta) = \frac{1}{N} \sum_{i=1}^{N} \log q_{\theta}(x^{(i)})$
: 우도 기반 모델에서 관찰된 데이터의 우도를 크게 만드는 방향으로 확률분포가 변하는 모습
에너지 기반 모델의 경우 (p.8)
- 분포 정의:$q_{\theta}(x) = \frac{\exp(-f_{\theta}(x))}{Z(\theta)}$
- 로그우도:$L(\theta) = - \frac{1}{N} \sum_{i=1}^{N} f_{\theta}(x^{(i)}) - \log Z(\theta)$
- 즉, 첫 항은 훈련 데이터의 에너지를 낮추고
둘째 항은 전체 분포의 정규화 상수를 고려하여 조정함.
: $Z($\theta)$를 구하기 어려움
기울기 계산 (p.9)
- 최적화의 목적은 로그우도 $L(\theta)$를 증가시키는 방향으로 매개변수 $\theta$를 조정하는 것.
- 최종 유도 결과:$\frac{\partial L(\theta)}{\partial \theta} = \frac{1}{N} \sum_{i=1}^{N} \left[ \frac{\partial f_{\theta}(x^{(i)})}{\partial \theta} - \mathbb{E}_{q_{\theta}(x)}\left[ \frac{\partial f_{\theta}(x)}{\partial \theta} \right] \right]$
→ 첫 항은 실제 데이터의 평균 기울기,
→ 둘째 항은 모델 분포에 따른 평균 기울기.
(2) 암묵적 생성 모델 (p.9–10)
개념
- 분포 $q(x)$를 직접적으로 정의하지 않고,
샘플링할 수만 있도록 만드는 모델. - 대표적 예시: GAN (Generative Adversarial Network)
수식적 접근
- 생성자: $x = G(z)$, z는 정규분포 $z \sim \mathcal{N}(0, I)$
- 판별자: $D(x)$, 훈련 데이터와 생성 데이터를 구분
- 위쪽: 잠재 변수 공간(z-space)에서 샘플링
- 아래쪽: 생성된 데이터가 실제 데이터와 얼마나 비슷한지를 판별하는 구조
우도 기반 vs 암묵적 모델 비교 (p.11)
liklihood based model | implicit density model |
로그우도를 최대화하는 안정적 학습 | KL Divergence 최소화 문제로 불안정할 수 있음 |
로그우도 계산 가능 | 직접 계산 어려움, 샘플링 기반 평가 |
정규화된 분포 필요 | 분포를 명시적으로 쓰지 않아도 됨 |
확률분포 $p(x)$로부터 모델이 생성한 $q(x)$를 근사 | 반대로 모델 $q(x)$로부터 실제 분포를 판별하는 방식 |
KL Divergence 관점에서 해석 (p.11–12)
- 우도 기반 학습:$\min_{\theta} D_{\text{KL}}(p(x) \parallel q_{\theta}(x))$→ 실제 데이터 분포 $p(x)$가 기준이며, 모델이 이를 따라야 함.
- 암묵적 생성 모델:$\min_{\theta} D_{\text{KL}}(q_{\theta}(x) \parallel p(x))$→ 생성 모델이 기준이며, 실제 데이터처럼 보이게 학습.
- (a) 우도 기반 모델은 모든 모드를 커버하려 하지만 mode collapse 없음.
- (b) 암묵적 모델은 특정 모드에만 집중 → mode collapse 발생 가능
1.4 고차원에서의 다봉분포 데이터 생성의 어려움 (p.13)
- 고차원 데이터 (이미지, 영상 등)는 대부분 다봉분포(multi-modal)를 가짐
- 다양한 모드(mode)를 가지는 분포를 직접 모델링하거나 샘플링하는 건 매우 어렵다.
분포 함수의 문제점
- 분포함수 $Z(\theta)$, 기울기 $\nabla Z(\theta)$ 계산이 불가능할 정도로 복잡
- 이를 해결하기 위해 MCMC (Markov Chain Monte Carlo) 방식 사용
MCMC 개념
- 분포를 직접 알지 못해도 비율만으로 샘플링 가능:$$\frac{p(x)}{p(x')} = \exp(-f(x) + f(x'))$$
: MCMC는 낮은 에너지 영역에서 높은 영역으로 넘어가야 하지만, 확률이 매우 작아 표본 추출이 어려움
MCMC의 한계
- 표본추출의 효율성 문제
- 고차원 공간에서는 저차원의 극히 일부 영역에만 데이터가 존재함 (당양체 가설)
- 모드 간 이동 어려움
- MCMC는 현재 위치의 에너지에 매우 의존적
- 에너지가 높은 구간을 넘기 위해서는 매우 많은 샘플 필요
'Theory > Computer Vision' 카테고리의 다른 글
[Diffusion 스터디] 확산 모델의 수학 1.5.6~ 1.5.8 정리(CH1 완료) (0) | 2025.05.02 |
---|---|
[Diffusion 스터디] 확산 모델의 수학 1.5~ 1.5.5 정리 (0) | 2025.04.18 |
[Euron 8th Research 예습 과제] GM & AutoEncoder(+ Variational) & GAN 개념 정리 (0) | 2025.03.23 |
[CV] 이론 정리 (0) | 2025.02.09 |
[의학영상처리] 정리본 (0) | 2025.02.09 |