본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 해당 논문에서 발췌한 것입니다. 이 자료들은 논문의 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원 논문을 참고하여 확인하시기 바랍니다.
이 논문은 비평형 통계물리(예: Jarzynski 평등식)와 순차 몬테카를로 아이디어를 차용해, 단순한 기준 분포(가우시안 등)를 데이터 분포로 점진적으로 변환하는 전방 확산 과정을 정의하고, 그 역과정을 가우시안 마르코프 전이(평균·공분산 함수)를 학습하여 되돌리는 “확산 확률모형”을 제안한다. 모델 자체를 “전이 사슬의 끝점”으로 정의함으로써 각 단계의 전이확률이 해석 가능해지고, 이에 따라 샘플링이 정확하며(체인 시뮬레이션), 로그우도(또는 그 하한)를 효율적으로 평가할 수 있다. 저자들은 스위스롤, 이진 시퀀스, MNIST, CIFAR-10 등에서 높은 로그우도 하한과 함께 샘플링·인페인팅을 시연하며 방법의 유연성과 계량 가능성을 보였다. 요컨대, 복잡한 데이터 분포를 직접 모수화하기보다 “작은 섭동으로 구성된 역확산 전이”를 학습함으로써, 유연성과 해석 가능성을 동시에 확보하는 생성모형을 구현한 것이다.
Abstract
머신러닝의 핵심 과제는 복잡한 데이터를 모델링할 수 있는 유연성(flexibility)과 학습 및 추론이 용이한 다루기 쉬움(tractability)을 동시에 만족시키는 모델을 개발하는 것이다. 이 논문은 비평형 통계 물리학에서 영감을 얻어 이 문제를 해결하는 새로운 접근법을 제안한다. 핵심 아이디어는 두 단계로 구성된다. 첫째, '순방향 확산 과정'을 통해 데이터가 가진 구조를 점진적으로 파괴하여 간단한 노이즈 분포로 변환한다. 둘째, 이 과정을 반대로 거슬러 올라가 노이즈로부터 원본 데이터의 구조를 복원하는 '역방향 확산 과정'을 학습시킨다. 이 학습된 역방향 과정 자체가 바로 유연하면서도 다루기 쉬운 새로운 생성 모델이 된다. 이 접근법을 통해 수천 개에 달하는 깊은 레이어를 가진 모델에서도 빠른 학습, 샘플링, 확률 평가가 가능해지며(※), 조건부 및 사후 확률의 계산 같은 고급 기능도 수행할 수 있다. 또한, 저자들은 이 알고리즘의 구현 코드를 오픈 소스로 공개하여 다른 연구자들이 활용할 수 있도록 했다.
※ 빠른 샘플링이라는 표현은, 이 논문이 발표된 2015년의 기술적 배경을 고려하여 이해해야 한다. 당시 다른 유연한 모델들은 몬테카를로 방법 등 매우 비싼(계산량이 많은, 컴퓨팅 자원을 많이 소모) 계산을 통해 샘플링해야 했던 것에 비해, 이 모델의 샘플링 방식은 상대적으로 더 직접적이라는 의미로 사용되었다. 이 논문이 발표될 당시, 샘플링 속도는 GAN과 같은 다른 모델에 비해 현저히 느렸다. 이 점을 명확히 해주는 것이 후속 연구(DDIM, Latent Diffusion 등)가 왜 필요했는지에 대한 맥락을 제공한다.
1. Introduction
역사적으로 확률 모델 분야에는 풀기 어려운 상충 관계가 존재했다. 이는 모델이 복잡한 데이터를 잘 표현할 수 있는 유연성(flexibility)과, 계산 및 평가가 용이한 다루기 쉬움(tractability) 사이의 문제다. 다루기 쉬운 모델(예: 가우시안)은 너무 단순해서 복잡한 데이터 구조를 설명하지 못하고, 반대로 유연한 모델은 정규화 상수 계산 문제 등으로 인해 훈련과 평가가 매우 어렵고 비용이 많이 든다. 이러한 상충 관계를 완화하기 위해 평균장 이론, 변분 베이즈 등 다양한 해석적 근사법들이 제시되었지만, 이들은 문제를 개선할 뿐 근본적으로 해결하지는 못한다. 비모수적 방법 역시 효과적인 접근법 중 하나이다.
1.1 Diffusion probabilistic models
본 연구는 확률 모델을 정의하는 새로운 방법을 제시하며, 이는 모델 구조의 높은 유연성, 정확한 샘플링, 다른 분포와의 손쉬운 결합, 그리고 저렴한 로그 우도 계산 등의 장점을 가진다. 이 방법의 핵심은 비평형 통계 물리학 등에서 아이디어를 얻은 Markov chain을 활용하는 것으로, 확산 과정을 통해 가우시안과 같은 단순한 분포를 목표 데이터 분포로 점진적으로 변환한다. 특히, 이 Markov chain을 기존 모델의 근사치를 구하는 데 사용하지 않고, 연쇄의 최종 결과물 자체를 확률 모델로 명시적으로 정의하는 것이 특징(※)이다. 이러한 접근법 덕분에 확산 과정의 모든 단계를 해석적으로 평가할 수 있으므로 모델 전체의 확률 계산이 가능해진다.
- 기존 방식: 이미 잘 만들어진 '빵'(목표 모델)이 있고, 이와 비슷한 빵을 만들기 위해 '베이킹 레시피'(마르코프 연쇄)를 이용해 근사치를 만드는 방식.
- Diffusion 방식: '이 레시피(Markov chain)를 따르면 나오는 결과물 자체가 우리가 만들려던 빵(확률 모델)이다'라고 명시적으로 정의해버리는 방식
- Markov 가정: `t` 시점의 상태가 오직 바로 직전 단계인 `t-1` 시점의 상태에만 의존하고, 그 이전의 과거(`t-2`, `t-3`, ...)와는 무관하다.
이 프레임워크에서 학습은 확산 과정에 가해지는 작은 변화, 즉 '섭동'을 추정하는 방식으로 이루어진다. 전체 데이터 분포를 복잡한 단일 함수로 직접 표현하는 것보다 이러한 작은 변화를 추정하는 것이 계산적으로 더 용이하다. 또한, 이 방법은 목표 데이터 분포가 부드럽기만 하다면 어떠한 형태든 확산 과정을 통해 포착할 수 있는 유연성을 가진다. 연구진은 스위스 롤과 같은 장난감 데이터셋부터 MNIST, CIFAR-10, 그리고 다른 자연 이미지 데이터셋에 이르기까지 다양한 데이터에 대해 모델을 성공적으로 훈련시켜 그 유용성을 입증했다.
※섭동: 여기서 '섭동'이란, 각 역방향 확산 단계에서 노이즈를 제거하기 위해 필요한 가우시안 분포의 평균($f_\mu$)과 공분산($f_\Sigma$)의 변화량을 의미한다. 사전적 의미의 섭동(Perturbation)은 안정적인 시스템이나 상태에 가해지는 '작고 미세한 변화' 또는 '약한 외부의 힘'을 의미한다. 핵심은 이 변화가 시스템의 근본을 바꾸지 않고, 원래 상태에서 약간만 벗어나게 한다는 점이다.
1.2 Relationship to other work
추론 모델과 생성 모델을 경쟁적으로 훈련하는 아이디어는 'wake-sleep' 알고리즘에서 처음 제시되었다. 이 개념은 약 20년간 크게 주목받지 못하다가, 최근 변분 학습(variational learning)과 같은 형태로 활발히 연구되기 시작했다. 본 논문이 제안하는 모델 역시 이러한 흐름 속에서 변분 베이즈 방법과 유사한 훈련 목표를 사용하지만, 그 이념적 기반과 구조에서 중요한 차별점을 보인다. 가장 큰 차이는 변분 베이즈가 아닌 비평형 통계 물리학에서 영감을 얻었다는 점입니다. 이를 통해 추론(forward) 과정과 생성(reverse) 과정의 함수 형태를 동일하게 제한함으로써 기존 변분 추론의 고질적인 훈련 문제를 해결했다. 더불어, ▲다른 확률 분포와의 손쉬운 결합, ▲수천 개 이상의 레이어를 갖는 심층 모델의 훈련 가능성, ▲각 단계별 엔트로피 생성의 상한과 하한 제공 등 명확한 장점을 가진다. 이러한 접근법은 wake-sleep 알고리즘의 개선판, 생성적 적대 신경망(GANs), 자기회귀 모델(NADE) 등 당대의 여러 생성 모델들과 맥락을 같이한다. 저자들은 본 논문에서 특히 적대적 신경망(GANs) 및 MCGSM 모델과 실험적으로 성능을 비교하여 모델의 우수성을 입증하고자 했다.
본 논문의 접근법은 여러 물리학 아이디어에 이론적 기반을 두고 있다. 대표적으로, 머신러닝에서 어닐링 중요도 샘플링(AIS)(※)으로 알려진 Jarzynski 등식은 마르코프 연쇄를 통해 한 분포를 다른 분포로 점진적으로 변환하는 개념을 제공한다. 또한, 랑주뱅 동역학은 어떤 목표 분포든 그 평형 상태로 갖는 가우시안 확산 과정을 정의할 수 있는 방법을 제시한다. 가장 중요한 것은 콜모고로프 순방향 및 역방향 방정식으로, 이는 순방향 확산 과정의 역 과정 또한 동일한 함수 형태로 기술될 수 있다는 이론적 근거를 제공하며, 이는 본 논문의 모델이 작동하는 핵심 원리다.
어닐링 중요도 샘플링(Annealed Importance Sampling, AIS)은 계산하기 어려운 두 확률 분포 간의 정규화 상수(normalizing constants) 비율을 추정하는 기법이다. 머신러닝 분야에서는 AIS로, 물리학에서는 Jarzynski 등식으로 알려져 있다.
핵심 원리
AIS는 계산이 쉬운 단순한 분포 $p_0(x)$에서 시작하여 우리가 알고자 하는 복잡한 분포 $p_N(x)$로 점진적으로 변해가는 중간 단계의 분포들을 설정한다. 그 후, Markov chain를 이용해 이 분포들 사이를 서서히 이동하며, 각 단계에서 중요도 가중치(importance weight)를 계산한다. 이 가중치들을 모두 곱하면, 최종적으로 시작 분포와 목표 분포 사이의 정규화 상수 비율을 근사할 수 있다.
이 과정은 순방향(단순한 분포 → 복잡한 분포)뿐만 아니라 역방향(복잡한 분포 → 단순한 분포)으로도 수행될 수 있습니다. 본 논문은 바로 이 AIS의 아이디어에서 영감을 얻어 모델의 프레임워크를 개발했다.
간단한 비유
AIS를 '험준한 산맥의 평균 높이를 알아내는 방법'에 비유할 수 있습니다.
* 복잡한 분포 (산맥): 모든 지점의 높이를 재서 평균을 내기(정규화 상수 계산)가 거의 불가능한 험준한 산맥.
* 단순한 분포 (평평한 들판): 평균 높이를 바로 알 수 있는(정규화 상수를 아는) 평지.
* AIS 과정 (Markov chain): 들판에서 산맥의 특정 지점까지 아주 완만한 경사의 긴 다리를 놓는 과정.
* 중요도 가중치 계산: 다리를 한 걸음씩 건너갈 때마다 발생하는 미세한 높이 변화를 계속 기록.
결론적으로, 산맥 전체의 복잡한 지형을 모두 측량할 필요 없이, 다리를 건너며 기록한 높이 변화의 총합을 통해 '들판'과 '산맥의 한 지점' 사이의 상대적인 높이 차이(정규화 상수 비율)를 효과적으로 추정할 수 있다.
2. Algorithm

