Chapter 1 복습
더보기
1.5 점수 매칭 (Score Matching)
1.5.2 점수 매칭의 정의
- 점수란 확률분포의 로그 확률밀도 함수의 기울기, 즉$s(x) = \nabla_x \log p(x)$
- 확률분포 자체를 학습하기보다 점수만 학습하는 방식.
- 이를 Score-Based Model (SBM)이라 하며, SBM은 확률변수의 총합이 1이라는 제약으로 인해 점수만 일치하면 동일한 분포가 됨.
1.5.3 명시적 vs 암묵적 점수 매칭
명시적 (Explicit Score Matching, ESM)
- 정답 분포 $p(x)$를 직접 이용하여 다음을 최소화:$$J_{\text{ESM}}(\theta) = \frac{1}{2} \mathbb{E}_{p(x)} \left[\| \nabla_x \log p(x) - s_\theta(x) \|^2 \right]$$
암묵적 (Implicit Score Matching, ISM)
- $\log p(x)$를 모를 경우 아래와 같은 목적함수 사용:$$J_{\text{ISM}}(\theta) = \mathbb{E}_{p(x)} \left[ \frac{1}{2} \|s_\theta(x)\|^2 + \text{tr}(\nabla_x s_\theta(x)) \right]$$
- 증명을 통해 명시적 점수 매칭과 동일한 최적점을 갖는다는 것을 보임.
1.5.5 디노이징 점수 매칭 (DSM)
- 위 목적함수 계산에 어려움이 있어, 다음을 활용:
- $\tilde{x} = x + \epsilon, \epsilon \sim \mathcal{N}(0, \sigma^2 I)$
- 섞인 분포 $p_\sigma(\tilde{x}) = \int p(x) \mathcal{N}(\tilde{x}; x, \sigma^2 I) dx$
- 명시적 $J_{\text{DSM}}(\theta) = \frac{1}{2} \mathbb{E}_{p(\tilde{x}, x)} \left[ \| \nabla_{\tilde{x}} \log p_\sigma(x|\tilde{x}) - s_\theta(\tilde{x}, \sigma) \|^2 \right]$
- 조건부 분포의 score는 해석적으로:$\nabla_{\tilde{x}} \log p(x | \tilde{x}) = \frac{x - \tilde{x}}{\sigma^2}$
- 최종적으로 다음과 같이 수렴:$J_{\text{DSM}}(\theta) = \mathbb{E} \left[ \left\| \frac{x - \tilde{x}}{\sigma^2} - s_\theta(\tilde{x}, \sigma) \right\|^2 \right]$
1.5.7~8 DSM이 점수를 추정한다는 증명
- DSM과 ISM의 목적함수 차이가 상수 항 $C$뿐임을 증명.
- 추가로 잡음이 정규분포를 따르는 경우에 대해, DSM이 이론적으로 최적의 점수 함수와 일치한다는 것을 보임.
- 해석적으로 구한 $s_\theta(\tilde{x})$는 weighted average로 나타나며, 다음 수식으로 표현됨:$$s_\theta(\tilde{x}) = \frac{\sum_i N(\tilde{x}; x^{(i)}, \sigma^2 I) d^{(i)}}{\sum_i N(\tilde{x}; x^{(i)}, \sigma^2 I)}$$
1.5.8 요약
- 점수 기반 학습은 확률밀도를 직접 추정하지 않고, 로그 우도의 기울기를 추정.
- 디노이징 점수 매칭(DSM)은 추정된 점수를 기반으로 모델을 학습하며, 분포의 고차원 영역에서도 효율적.
- 점수 기반 학습의 계산 부담(트레이스 항)을 줄이기 위한 근사로서 DSM이 유용.
Chapter 2 확산 모델
확산 모델은 대표적인 생성 모델의 한 종류로, 데이터에 점진적으로 잡음을 추가하는 확산 과정과, 그 반대로 잡음으로부터 데이터를 복원하는 역확산 과정을 통해 데이터를 생성한다.
2.1 점수 기반 모델과 디노이징 확산확률 모델
1. 두 가지 확산 기반 생성 모델
- 점수 기반 모델 (SBM: Score-Based Model)
- 1장에서 다룬 디노이징 점수 매칭(DSM) 을 통해 점수 함수를 추정
- 추정한 점수를 이용하여 Langevin Monte Carlo (LMC) 방식으로 표본을 샘플링
- 고차원 분포에서는 추정한 점수가 부정확해질 수 있음
- 이를 해결하기 위해 다양한 수준의 노이즈를 섞고, 각 노이즈 수준에서 점수를 학습하여 샘플링 수행
- 디노이징 확산확률 모델 (DDPM: Denoising Diffusion Probabilistic Model)
- 데이터를 점진적으로 노이즈화하는 정방향 확산 과정
- 잡음으로부터 데이터를 복원하는 역방향 생성 과정을 통해 표본 생성
- 확률적 생성 과정을 잠재 변수 모델로 해석하며, ELBO (Evidence Lower Bound) 를 최대화하여 학습
2. 두 모델의 공통점과 차이점
- 공통점
- 두 모델 모두 잡음이 추가된 분포로부터 원본 데이터 복원을 목표로 함
- 훈련 목표로 같은 목적함수 (e.g., score matching, ELBO) 를 사용할 수 있음
- 차이점
- 사용되는 우도 방식과 가중치 매개변수가 다름
- 학습과정에서 접근 방식은 다르지만, 동일한 수학적 원리로 해석 가능
즉,
- SBM과 DDPM은 확산 모델이라는 더 넓은 틀로 통합될 수 있음
- 확산 모델은 노이즈와 역노이즈의 흐름을 모델링하여 고차원 데이터 생성을 효과적으로 수행할 수 있는 방법론임
2.2 점수 기반 모델
- 앞서 언급한 SBM(Score-Based Model) 에 대해 더 구체적으로 설명하는 장이다.
- 특히 추정한 점수를 사용하는 Langevin Monte Carlo (LMC) 방법의 한계점과 문제점을 집중 조명한다.
2.2.1 Langevin Monte Carlo 방법의 문제점
문제 1: 밀도(p(x))가 작은 영역의 점수는 무시된다
- 확률분포 $p(x)$가 매우 작은 영역에서는, 점수 함수 $s_\theta(x)$가 부정확하게 추정된다.
- 목적함수는 $p(x)$를 가중치로 사용하기 때문에, $p(x)$가 작은 영역의 점수는 학습에서 기여도가 작아져 무시됨
- 이로 인해 고차원 분포의 희귀한 영역이나 데이터가 적은 영역은 제대로 학습되지 않는다.
예시: 이미지, 음성 등 고차원 데이터에서는 가능한 조합 중 대부분이 매우 작은 확률을 가지며, 그 영역은 학습되지 않는 미학습 상태(untrained zone) 가 된다.
- 분포의 밀도가 낮은 영역에서 표본을 추출하려고 할 때 점수 추정이 부정확해짐
- LMC로 표본을 얻으려 해도 학습되지 않은 영역에서는 잘못된 점수를 사용하게 되어 정확한 샘플링 불가
문제 2: 다중 모드 분포에서 모드 간 이동이 어렵다
- MCMC 방식의 공통된 문제
- 분포가 다봉형(multimodal)일 경우, 확률이 작은 지역을 넘어 다른 모드로 이동하는 데 매우 많은 스텝이 필요하다
- 왜냐하면:
- 점수 함수 $\nabla_x \log p(x)$는 항상 모드 중심을 향하도록 작동
- 모드 간 이동은 잡음에만 의존해야 하므로 확률적으로 도달하기 매우 어려움
Langevin 규칙:
$$x_k = x_{k-1} + \alpha \nabla_x \log p(x_{k-1}) + \sqrt{2\alpha} u_k$$, where $u_k \sim \mathcal{N}(0, I)$
- 위 식에서 점수는 모드 중심 방향의 gradient이므로, 다른 모드로 이동하려면 거의 잡음에 의존
- 따라서 모드 간 전환이 거의 불가능하며, 표본의 다양성이 떨어지는 현상 발생
즉,
- 점수 기반 표본 추출법(특히 LMC)은 $p(x)$가 작은 영역의 점수 추정이 부정확해지는 문제를 가진다.
- 다봉형 분포에서는 다른 모드로의 이동이 매우 어렵다.
- 이는 LMC가 고차원 분포나 희귀 영역에서는 표본 다양성 확보에 실패할 수 있다는 점을 뜻한다.
2.2.2 점수 기반 모델은 여러 개의 교란 후 분포의 점수를 조합한다
핵심 아이디어
- SBM(Score-Based Model)은 데이터 분포로부터 여러 크기의 잡음(σ) 을 추가하여 교란된 분포들을 만들고, 이 각각의 교란 후 분포에서 점수를 계산한다.
- 이러한 접근은 데이터의 복잡한 구조를 더 넓은 영역으로 확장시켜, 원래 데이터에 존재하지 않던 영역까지도 점수를 학습하게 한다.
섭동이 아닌 교란이라는 용어 사용
- 여기서 '섭동(perturbation)'이라는 용어를 사용하는 이유는, 데이터 전체를 파괴할 정도로 큰 잡음을 사용하기 때문이다. 이는 단순한 섭동 수준이 아니라 의미 있는 교란 수준의 변형이다.
교란 후 분포의 효과
- 교란된 분포는 원래 데이터보다 더 넓은 영역으로 퍼지게 되며, 이로 인해 다양한 모드(mode) 가 연결되는 단일 분포로 정규화되는 효과가 생긴다.
- 이러한 분포 위에서는 각 모드를 고르게 탐색할 수 있어, 다중 모드 구조의 데이터를 효과적으로 처리할 수 있다.
simulated annealing과의 유사성
- SBM은 교란 후 분포를 반복적으로 탐색하는데, 이는 simulated annealing처럼 처음엔 큰 잡음을 주고 점점 잡음을 줄여가는 방식이다.
- 초기에는 분포 전체를 폭넓게 탐색하고, 이후 점차 미세 조정을 수행하는 전역 탐색 + 지역 정제(global + refinement) 구조를 갖는다.
SBM의 구현 방식
- 여러 크기의 잡음 σₜ (σ₁ < σ₂ < … < σₜ) 를 사용해 각각의 교란 후 분포 pₜ(x̄)를 구성하고,
- 각 pₜ(x̄)에 대해 점수 함수 ∇ₓ log pₜ(x̄)를 추정.
- 이 점수는 denoising 점수 매칭 기법으로 추정되며, 손실 함수는 다음과 같다:$$\mathcal{L}_{SBM}(\theta) = \sum_{t=1}^{T} w_t \, \mathbb{E}_{p_{\sigma_t}(x̄)} \left[ \left\| \nabla_{x̄} \log p_{\sigma_t}(x̄) - s_{\theta}(x̄, \sigma_t) \right\|^2 \right]$$
- 여기서 가중치 wₜ = σₜ² 로 설정되면 점수 스케일과 맞아떨어진다고 알려져 있음.
SBM의 샘플링 알고리즘 요약
- σ_max에서 시작해, 점점 작은 σ_t로 내려오며 점수 기반 이동 수행.
- 각 단계에서는 아래 규칙으로 이동:$$x_{t,k} := x_{t,k-1} + \alpha_t s_{\theta}(x_{t,k-1}, \sigma_t) + \sqrt{2\alpha_t} \, u_k$$(단, 마지막 반복에서는 잡음 u_k 생략하여 denoising 효과)
- 이 과정을 거치면, 점차적으로 원래의 데이터 분포에 가까운 샘플을 생성할 수 있음.
즉,
- SBM은 교란된 여러 분포에서 얻은 점수를 조합하여 다중 모드 분포에서도 효과적으로 학습 및 샘플링이 가능한 모델이다.
- 기존의 단일 잡음 기반 점수 추정 기법보다 훨씬 안정적이고 표현력이 강한 점수 추정이 가능하다.
2.3 디노이징 확산확률 모델 (DDPM)
1. 기본 개념
- DDPM(Denoising Diffusion Probabilistic Model)은 확산 과정(forward)과 역확산 과정(reverse)으로 이루어진 잠재변수 생성 모델이다.
- 확산 과정에서는 데이터에 점차 잡음을 추가하여 정규분포에 가까워지도록 만든다.
- 역확산 과정에서는 이 과정을 되돌려가며 데이터를 생성한다.
- 이는 SBM처럼 확산 모델에 해당되며, 같은 목적함수(ELBO)를 사용하여 학습된다.
2. 확산(Forward) 과정의 정의
- 마르코프 체인 형태로 확산 과정을 표현:
- $q(x_{1:T}|x_0) = \prod_{t=1}^{T} q(x_t|x_{t-1})$
- 각 조건부 확률: $q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{\alpha_t} x_{t-1}, \beta_t I)$
- $\beta_t$는 잡음의 분산으로, $0 < \beta_1 < \cdots < \beta_T < 1$
- 임의의 시점 $t$에서:$q(x_t|x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t) I)$여기서 $\bar{\alpha}_t = \prod_{s=1}^t \alpha_s$
- 의의: $x_0$로부터 여러 단계에 걸쳐 잡음을 추가하면서 $x_T \sim \mathcal{N}(0, I)$에 근접하게 만든다.
3. 역확산(Reverse) 과정의 정의
- 역으로 데이터를 복원하는 확률 모델:$p_\theta(x_{0:T}) = p(x_T) \prod_{t=1}^{T} p_\theta(x_{t-1} | x_t)$
- 초기 분포 $p(x_T) = \mathcal{N}(0, I)$
- 각 단계는 $p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))$
- 실제 학습에서는 모든 분포를 정규분포로 근사하며, 확산 및 역확산 과정이 같은 형태임을 증명함으로써 구조의 정당성을 확보.
4. 수식적으로 중요한 포인트
- 핵심 수식:$x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)$
- 이 수식은 $x_t$를 직접 샘플링하는 데 사용됨 (표현력이 뛰어난 잠재 공간을 구성)
5. 학습 효율
- DDPM은 확산 과정 전체가 마르코프 체인으로 구성되어 있어 정확한 조건부 확률의 추론이 가능하며, 역과정에서도 정규분포를 유지.
- 역확산 과정은 ELBO(변분 하한)를 최대화하는 방식으로 학습된다.
- 중간 단계의 잡음 층을 해석적으로 추출할 수 있기 때문에, 생성 과정의 일부분만 학습해도 전체 모델을 효과적으로 학습 가능(→ mini-batch 학습 시 임의 시간 $t$ 선택).
'Theory > Computer Vision' 카테고리의 다른 글
[Diffusion 스터디] 확산 모델의 수학 2.4.0 ~ 2.4.4 정리(CH2 완료) (0) | 2025.06.10 |
---|---|
[Diffusion 스터디] 확산 모델의 수학 2.3.2 ~ 2.3.4 정리 (1) | 2025.06.05 |
[Diffusion 스터디] 확산 모델의 수학 1.5.6~ 1.5.8 정리(CH1 완료) (0) | 2025.05.02 |
[Diffusion 스터디] 확산 모델의 수학 1.5~ 1.5.5 정리 (0) | 2025.04.18 |
[Diffusion 스터디] 확산 모델의 수학 머릿말 ~ 1.4 정리 (0) | 2025.04.13 |