본 논문의 목표는 두 가지 핵심 과정으로 구성된 생성 모델을 정의하는 것이다. 첫 번째는 복잡한 데이터를 단순하고 다루기 쉬운 분포로 변환하는 '순방향(추론) 확산 과정'이다. 두 번째는 이 순방향 과정을 시간적으로 거꾸로 되돌리는 '역방향(생성) 확산 과정'을 학습하여 생성 모델 자체를 정의하는 것이다. 본 논문에서는 순방향 과정을 먼저 설명한 뒤, 역방향 과정을 훈련하고 이를 통해 확률을 평가하는 방법을 제시한다. 더 나아가, 역방향 과정의 엔트로피 경계를 유도하고, 학습된 모델을 다른 분포와 결합하여 이미지 복원(인페인팅)이나 노이즈 제거(디노이징) 같은 작업에 활용하는 방법도 설명한다. 이처럼 외부 조건(`r`)을 생성 과정에 유연하게 통합할 수 있는 능력은, 당시 다른 많은 생성 모델들이 갖지 못한 확산 모델의 핵심적인 장점 중 하나이다.
※이 확산 모델의 설계는 순방향과 역방향 과정 모두를 처음부터 가우시안(정규) 분포로 정의하는 것을 핵심으로 한다. 먼저, 본 논문에서 직접 설계하는 순방향 확산 과정은 매 단계마다 이미지에 가우시안 노이즈를 추가하는 방식으로 정의되므로, 각 단계의 변환 규칙($q$)은 자연스럽게 가우시안 분포가 된다. 이러한 설계에 기반하여, 모델이 학습해야 하는 역방향 생성 과정($p$) 역시 가우시안 분포라고 가정할 수 있다. 이는 '가우시안 확산의 역 과정 또한 가우시안이다'라는 수학적 정리(Feller, 1949) 덕분에 가능한 강력한 가정이다. 결론적으로, 이 모델은 분포의 종류를 학습할 필요 없이, 매 단계마다 변화하는 가우시안의 세부 파라미터(평균 $f_\mu$와 공분산 $f_\Sigma$)만을 예측하는, 더 다루기 쉬운 문제로 귀결된다.
2.1 Forward Trajectory
순방향 궤적은 원본 데이터 분포를 $q(x^{(0)})$ 으로 명명하는 것에서 시작한다. 이 데이터 분포는 마르코프 확산 커널 $T_{\pi}$를 반복적으로 적용하여 점진적으로 다루기 쉬운(analytically tractable) 분포 $\pi(y)$로 변환된다. 이 목표 분포 $\pi(y)$는 확산 커널의 정지 분포(stationary distribution)이다. 쉽게 설명하면, $\pi(y)$라는 분포에 확산 커널(noise를 추가하는 규칙) $T_{\pi}$를 적용해도 분포가 더 이상 변하지 않는 상태, 즉 평형 상태(equilibrium) 또는 정상 분포(stationary distribution)임을 의미한다. 확산 과정은 처음부터 특정 목표(예: 완전한 가우시안 노이즈)를 설정하고, 그 목표에 도달하면 더 이상 변하지 않도록 설계된다
$$\pi(y) = \int dy' T_{\pi}(y|y'; \beta)\pi(y')\tag{1}$$
이러한 변환 과정의 각 단계는 아래 식(2)와 같이 정의된다.
$$q(x^{(t)}|x^{(t-1)}) = T_{\pi}(x^{(t)}|x^{(t-1)};\beta_t)\tag{2}$$
따라서, 원본 데이터에서 시작하여 총 T 단계의 확산을 수행하는 전체 순방향 궤적 $q(x^{(0, \cdots,T)})$는 초기 분포와 모든 단계별 변환 확률의 곱으로 식 (3)과 같이 표현된다.
$$q(x^{(0, \cdots,T)}) = q(x^{(0)})\prod_{t=1}^{T} q(x^{(t)}|x^{(t-1)})\tag{3}$$
본 논문의 실험에서는 주로 가우시안 또는 이항 확산 커널이 사용되었다.
2.2 Reverse Trajectory
생성 모델은 순방향 궤적을 역으로 거슬로 올라가도록 훈련된다. 이 과정은 순방향 과정의 최종 결과물인 단순한 노이즈 분포$\pi(x^{(T)})$에서 시작한다. 전체 역방향 궤적은 각 타입스탭 't'에서 't-1'로 되돌아가는 변환 확률들을 순차적으로 곱하여 정의된다. 이 학습이 가능한 핵심적인 이유는 확산의 역 과정이 순방향 과정과 동일한 수학적 형태(functional form)를 가지기 때문이다. 예를 들어, 순방향 과정이 가우시안 분포를 사용했다면 역방향 과정도 가우시안 분포가 된다. 따라서 모델은 분포의 형태 자체를 배울 필요 없이, 각 단계에서 해당 분포의 파라미터(예: 평균과 공분산)만 추정하면 된다. 본 논문에서는 이 파라미터를 예측하는 함수($f_\mu$, $f_\Sigma$ 등) 를 다층 퍼셉트론(신경망)을 이용해 구현했으며, 전체 계산 비용은 이 신경망의 연산 비용과 총 타임스텝 수의 곱으로 결정된다.$$p(x^{(T)}) = \pi(x^{(T)})\tag{4}$$$$p(x^{(0...T)}) = p(x^{(T)}) \prod_{t=1}^{T} p(x^{(t-1)}|x^{(t)})\tag{5}$$
2.3 Model Probability
생성 모델이 특정 데이터 $x^{(0)}$에 부여하는 확률, 즉 우도(likelyhood) $p(x^{(0)})$는 이론적으로 가능한 모든 생성 경로를 저분해야 하므로, 직접 계산하기 매우 어렵다. $$p(x^{(0)}) = \int dx^{(1, \cdots, T)} p(x^{(0, \cdots, T)})\tag{6}$$본 논문은 이 문제를 해결하기 위해 어닐링 중요도 샘플링(AIS)에서 아이디어를 차용했다. 핵심은 계산이 불가능한 역방향 경로($p$) 대신, 이미 알고 있고 다루기 쉬운 순방향 경로( $q$)를 이용하는 것이다. 먼저 식 (7)과 같이 원래의 적분 식에 $\frac{q}{q}$(값은 1)를 곱한 뒤, 식 (8)처럼 항을 재배열한다. $$p(x^{(0)}) = \int dx^{(1, \cdots, T)} p(x^(0, \cdots, T)}) \frac{q(x^{(1, \cdots, T)} | x^{(0)})}{q(x^{(1...T)}|x^{(0)})}\tag{7}$$
$$= \int dx^{(1...T)} q(x^{(1...T)}|x^{(0)}) \frac{p(x^{(0...T)})}{q(x^{(1...T)}|x^{(0)})}\tag{8}$$
최종적으로 식 (9)와 같이, 어려운 적분 문제를 '순방향 경로($q$)에서 샘플을 뽑아 경로별 확률 비율의 평균을 구하는 문제로 변환한다.
$$= \int dx^{(1...T)} q(x^{(1...T)}|x^{(0)}) \cdot \frac{p(x^{(T)}) \prod_{t=1}^{T} p(x^{(t-1)}|x^{(t)})}{q(x^{(t)}|x^{(t-1)})}\tag{9}$$
이 방식은 순방향 경로가 샘플링 하기 쉽기 때문에 확률 값을 빠르게 계산할 수 있다. 특히, 확산 단계가 무한히 작아 순방향과 역방향 경로가 거의 동일해지는 이상적인 경우에는 단 하나의 샘플 경로만으로도 정확한 확률 값을 얻을 수 있다.
2.4 Training
모델 훈련의 목표는 식 (10) 과 같이 정의된 데이터의 로그 우도(log likelihood) 'L'을 최대화하는 것이다.
$$L = \int dx^{(0)} q(x^{(0)}) \log p(x^{(0)})\tag{10}$$
앞서 유도된 $p(x^{(0)})$에 대한 복잡한 표현을 대입하면 식 (11)이 되는데, 이는 직접 최적화하기 어렵다.
$$= \int dx^{(0)} q(x^{(0)}) \cdot \log \left[ \int dx^{(1...T)} q(x^{(1...T)}|x^{(0)}) \cdot \frac{p(x^{(T)}) \prod_{t=1}^{T} p(x^{(t-1)}|x^{(t)})}{q(x^{(t)}|x^{(t-1)})} \right]\tag{11}$$
따라서 변분 베이즈 방법과 유사하게 젠슨 부등식을 적용하여 식 (12)와 같이 다루기 쉬운 하한(lower bound)을 설정(※)한다.
원래 최대화하고 싶은 목표는 모델의 로그 우도(log likely) "L"이다. 하지만 이 "L"을 수식으로 풀어보면 식 (11)처럼 'log' 함수 안에 복잡한 적분(평균)이 들어있는 형태꼴이 된다. 이 형태는 수학적으로 매우 까다로워 직접 최적화하기가 거의 불가능하다. 이를 해결하기 위해 젠슨 부등식을 사용한다. 젠슨 부등식은 'log'와 같은 오목 함수(concave function)에 대해 다음과 같은 관계가 성립한다.
log(E[X]) ≥ E[log(X)]` (값의 평균에 로그를 씌운 것은, 각 값에 로그를 씌워 평균 낸 것보다 항상 크거나 같다)
이 부등식을 이용하면, 다루기 어렵던 `log[∫... dx]` 형태를 다루기 쉬운 `∫log[...] dx` 형태로 바꿀 수 있다. 이 과정에서 등호(=)가 부등호(≥)로 바뀌면서, 원래의 값 `L` 대신 그보다 항상 작거나 같은 '하한(Lower Bound)' 값을 얻게 된다. 이 논문에서는 이 하한을 `K`라고 부른다.
최종 목표는 여전히 실제 우도 `L`을 최대화하는 것이다. 하지만 `L`은 직접 오를 수 없는 안개 속 정상과 같다. 그래서 우리는 계산 가능하고 다루기 쉬운 대리 목표(proxy objective)인 `K`를 대신 최대화하는 전략을 사용한다.`L`과 `K`는 `L ≥ K`라는 관계로 묶여있기 때문에, `K`의 값을 최대한 높이면 그 위에 있는 `L`의 값도 함께 높아지는 효과를 기대할 수 있다.
비유하면 다음과 같다.산 정상(실제 우도 L)의 높이를 직접 재기 어렵다고 상상해보자. 정상은 안개에 가려 보이지 않는다(intractable). 대신, 우리는 정상 바로 아래에 있고 높이를 쉽게 잴 수 있는 언덕(하한 K)을 찾는다. 젠슨 부등식은 이 '언덕'을 찾는 수학적 도구다. 우리는 산 정상이 최소한 이 언덕보다는 높다는 것을 안다(`L ≥ K`). 즉, 언덕의 높이를 올리는 것이 산 정상을 공략하는 효과적인 전략이 되는 것이다.
$$L \ge \int dx^{(0...T)} q(x^{(0...T)}) \cdot \log \left[ \frac{p(x^{(T)}) \prod_{t=1}^{T} p(x^{(t-1)}|x^{(t)})}{q(x^{(t)}|x^{(t-1)})} \right]\tag{12}$$
이 하한은 최종적으로 식 (13) 및 (14)와 같이 KL 발산과 엔트로피 항으로 구성된 최적화 가능한 목적 함수 'K'로 정리된다.
$$L \ge K\tag{13}$$
$$
\begin{aligned}
K = & -\sum_{t=2}^{T} \int dx^{(0)}dx^{(t)}q(x^{(0)}, x^{(t)}) \cdot D_{KL}\left(q(x^{(t-1)}|x^{(t)}, x^{(0)}) || p(x^{(t-1)}|x^{(t)})\right) \\
& + H_q(X^{(T)}|X^{(0)}) \\
& - H_q(X^{(1)}|X^{(0)}) - H_p(X^{(T)})
\end{aligned}
\tag{14}$$
결론적으로, 실제 훈련 과정은 식 (15)와 같이 이 하한 'K'를 최대화하는 역방향 과정($p(x^{(t-1)} | x^{(t)})$)을 찾는 것이다.
$$\hat{p}(x^{(t-1)}|x^{(t)}) = \text{argmax}_{p(x^{(t-1)}|x^{(t)})} K\tag{15}$$
이러한 접근을 통해, 복잡한 확률 분포 추정 문제는 결국 역방향 과정의 각 단계에 필요한 파라미터(예: 평균, 공분산)을 예측하는 함수를 학습하는 회귀(regression) 문제로 귀결된다.
2.4.1 SETTING THE DIFFUSION RATE $\beta_{t}$
순방향 과정에서 노이즈를 추가하는 강도, 즉 확산율($\beta_t$)을 어떻게 설정하는지는 모델의 최종 성능에 매우 중요하다. 이는 AIS나 열역학에서 최적의 스케줄이 중요한 것과 같은 이치다. 본 논문은 데이터의 종류에 따라 두 가지 다른 접근법을 사용한다. 가우시안 확산의 경우, 첫 단계의 확산율($\beta_1$)은 과적합을 막기 위해 작은 값으로 고정하고, 나머지 스케줄($\beta_{2...T}$)은 목적 함수 `K`를 최대화하는 방향으로 직접 학습한다. 이항 확산의 경우, 이산적인 데이터 특성상 학습이 어려워 미리 정해진 고정된 스케줄을 사용한다. 이 스케줄은 매 단계마다 신호를 일정 비율로 점진적으로 제거하도록 설계되어 있다.
이러한 확산율 $\beta_t$를 설정하는 방법에 대해 자세히 설명해본다. $\beta_t$는 순방향 과정의 각 단계에서 얼마나 많은 노이즈를 추가할지 결정하는 속도 조절기와 같다. 이 스케줄을 어떻게 짜느냐에 따라 모델의 최종 성능이 크게 달라지기 때문에 매우 중요하다. 이는 AIS에서 정확도를 높이기 위해, 또는 열역학에서 에너지 손실을 줄이기 위해 최적의 스케줄을 찾는 것과 같은 이치다. 본 논문은 데이터의 종류에 따라 두 가지 다른 전략을 사용한다.
가우시안 확산 (연속 데이터)의 경우: 학습되는 스케줄
- 연속적인 데이터(예: 이미지 픽셀 값)를 다루는 가우시안 확산에서는 최적의 노이즈 스케줄을 데이터로부터 직접 학습한다.
- 학습 방법: 모델은 경사 상승법(gradient ascent)을 사용해, 최종 목표인 `K` 값(로그 우도의 하한)을 가장 크게 만드는 방향으로 $\beta_2$부터 $\beta_T$까지의 값을 스스로 찾아낸다. 즉, 모델이 데이터에 가장 효율적인 노이즈 추가 방식을 학습하는 것이다.
- 첫 단계($\beta_1$) 고정: 첫 번째 노이즈 추가 단계는 매우 민감하다. 학습 초기 단계에 너무 많은 정보를 잃는 과적합을 방지하기 위해, 첫 단계의 확산율 $\beta_1$은 학습하지 않고 작은 상수로 고정해 안정성을 확보한다.
- '고정된 노이즈(Frozen Noise)' 기법: $\beta_t$를 학습시키려면 $\beta_t$의 변화가 최종 결과 `K`에 미치는 영향을 계산(미분)해야 한다. '고정된 노이즈'는 이 계산을 안정적으로 하기 위한 기술로, 동일한 랜덤 노이즈를 사용하면서 $\beta_t$ 값만 바꾸어 그 순수한 영향력을 측정하는 방식이다.
- 예를 들면, 원본 이미지 ($x_0$) 를 아주 살짝 축소하고, 약한 가우시안 노이즈를 추가한다. 그 결과($x_1$), 이미지는 육안으로는 거의 구별하기 힘든 미세한 노이즈가 추가된 상태가 된다. 이 방법을 반복하면서 노이즈 강도를 조금 더 높인다. 이제 이미지($x_2$)에 약간의 자글거림이 보이기 시작할 것이다. 2단계 이미지($x_2$)에 노이즈를 한 번 더 추가한다. 이미지($x_3$)는 이제 꽤 흐릿해지고 노이즈가 명확하게 보이며, 고양이의 윤곽이 조금씩 무너지기 시작한다. 이 과정이 수백, 수천 번 반복되면 최종적으로는 고양이 형태를 전혀 알아볼 수 없는 노이즈만 남게 된다.
이항 확산 (이산 데이터)의 경우: 고정된 스케줄
- 이진 시퀀스와 같이 데이터가 0 또는 1로 구성된 이산적인 경우에는 스케줄을 학습하는 것이 불가능하다.
- 학습이 불가능한 이유: 데이터가 연속적이지 않고 뚝뚝 끊어져 있기 때문에(discrete state space), 경사 상승법처럼 미세한 변화를 통해 최적점을 찾아가는 방법이 작동하지 않는다.
- 고정된 규칙 사용: 따라서 학습하는 대신, 미리 정해진 합리적인 규칙을 따른다. 본 논문에서는 "매 단계마다 남아있는 원본 신호의 일정 비율($\frac{1}{T}$)을 제거한다"는 간단한 전략을 사용한다.
- 결과 공식: 이 전략을 따를 때, 각 단계의 확산율은 $\beta_t = (T-t+1)^{-1}$ 이라는 공식으로 결정된다.
- 예를 들면, 100% 확률로 켜짐(1) 상태인 전구 하나에서 시작한다. 목표는 이 전구가 켜져 있는지 꺼져 있는지 알 수 없는 50:50의 불확실한 상태로 만드는 것이다. 여기서는 총 10단계($T=10$)의 확산을 가정한다.
- 1단계 ($\beta_1 = 1/10$): 현재 상태(100% '켜짐')를 90% 신뢰하고, 10%만큼 50:50 무작위성을 섞는다. 그 결과, 전구가 '켜짐' 상태일 확률은 95%로 약간 감소한다. 계산: `(1.0 × 0.9) + (0.5 × 0.1) = 0.95`
- 2단계 ($\beta_2 = 1/9$): 이제 95% '켜짐' 상태를 약 88.9%($1-1/9$) 신뢰하고, 나머지 약 11.1%($1/9$)만큼 무작위성을 섞느다. 그 결과, '켜짐' 상태일 확률은 90%로 감소한다. 계산: `(0.95 × 8/9) + (0.5 × 1/9) = 0.90`
- 3단계 ($\beta_3 = 1/8$): 90% '켜짐' 상태를 87.5%($1-1/8$) 신뢰하고, 12.5%($1/8$)만큼 무작위성을 섞느다. 켜짐' 상태일 확률은 85%로 더 감소하며, 전구의 상태는 점점 더 예측하기 어려워진다. 계산: `(0.90 × 0.875) + (0.5 × 0.125) = 0.85`
2.5 Multiplying Distributions, and Computing Posteriors
이미지 노이즈 제거(denoising)나 손상된 부분 복원(inpainting)과 같은 응용 작업을 수행하려면, 학습된 모델의 확률 분포 ($p(x^{(0)})$)를 조건에 해당하는 다른 분포($r(x^{(0)})$)와 곱하여 사후 확률을 계산해야 한다.(※) 이러한 분포 간의 곱셉은 변분 오토인코더(VAE)나 대부분의 다른 생성 모델에서는 계산이 매우 복잡하고 어려운 문제다. 하지만 확산 모델은 이 작업을 간단하게 수행할 수 있는 큰 장점을 가진다. 이는 조건에 해당하는 분포를 노이즈를 제거하는데 매 단계에 작은 변화(섭동)을 주는 방식으로 손쉽게 통합할 수 있기 때문이다.
이미지 노이즈 제거 및 복원 과정에서 두 확률 분포를 곱하는 것은, 관찰된 결과(손상된 이미지, B)를 통해 가장 가능성 높은 원인(깨끗한 이미지, A)을 추론하는 베이즈 정리(Bayes' Theorem)의 원리를 수학적으로 적용하는 것이다. 베이즈 정리의 원본 공식은 다음과 같다.
$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$
이를 이미지 복원 문제에 적용하면, 최종적으로 얻고자 하는 사후 확률(Posterior) 분포 $\tilde{p}(x^{(0)})$는 다음과 같은 비례식으로 표현할 수 있다.
$$\tilde{p}(x^{(0)}) \propto p(x^{(0)}) r(x^{(0)})$$
여기서 사전 확률(Prior, $P(A)$)에 해당하는 $p(x^{(0)})$는 학습된 생성 모델이 '자연스러운 이미지가 무엇인가'에 대해 가진 일반적인 지식을 나타낸다. 그리고 가능도(Likelihood, $P(B|A)$)에 해당하는 $r(x^{(0)})$는 '조건 검사기'처럼, 생성된 이미지가 우리가 가진 외부 증거(예: 노이즈 패턴, 알려진 픽셀)와 얼마나 일치하는지를 평가하는 역할을 한다. 따라서 이 둘을 곱하는 것은, '이미지로서의 자연스러움'($p(x^{(0)})$)과 '주어진 조건과의 일치도'($r(x^{(0)})$)라는 두 정보를 모두 반영하여 사후 확률(Posterior, $P(A|B)$)을 구하는 과정이다. 이 새로운 분포 $\tilde{p}(x^{(0)})$에서 이미지를 샘플링하면, 두 조건을 모두 만족하는 최적의 복원 결과를 얻을 수 있다.예를 들면, 찢어진 옛날 사진을 복원하는 상황과 같다. 복원가는 '이 시대 사진은 이런 느낌이어야 한다'는 전문 지식($p$)과, '찢어지지 않은 부분은 반드시 원래 사진과 똑같아야 한다'는 명확한 조건($r$)을 모두 만족시키는 최상의 복원 결과물을 만들어내는데, 이 결과물들의 분포가 바로 새로운 분포($\tilde{p}$)다.


2.5.1 MODIFIED MARGINAL DISTRIBUTIONS
$\tilde{p}(x^{(0)})$을 계산하기 위해, 기존 역방향 과정의 모든 중간 분포 $p(x^{(t)})$ 에 각각 해당하는 함수 $r(x^{(t)})$를 곱하여 생성 과정을 수정한다. 이렇게 수정된 분포나 경로는 물결표(~)를 사용하여 $\tilde{p}$와 같이 표기한다. 이 수정된 역방향 궤적 $\tilde{p}(x^{(0,\cdots, T)})$는 수정된 시작 분포 $\tilde{p}(x^{(T)}) = \frac{1}{\tilde{Z}_T} p(x^{(T)}) r(x^{(T)})$에서 출발하며, 아래 식 (16)으로 정의된 수정된 중간 분포들을 순차적으로 거치게 된다. 여기서 $\tilde{Z}_t$는 t번째 중간 분포의 정규화 상수다. $\tilde{Z}$로 나누는 이유는 곱셈으로 인해 더 이상 확률 분포가 아니게 된 결과를, 전체 합으로 나누어 총합이 1이 되는 수학적으로 올바른 확률 분포로 만들어주기 위함이다
$$\tilde{p}(x^{(t)}) = \frac{1}{\tilde{Z}_t} p(x^{(t)}) r(x^{(t)}) \quad (16)$$
이 과정을 통해, 전체 생성 궤적이 $r(x)$에 명시된 조건을 따르도록 유도할 수 있다. 이는 GPS로 경로를 탐색하는 상황에 비유할 수 있다. 우리의 최종 목적지는 '깨끗한 원본 이미지'이며, 출발지는 '완전한 노이즈'다. 기본적인 생성 과정($p$)은 출발지에서 목적지까지 가장 그럴듯한 경로를 안내하는 일반적인 GPS와 같다. 하지만 여기에 '반드시 특정 경유지를 거쳐야 한다'는 외부 조건($r$)이 추가된다. 예를 들어, 이미지 복원 시 손상되지 않은 픽셀 영역이 바로 이 '반드시 거쳐야 할 경유지'에 해당한다( "경유한다"고 표현하는 이유는 이미지 복원 과정이 손상되지 않은 픽셀 영역이라는 '절대적인 조건'을 반드시 만족하며 진행되어야 하기 때문이다). 생성 과정의 중간 단계, 즉 여정의 중간 지점에 있을 때마다, 모델은 단순히 최종 목적지만을 보는 것이 아니라 '현재 경로가 저 경유지를 향하고 있는가?'를 함께 확인한다. 중간 분포에 $r$을 곱하는 행위가 바로 이 경로를 확인하고 조정하는 과정이며, 그 결과 최종 경로는 단순히 가장 그럴듯한 길이 아니라 주어진 조건을 반드시 만족시키는 최적의 경로로 수정된다.
2.5.2 MODIFIED DIFFUSION STEPS
외부 조건을 반영한 생성 과정을 만들기 위해, 기존 역방향 확산 단계를 수정해야 한다. 기존의 역방향 마르코프 커널 $p(x^{(t)}|x^{(t+1)})$은 아래의 평형 조건 (17)을 따른다.
$$p(x^{(t)}) = \int dx^{(t+1)} p(x^{(t)}|x^{(t+1)}) p(x^{(t+1)}) \tag{17}$$
목표는 조건 함수 $r(x)$이 반영된 새로운 분포 $\tilde{p}(x^{(t)})$와 평형을 이루는 새로운 마르코프 커널 $\tilde{p}(x^{(t)}|x^{(t+1)})$을 찾는 것이며, 이는 다음의 평형 조건 (18)을 만족해야 한다.
$$\tilde{p}(x^{(t)}) = \int dx^{(t+1)} \tilde{p}(x^{(t)}|x^{(t+1)}) \tilde{p}(x^{(t+1)}) \tag{18}$$
이 조건을 만족시키기 위해 $\tilde{p}(x^{(t)})$의 정의를 대입하고 식을 정리하면 (19), (20)을 거쳐, 새로운 커널이 식 (21)의 형태를 가지면 된다는 것을 알 수 있다.
$$\frac{p(x^{(t)})r(x^{(t)})}{\tilde{Z}_t} = \int dx^{(t+1)} \tilde{p}(x^{(t)}|x^{(t+1)}) \cdot \frac{p(x^{(t+1)})r(x^{(t+1)})}{\tilde{Z}_{t+1}}\tag{19}$$$$p(x^{(t)}) = \int dx^{(t+1)} \tilde{p}(x^{(t)}|x^{(t+1)}) \cdot \frac{\tilde{Z}_t r(x^{(t+1)})}{\tilde{Z}_{t+1} r(x^{(t)})} p(x^{(t+1)})\tag{20}$$
$$\tilde{p}(x^{(t)}|x^{(t+1)}) = p(x^{(t)}|x^{(t+1)}) \frac{\tilde{Z}_{t+1}r(x^{(t)})}{\tilde{Z}_t r(x^{(t+1)})} \tag{21}$$
하지만 식 (21)은 그 자체로 정규화된 확률 분포가 아닐 수 있는 문제가 있다. 따라서 이 문제를 해결하기 위해, 논문은 식 (22)와 같이 새로운 커널 $\tilde{p}$를 명시적으로 정의하는 실용적인 방법을 선택한다. 즉, 기존 커널 $p(x^{(t)}|x^{(t+1)})$에 조건 함수 $r(x^{(t)})$를 곱한 뒤, 그 결과의 합이 1이 되도록 정규화 상수 $\tilde{Z}_t(x^{(t+1)})$로 나누어 주는 것이다.
$$\tilde{p}(x^{(t)}|x^{(t+1)}) = \frac{1}{\tilde{Z}_t(x^{(t+1)})} p(x^{(t)}|x^{(t+1)}) r(x^{(t)}) \tag{22}$$
다만 가우시안 확산의 경우, 조건 함수 $r(x^{(t)})$에 의한 변화가 분포의 평균에만 약간의 영향을 주는 작은 섭동으로 취급될 수 있어 정규화 상수가 거의 변하지 않으므로, 이 경우 식 (21)과 (22)는 실질적으로 동일하다고 볼 수 있다.(※)
<쉬운 설명>
1. 수식의 변환 (The "How")
22번 식은 21번 식의 복잡한 항들을 더 간단하고 실용적인 형태로 바꾼 것이다.
* 정규화 상수 비율 ($\frac{\tilde{Z}_{t+1}}{\tilde{Z}_t}$) → 단일 정규화 상수 ($\frac{1}{\tilde{Z}_t(x^{(t+1)})}$)
* `r`의 비율 보정 ($\frac{r(x^{(t)})}{r(x^{(t+1)})}$) → `r`의 직접 곱셈 ($r(x^{(t)})$)
2. 변환의 이유 (The "Why")
* 가우시안의 정규화 상수는 오직 공분산($\Sigma$)에만 의존한다.
* 조건 함수 $r(x)$을 곱하는 것은 분포의 평균($\mu$)만 이동시킬 뿐, 공분산($\Sigma$)은 바꾸지 않는다.
* 따라서 $r(x)$은 정규화 상수에 영향을 주지 않으므로, 복잡한 이론적 형태(21번)를 간단한 실용적 형태(22번)로 근사할 수 있다.
<논문 부록에 기재된 설명>
Gaussian Diffusion: Derivation of (21), (22), and (61)
가우시안 확산에서 조건 함수 $r(x)$를 곱했을 때, 역방향 분포 $\tilde{p}(x^{(t-1)}|x^{(t)})$가 어떻게 변하는지를 단계적으로 유도한다.
1. 시작점: 조건 함수 적용
우선 기존의 역방향 확산 단계 $p(x^{(t-1)}|x^{(t)})$에 조건 함수 $r(x^{(t-1)})$를 곱한 형태로부터 출발한다. 표기를 단순화하기 위해
$$
y = x^{(t-1)}, \quad \mu = f_\mu(x^{(t)},t), \quad \Sigma = f_\Sigma(x^{(t)},t)
$$
로 정의하면, 수정된 분포는 다음과 같다.
$$
\tilde{p}(y|x^{(t)}) \propto p(y|x^{(t)}) r(y) \tag{21}
$$
$$
= \mathcal{N}(y; \mu, \Sigma) r(y). \tag{22}
$$
2. 에너지 함수로 표현
가우시안 분포는 에너지 함수 형태로 다음과 같이 쓸 수 있다.
$$
\tilde{p}(y|x^{(t)}) \propto \exp[-E(y)],
$$
$$
E(y) = \tfrac{1}{2}(y-\mu)^T \Sigma^{-1}(y-\mu) + E_r(y),
$$
여기서
$$
E_r(y) = -\log r(y)
$$
이다.
3. 조건 함수의 선형 근사
조건 함수로부터 비롯된 추가 에너지 $E_r(y)$는 가우시안 항에 비해 상대적으로 완만(smooth)하다고 가정한다. 따라서 평균 $\mu$ 근처에서 1차 테일러 전개로 근사할 수 있다.
$$
E_r(y) \approx E_r(\mu) + (y-\mu)^T g, \quad
g = \nabla_y E_r(y)\big|_{y=\mu}.
$$
4. 총 에너지 정리
이를 에너지 함수에 대입하면 다음과 같이 정리된다.
$$
E(y) \approx \tfrac{1}{2}(y-\mu)^T \Sigma^{-1}(y-\mu) + (y-\mu)^T g + \text{const},
$$
이를 완전제곱식으로 다시 쓰면,
$$
E(y) = \tfrac{1}{2}(y - \mu + \Sigma g)^T \Sigma^{-1}(y - \mu + \Sigma g) + \text{const}.
$$
5. 새로운 분포
위 식은 여전히 가우시안 분포의 꼴을 유지한다. 따라서 수정된 분포는
$$
\tilde{p}(y|x^{(t)}) \approx \mathcal{N}(y; \mu - \Sigma g, \Sigma).
$$
즉, 공분산 $\Sigma$는 그대로 유지되며 평균만 $\mu \to \mu - \Sigma g$로 이동하게 된다.
가우시안의 정규화 상수는 오직 공분산 $\Sigma$에만 의존하므로, 이 경우 정규화 상수는 변하지 않는다.
따라서 (21)과 (22)는 동일한 결과를 낳는다.
6. 최종 결과 (61)
마지막으로 원래 표기법으로 복원하면, 최종 분포는
$$
\tilde{p}(x^{(t-1)}|x^{(t)}) \approx
\mathcal{N}\left(
x^{(t-1)}; \,
f_\mu(x^{(t)},t) +
f_\Sigma(x^{(t)},t)
\frac{\partial \log r(x^{(t-1)})}{\partial x^{(t-1)}} \bigg|_{x^{(t-1)}=f_\mu(x^{(t)},t)}, \,
f_\Sigma(x^{(t)},t)
\right). \tag{61}
$$
즉, 조건 함수 $r(x)$를 곱했을 때의 효과는 공분산 불변, 평균 이동으로 요약되며, 이로 인해 정규화 상수는 그대로 유지되고 (21)과 (22)는 동일한 의미를 갖는다.
가우시안 분포를 종(bell) 모양 그래프에 비유하여 설명할 수 있다. 예를 들어, 동일한 모양과 폭(공분산 $\Sigma$)을 가졌지만 중심 위치만 다른 두 개의 종이 있다고 가정해 보자. $p(x^{(t)}|x^{(t+1)})$는 중심이 3에 있는 종(평균 $\mu=3$)이고, $\tilde{p}(x^{(t)}|x^{(t+1)})$는 중심이 5에 있는 종(평균 $\mu'=5$)이다. 두 분포는 중심이 다르므로 명백히 서로 다른 분포($p \neq \tilde{p}$)다.하지만 이들을 확률 분포로 만들기 위해 필요한 '정규화 상수'(normalization constant)는 오직 폭($\Sigma$)에 의해서만 결정됩니다. 두 종은 폭이 완전히 같기 때문에, 이들을 각각 확률 분포(전체 면적=1)로 만들어주는 데 필요한 정규화 상수 값도 동일합니다.식 (21)과 (22)의 동등성은 바로 이 지점에서 비롯됩니다. 조건 함수 $r(x)$을 곱하는 과정은 분포의 폭($\Sigma$)은 바꾸지 않고 중심($\mu$)만 이동시키는 효과를 낸다. 결과적으로 정규화 상수가 변하지 않기 때문에, 복잡한 비율 항을 가진 이론적인 식 (21)이 '평균을 이동시키는 항'으로 단순화되어, 실용적으로 정규화하는 식 (22)와 동일한 결과를 내는 것이다.
2.5.3 APPLYING $r(\mathbb{x^{(t)}})$
조건 함수 $r(x^{(t)})$를 실제 역방향 확산 단계에 적용하는 방법은 크게 두 가지로 나뉜다. 첫째, $r(x^{(t)})$가 충분히 부드러운(smooth) 함수일 경우, 이는 기존 확산 과정에 대한 작은 섭동(perturbation)으로 간주할 수 있다. 이 접근법은 확산 분포의 종류(예: 가우시안)는 바꾸지 않고, 파라미터(가우시안의 평균 또는 이항 분포의 플립률)만 약간 수정하는 방식으로 조건을 반영한다. 둘째, $r(x^{(t)})$가 가우시안이나 델타 함수처럼 수학적으로 깔끔하게 곱셈이 가능한 형태(closed form)일 경우, 근사가 아닌 정확한 곱셈을 통해 조건을 직접적으로 반영할 수 있다. 예를 들어, 이미지의 일부 픽셀 값을 고정하는 인페인팅(inpainting) 작업에서는 $r(x^{(t)})$을 델타 함수로 표현하여 이 방법을 사용한다.
조건부 생성(예: 인페인팅)시, 가우시안 확산 모델의 역방향 확산 단계가 수학적으로 어떻게 수정되는지를 보여주는 상세한 유도 과정
1. 문제 설정: 가우시안과 조건의 결합
목표는 조건이 반영된 역방향 확산 단계 $\tilde{p}(x^{(t-1)}|x^{(t)})$를 계산하는 것이다. 이 분포는 기존의 가우시안 역방향 단계 $p(y|x^{(t)})$에 조건 함수 $r(y)$를 곱한 것에 비례한다. (표기의 단순화를 위해 $y=x^{(t-1)}$, $\mu=f_\mu(x^{(t)},t)$, $\Sigma=f_\Sigma(x^{(t)},t)$ 사용)
$$\tilde{p}(y|x^{(t)}) \propto p(y|x^{(t)})r(y)\tag{52}$$
$$= \mathcal{N}(y; \mu, \Sigma)r(y)\tag{53}$$
2. 핵심 아이디어: 에너지를 이용한 근사
이 문제를 쉽게 풀기 위해, 확률 분포를 직접 다루는 대신 음의 로그를 취한 '에너지 함수'를 사용한다. 수정된 분포의 총에너지 $E(y)$는 기존 가우시안의 에너지와 조건 함수의 에너지 $E_r(y)$의 합으로 나타난다.
$$\tilde{p}(y|x^{(t)}) \propto \exp[-E(y)]\tag{54}$$
$$E(y) = \frac{1}{2}(y-\mu)^T\Sigma^{-1}(y-\mu) + E_r(y)\tag{55}$$
여기서 핵심 가정은, 조건 에너지 $E_r(y)$가 뾰족한 가우시안 에너지에 비해 매우 '부드럽게(smooth)' 변한다는 것이다. 이 가정 덕분에, 복잡할 수 있는 $E_r(y)$를 가우시안의 평균 $\mu$ 근처에서 매우 단순한 1차 선형 함수로 근사(테일러 전개)할 수 있다.
$$E_r(y) \approx E_r(\mu) + (y-\mu)g\tag{56}$$
(여기서 $g$는 $E_r(y)$의 그래디언트.)
3. 결과: 평균만 이동하는 가우시안
이 선형 근사식을 총에너지 식 (55)에 대입하고 완전제곱식으로 정리하면(57-59), 새로운 총에너지 역시 가우시안 분포에 해당하는 이차 에너지 함수 형태를 유지함을 알 수 있다.
$$E(y) \approx \frac{1}{2}(y-\mu)^T\Sigma^{-1}(y-\mu) + (y-\mu)^T g + \text{constant}\tag{57}$$
$$= \frac{1}{2}y^T\Sigma^{-1}y - \frac{1}{2}y^T\Sigma^{-1}\mu - \frac{1}{2}\mu^T\Sigma^{-1}y + \frac{1}{2}y^T\Sigma^{-1}\Sigma g + \frac{1}{2}g^T\Sigma\Sigma^{-1}y + \text{constant} \tag{58}$$
$$= \frac{1}{2}(y - \mu + \Sigma g)^T \Sigma^{-1} (y - \mu + \Sigma g) + \text{constant}\tag{59}$$
이 새로운 에너지 함수는 다음의 가우시안 분포에 해당하며, 조건 함수 $r(y)$를 곱했음에도 불구하고 최종 분포 $\tilde{p}$는 원래 분포와 공분산($\Sigma$, 폭)은 동일하고 평균($\mu$, 중심)만 약간 이동했음을 보여준다.
$$\tilde{p}(y|x^{(t)}) \approx \mathcal{N}(y; \mu-\Sigma g, \Sigma)\tag{60}$$
4. 최종 공식
이 결과를 원래의 표기법으로 되돌리면 식 (61)과 같은 최종 공식을 얻는다. 이는 수정된 역방향 단계가, 원래의 평균($f_\mu$)에 조건($\log r$)의 그래디언트와 공분산($f_\Sigma$)을 곱한 값을 더하여 평균을 살짝 이동시킨 새로운 가우시안 분포가 됨을 의미한다.
$$\tilde{p}(x^{(t-1)}|x^{(t)}) \approx \mathcal{N}\left(x^{(t-1)}; f_\mu(x^{(t)},t) + f_\Sigma(x^{(t)},t)\frac{\partial \log r(x^{(t-1)})}{\partial x^{(t-1)}}\bigg|_{x^{(t-1)}=f_\mu(x^{(t)},t)}, f_\Sigma(x^{(t)},t)\right)\tag{61}$$
※ 충분히 부드럽다'는 것은 조건 함수 $r(x)$의 변화량이 확산 모델의 뾰족한 분포에 비해 무시할 수 있을 정도로 작아서, 계산을 간단하게 할 수 있는 상태를 의미한다.


이 표는 논문에 제시된 확산 모델의 모든 핵심 요소를 가우시안(연속 데이터용)과 이항(이산 데이터용) 두 경우에 대해 요약한 것이다
Well behaved ... distribution (목표 분포)
- 순방향 확산 과정의 최종 목적지인, 다루기 쉬운 단순한 분포를 정의한다.
- Gaussian: 평균이 0이고 공분산이 단위행렬인 표준 정규분포, 즉 완전한 노이즈다.
- Binomial: 각 비트가 0 또는 1이 될 확률이 정확히 0.5인 상태로, 완전한 무작위 상태다.
Forward diffusion kernel (순방향 확산 규칙)
- 노이즈를 한 단계 추가하는 규칙이다.
- Gaussian: 이전 단계의 이미지($x^{(t-1)}$)를 약간 축소하고($\sqrt{1-\beta_t}$), 가우시안 노이즈($\mathbf{I}\beta_t$)를 추가한다.
- Binomial: 이전 단계의 상태($x^{(t-1)}$)와 50:50의 무작위 상태를 일정 비율($\beta_t$)로 섞는다.
Reverse diffusion kernel (역방향 확산 규칙)
- 노이즈를 한 단계 제거하는 규칙으로, 이 부분을 모델이 학습한다.
- Gaussian: 신경망($f_\mu, f_\Sigma$)이 다음 단계의 평균과 공분산을 예측한다.
- Binomial: 신경망($f_b$)이 다음 단계의 비트 확률을 예측한다.
Training targets (학습 목표)
- 모델이 학습 과정에서 찾아내야 할 대상이다.
- Gaussian: 평균/공분산을 예측하는 신경망($f_\mu, f_\Sigma$)과 노이즈 스케줄($\beta_t$)이다.
- Binomial: 비트 확률을 예측하는 신경망($f_b$)이다.
Forward/Reverse distribution (전체 궤적)
- 시작 분포부터 모든 단계의 확산 규칙을 곱하여 전체 과정의 확률을 정의한다.
Log likelihood / Lower bound (훈련 목적 함수)
- `L`은 모델이 최대화하려는 실제 로그 우도(계산 불가능)이고, `K`는 `L`의 하한(lower bound)으로, 실제 훈련에서 최적화하는 대상이다.
Perturbed reverse diffusion kernel (조건부 역방향 규칙)
- 인페인팅이나 노이즈 제거 시 외부 조건($r$)을 반영하는 수정된 노이즈 제거 규칙이다.
- Gaussian: 기존 평균값에 조건($r$)의 그래디언트를 더하여 방향을 수정한다.
- Binomial: 조건($r$)을 반영하여 비트 플립 확률을 새로 계산한다.
2.5.4 CHOOSING $r(\mathbb{x^{(t)}})$
조건 함수 $r(x^{(t)})$를 생성 과정의 각 중간 단계에 어떻게 적용할지 결정하는 데는 몇 가지 전략이 있다. 일반적으로 $r(x^{(t)})$는 전체 궤적에 걸쳐 그 영향력이 서서히 변하도록 설정하는 것이 좋다. 본 논문의 실험에서는 가장 간단한 방식인 상수 스케줄을 사용했는데, 이는 식 (23)과 같이 매 단계마다 초기 조건 $r(x^{(0)})$을 동일한 강도로 적용하는 것이다.
$$r(x^{(t)}) = r(x^{(0)}) \tag{23}$$
또 다른 편리한 선택지로는 $r(x^{(t)}) = r(x^{(0)})^{\frac{T-t}{T}}$ 와 같이 조건의 영향력이 점진적으로 강해지도록 설정하는 방법이 있다. 이 방식의 장점은 생성이 시작되는 $t=T$ 시점에는 조건의 영향력이 0이 되어, 수정된 시작 분포 $\tilde{p}(x^{(T)})$가 원래의 단순한 노이즈 분포와 같아진다는 것이다. 덕분에 복잡한 계산 없이 간단하게 초기 노이즈 샘플을 뽑을 수 있다.
2.6. Entropy of Reverse Process
본 논문에서 직접 설계하여 모든 것을 알고 있는 순방향 과정($q$)의 정보를 이용하면, 학습해야 하는 미지의 역방향 과정의 각 단계가 가질 수 있는 엔트로피 값의 범위를 예측할 수 있다. 즉, 역방향 과정의 한 단계($H_q(X^{(t-1)}|X^{(t)})$)가 가질 수 있는 엔트로피의 최댓값(상한)과 최솟값(하한)을 다음 부등식 (24)와 같이 설정할 수 있다.
$$H_q(X^{(t)}|X^{(t-1)}) + H_q(X^{(t-1)}|X^{(0)}) - H_q(X^{(t)}|X^{(0)}) \le H_q(X^{(t-1)}|X^{(t)}) \le H_q(X^{(t)}|X^{(t-1)})\tag{24}$$
이 범위는 순방향 과정의 항들로만 구성되어 있어 수학적으로 깔끔하게 계산이 가능하다는 장점이 있으며, 이는 모델의 전체 로그 우도에 대한 경계를 설정하는 데도 사용된다.
부록은 역방향 확산 과정의 한 단계에 대한 불확실성($H_q(X^{(t-1)}|X^{(t)})$)의 최댓값(상한)과 최솟값(하한)을 수학적으로 유도하는 과정을 보여준다.
1. 핵심 항등식 (The Core Identity)
모든 증명은 엔트로피의 기본 속성으로부터 유도된 핵심 항등식에서 시작한다. 결합 엔트로피는 순서에 무관하며
($H_q(X^{(t-1)}, X^{(t)}) = H_q(X^{(t)}, X^{(t-1)})$, 조건부 엔트로피는 결합 엔트로피와 주변 엔트로피로 표현될 수 있다.
$$H_q(X^{(t-1)}, X^{(t)}) = H_q(X^{(t)}, X^{(t-1)}) \tag{25}$$
$$H_q(X^{(t-1)}|X^{(t)}) + H_q(X^{(t)}) = H_q(X^{(t)}|X^{(t-1)}) + H_q(X^{(t-1)}) \tag{26}$$
엔트로피의 연쇄 법칙(chain rule)에 따르면, 두 변수 A, B의 결합 엔트로피 H(A, B)는 다음과 같이 두 가지 방식으로 표현할 수 있다.
H(A, B) = H(A|B) + H(B)
H(A, B) = H(B|A) + H(A)
당연히 두 변수의 총 불확실성은 순서를 바꿔도 같으므로(H(A, B) = H(B, A)), 위 두 식은 서로 같다.
논문의 26번 식은 바로 이 원리를 X(t-1)과 X(t)에 적용한 것이다.
이를 정리하면, 역방향 단계의 엔트로피를 순방향 엔트로피와 두 시점의 전체 엔트로피 변화량으로 표현하는 핵심 항등식 (27)을 얻는다.
$$H_q(X^{(t-1)}|X^{(t)}) = H_q(X^{(t)}|X^{(t-1)}) + H_q(X^{(t-1)}) - H_q(X^{(t)}) \tag{27}$$
2. 상한 유도 (Deriving the Upper Bound)
상한, 즉 역방향 불확실성의 최댓값을 구하는 과정은 "노이즈를 추가하면 불확실성은 항상 증가하거나 같다"는 원칙에 기반한다. 확산 과정의 목표 분포($\pi(y)$)는 최대 엔트로피 분포이므로, 시간이 지남에 따라 엔트로피는 증가한다.
$$H_q(X^{(t)}) \ge H_q(X^{(t-1)}) \tag{28}$$
따라서, 전체 엔트로피의 변화량은 0보다 작거나 같다.
$$H_q(X^{(t-1)}) - H_q(X^{(t)}) \le 0 \tag{29}$$
이 결과를 핵심 항등식 (27)에 대입하면, 역방향 불확실성은 순방향 불확실성보다 항상 작거나 같다는 상한이 유도된다. 즉 노이즈를 제거하는 것(역방향)은 우리가 학습한 '규칙'에 따라 진행되므로, 순방향 과정보다는 훨씬 더 질서정연하고 예측 가능하다.
$$H_q(X^{(t-1)}|X^{(t)}) \le H_q(X^{(t)}|X^{(t-1)}) \tag{30}$$
3. 하한 유도 (Deriving the Lower Bound)
하한, 즉 역방향 불확실성의 최솟값은 "데이터 처리 부등식(Data Processing Inequality)" 원칙에서 유도된다. 이는 "추가적인 처리(노이즈 추가)는 원본에 대한 정보를 감소시킬 뿐, 증가시키지 않는다"는 의미다. 따라서 원본 이미지($X^{(0)}$)에 대한 불확실성은 시간이 지날수록 커진다.
$$H_q(X^{(0)}|X^{(t)}) \ge H_q(X^{(0)}|X^{(t-1)}) \tag{31}$$
위 식은 더 많이 손상된 이미지($X^{(t)}$)를 보고 원본($X^{(0)}$)을 추측할 때의 불확실성은, 덜 손상된 이미지($X^{(t-1)}$)를 보고 추측할 때의 불확실성보다 항상 크거나 같다로 설명할 수 있고, 이 원칙을 정보 이론에서는 데이터 처리 부등식(Data Processing Inequality)이라고 한다.
이 정보 손실의 원칙을 엔트로피 항등식을 이용해 여러 단계에 걸쳐 변환하면(32-33), 전체 엔트로피 변화량에 대한 하한을 다음과 같이 구할 수 있다.
$$H_q(X^{(t-1)}) - H_q(X^{(t)}) \ge H_q(X^{(0)}|X^{(t-1)}) + H_q(X^{(t-1)}) - H_q(X^{(0)}|X^{(t)}) - H_q(X^{(t)}) \tag{32}$$
$$H_q(X^{(t-1)}) - H_q(X^{(t)}) \ge H_q(X^{(0)}, X^{(t-1)}) - H_q(X^{(0)}, X^{(t)}) \tag{33}$$
$$H_q(X^{(t-1)}) - H_q(X^{(t)}) \ge H_q(X^{(t-1)}|X^{(0)}) - H_q(X^{(t)}|X^{(0)}) \tag{34}$$
이 최솟값을 다시 핵심 항등식 (27)에 대입하면, 최종적으로 역방향 불확실성에 대한 하한이 유도된다.
$$H_q(X^{(t-1)}|X^{(t)}) \ge H_q(X^{(t)}|X^{(t-1)}) + H_q(X^{(t-1)}|X^{(0)}) - H_q(X^{(t)}|X^{(0)}) \tag{35}$$
최종 결합
위에서 유도된 상한과 하한을 결합하면, 역방향 과정 한 단계의 엔트로피 범위를 나타내는 최종 부등식 (36)이 완성된다.
$$H_q(X^{(t)}|X^{(t-1)}) \ge H_q(X^{(t-1)}|X^{(t)}) \ge H_q(X^{(t)}|X^{(t-1)}) + H_q(X^{(t-1)}|X^{(0)}) - H_q(X^{(t)}|X^{(0)}) \tag{36}$$
이 모든 경계는 우리가 이미 알고 있는 순방향 과정($q$)의 항들로만 구성되어 있어 직접 계산이 가능하다.
3. Experiments
본 연구에서는 다양한 종류의 연속 및 이진 데이터셋에 확산 확률 모델을 훈련시켜 그 성능을 입증하였다. 실험은 훈련된 모델을 이용한 샘플링과 이미지 인페인팅(inpainting)을 시연하고, 그 성능을 다른 기법들과 비교하는 방식으로 진행하였다. 모델 훈련에는 Theano를 이용해 그래디언트를 계산했으며, CIFAR-10 데이터셋을 제외하고는 SFO 옵티마이저를 사용하였다. CIFAR-10의 경우, RMSprop 옵티마이저를 사용한 오픈 소스 구현으로 훈련되었다. 모든 데이터셋에 대한 성능 결과(로그 우도 하한)는 표 1에 정리되어 있으며, Blocks 프레임워크를 사용한 참조 구현 코드는 GitHub를 통해 공개되어 있다.
https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models
GitHub - Sohl-Dickstein/Diffusion-Probabilistic-Models: Reference implementation for Deep Unsupervised Learning using Nonequilib
Reference implementation for Deep Unsupervised Learning using Nonequilibrium Thermodynamics - Sohl-Dickstein/Diffusion-Probabilistic-Models
github.com
3.1 Toy Problems
3.1.1 Swiss ROLL
테스트를 위해 2차원 스위스 롤 분포의 확산 확률 모델이 구축하였다. 생성 모델 $p(x^{(0...T)})$은 단위 공분산 가우시안 분포에서 시작하는 40 타임스텝의 가우시안 확산으로 구성되었다. 역방향 궤적을 위한 평균 함수 $f_\mu(x^{(t)},t)$와 대각 행렬 형태의 공분산 함수 $f_\Sigma(x^{(t)},t)$를 생성하기 위해, 하나의 은닉층과 16개의 은닉 유닛을 가진 (정규화된) 방사 기저 함수 신경망이 훈련되었다. 각 함수의 최상위 읽기(readout) 레이어는 각 타임스텝마다 독립적으로 학습되었지만, 그 외 모든 레이어의 가중치는 모든 타임스텝과 두 함수에 걸쳐 공유되었다. $f_\Sigma(x^{(t)},t)$의 최상위 레이어 출력은 0과 1 사이로 값을 제한하기 위해 시그모이드를 통과하였다. 그림 1에서 볼 수 있듯이, 스위스 롤 분포는 성공적으로 학습되었다.

3.1.2. BINARY HEARTBEAT DISTRIBUTION
이 실험은 '하트비트' 패턴(5번째 칸마다 1이 나오는 길이 20의 이진 시퀀스)을 갖는 데이터에 확산 모델을 훈련시킨 것이다. 모델은 2000 타임스텝의 이항 확산을 사용했으며, 데이터의 평균 활성도와 동일한 확률($p=0.2$)을 갖는 노이즈에서 생성을 시작했다. 역방향 과정의 각 단계별 확률을 예측하기 위해, 3개의 은닉층을 가진 다층 퍼셉트론(MLP)이 사용되었다. 그 결과, 모델은 실제 분포의 이론적 최대 로그 우도(-2.322 bits)에 매우 근접하는, 거의 완벽한 학습 성능을 보여주었다.
3.2. Images
실험을 위해 여러 이미지 데이터셋에 대해 가우시안 확산 확률 모델을 훈련시켰다. 이 실험들에서 공통으로 사용된 다중 스케일 컨볼루션 아키텍처(그림 D.1)는 다음과 같다.
다중 스케일 컨볼루션 아키텍처
본 논문의 이미지 실험에 사용된 신경망 아키텍처는 역방향 확산 과정의 각 단계에 필요한 평균($\mu$)과 분산($\Sigma$)을 예측하는 것을 목표로 한다. 네트워크의 핵심은 다중 스케일 컨볼루션 구조로, 이미지를 여러 해상도로 다운샘플링하여 각각 컨볼루션을 적용한 뒤 다시 업샘플링하여 합치는 방식을 통해 이미지 내의 장거리 및 다중 스케일 특징을 효과적으로 포착한다. 이러한 과정을 거쳐 네트워크는 최종적으로 각 픽셀에 대한 시간과 무관한 계수 벡터($y^\mu, y^\Sigma$)를 출력한다. 이 계수들은 시간에 따라 변하는 "범프" 함수 (63)와 결합되어, 각 타임스텝 `t`에 해당하는 중간값($z^\mu, z^\Sigma$)을 생성한다. 마지막으로, 이 중간값들은 식 (64), (65)를 통해 해당 타임스텝의 최종 평균($\mu$)과 분산($\Sigma$)으로 변환된다. 이 독특한 '읽기(Readout)' 구조 덕분에, 단일 신경망이 수천 개의 모든 타임스텝에 대한 파라미터를 효율적으로 제공할 수 있다.

3.2.1. DATASETS
위에서 언급했듯이 제안된 확산 모델의 성능을 입증하기 위해 여러 표준 이미지 데이터셋을 사용했다. MNIST 손글씨 숫자 데이터셋은 기존 연구들과의 직접적인 성능 비교를 위해 사용되었으며, 공정한 비교를 위해 다른 연구들과 동일한 Parzen-window 방식으로 로그 우도를 측정했습니다. 더 복잡한 자연 이미지 데이터셋인 CIFAR-10에 대해서도 모델을 훈련시켰습니다. 또한, 자연 이미지의 통계적 복잡성을 모방하는 '죽은 잎' 이미지 데이터셋에서는 당시 최고 수준(state-of-the-art)의 성능을 달성했다.마지막으로, 나무껍질 텍스처 이미지를 이용해서는 모델의 주요 강점 중 하나인 사후 확률 분포 샘플링을 통해 손상된 이미지의 넓은 영역을 자연스럽게 복원(inpainting)하는 능력을 성공적으로 시연하였다.
4. Conclusion
본 논문은 정확한 샘플링과 확률 평가가 가능한 새로운 확률 분포 모델링 알고리즘을 제시한다. 기존의 많은 밀도 추정 기법들이 계산의 용이성을 위해 모델링 능력을 희생했던 것과 달리, 이 알고리즘은 높은 유연성과 효율성을 동시에 달성하였다. 알고리즘의 핵심은 데이터를 점진적으로 노이즈로 변환하는 마르코프 확산 연쇄의 '역 과정'을 학습하는 것이다. 이 과정의 단계 수를 충분히 크게 만들면, 각 역방향 단계는 매우 단순해져 학습이 용이해지는 원리를 이용한다. 그 결과, 어떤 데이터 분포든 학습할 수 있으면서도 훈련, 샘플링, 평가가 모두 용이하며, 조건부 확률 계산 같은 응용 작업도 간단하게 수행할 수 있는 강력한 모델이 탄생했다.