AI바라기의 인공지능
개념정리 : diffusion : 이상적인 한 스텝 reverse 본문
1. $q(x_t \mid x_0)$가 왜 가우시안인지
2. $q(x_{t-1}\mid x_t, x_0)$가 왜 가우시안이고, 그 평균/분산이 왜 저렇게 생기는지
이 두 개를 순차적이고 직관적으로, 그리고 수식의 의미까지 붙여서 설명드리겠습니다.
중요한 표기 하나만 먼저 정리하겠습니다.
DDPM 문맥에서는 forward noising process이므로 보통
라고 씁니다.
이번에는 DDPM 표기를 따라 $q$로 쓰겠습니다.
0. 지금 우리가 이미 알고 있는 출발점
앞에서 forward process를 이렇게 정했었습니다.
여기서
입니다.
그리고 이걸 여러 step 합치면
라는 닫힌형태를 얻었습니다.
이 식이 오늘 설명의 출발점입니다.
1. $q(x_t\mid x_0)$가 왜 가우시안인가
1-1. 질문을 정확히 해석해보면
는
“원본 $x_0$를 고정해놓았을 때, $t$ step 뒤의 noisy sample $x_t$는 어떤 분포를 따르나?”
를 묻는 것입니다.
여기서 정말 중요한 포인트는:
- $x_0$는 조건으로 주어져서 고정
- 랜덤한 것은 오직 $\epsilon$
이라는 점입니다.
즉
에서 랜덤성은 전부 $\epsilon$에 들어 있습니다.
1-2. 왜 가우시안이 되는가: 가장 핵심 이유
이고,
꼴이면, $x_t$는 다시 가우시안입니다.
이건 가우시안의 가장 중요한 성질 중 하나입니다.
즉,
- 가우시안에 선형변환을 하고
- 상수를 더하면
결과는 여전히 가우시안입니다.
지금 식에서는
이므로 $x_t\mid x_0$는 가우시안입니다.
이게 가장 본질적인 이유입니다.
1-3. 평균과 분산을 직접 계산해보자
그냥 “가우시안이다”에서 끝내지 않고, 평균과 공분산이 왜 저렇게 생기는지도 보겠습니다.
평균
여기서 $x_0$는 고정이므로 그냥 밖으로 나옵니다.
그런데 $\epsilon\sim\mathcal{N}(0,I)$이므로
입니다. 따라서
입니다.
즉 평균은 원본 $x_0$의 축소된 버전입니다.
이게 무슨 뜻이냐 하면,
$t$가 커질수록 $\bar{\alpha}_t$가 작아지므로
평균도 점점 원점 쪽으로 줄어든다는 뜻입니다.
즉 원래 신호의 중심이 약해지고 있습니다.
공분산
이제 공분산을 보겠습니다.
왜냐하면 상수항 $\sqrt{\bar{\alpha}_t}x_0$는 분산에 영향을 주지 않기 때문입니다.
가우시안에 상수배를 하면 공분산은 그 제곱배가 되므로,
그리고 $\text{Cov}(\epsilon)=I$이므로,
입니다.
따라서
가 됩니다.
1-4. 이 식의 의미를 직관적으로 해석하면
이 식은 정말 중요합니다.
의 의미는 딱 이겁니다.
- $\sqrt{\bar{\alpha}_t}x_0$: 아직 남아 있는 원본 신호
- $\sqrt{1-\bar{\alpha}_t}\epsilon$: 누적된 노이즈
즉 $x_t$는
원본 $x_0$를 약하게 남겨둔 채, 그 위에 가우시안 노이즈를 덮은 것
입니다.
그리고 $t$가 커질수록
- 신호 계수 $\sqrt{\bar{\alpha}_t}$는 줄고
- 노이즈 계수 $\sqrt{1-\bar{\alpha}_t}$는 커집니다
따라서 점점 더 “원본 데이터처럼 안 보이고”,
점점 더 “그냥 가우시안처럼” 보이게 됩니다.
1-5. 더 단순한 식과의 관계
보통 이런 식이 나옵니다.
그러면
가 됩니다.
이건 방금 본 DDPM 식의 더 단순한 additive-noise 버전입니다.
- 단순 버전: 평균이 $x_0$
- DDPM 버전: 평균이 $\sqrt{\bar{\alpha}_t}x_0$
하지만 논리는 완전히 같습니다.
“고정된 $x_0$에 가우시안 노이즈를 더했으니 조건분포는 가우시안이다”
이 핵심은 동일합니다.
2. 그러면 조건 score는 왜 계산 가능한가
이제 핵심 문장 하나가 자연스럽게 나옵니다.
가 가우시안이면, 그 log-density를 쓸 수 있고, 따라서 score도 직접 계산할 수 있습니다.
즉
를 손으로 구할 수 있습니다.
이게 중요한 이유는,
나중에 “노이즈가 섞인 샘플 $x_t$를 보고 어느 방향으로 denoise해야 하나?”를 수식으로 쓰는 데 바로 쓰이기 때문입니다.
2-1. 먼저 가우시안 log-density를 써보자
라고 놓으면, 여기서
입니다.
그러면 log-density는
입니다. $C$는 $x_t$와 무관한 상수입니다.
여기서 중요한 부분은 이 항입니다.
이건 “현재 $x_t$가 평균 $\sqrt{\bar{\alpha}_t}x_0$에서 얼마나 떨어져 있는가”를 나타냅니다.
즉 log-density는 평균에서 멀어질수록 작아집니다.
2-2. 이제 $x_t$로 미분하면
우리는 $x_t$에 대한 score를 원하므로,
를 계산합니다.
에서 상수 $C$는 미분하면 0입니다.
그리고 벡터 미분의 기본식
를 쓰면,
가 됩니다.
즉
입니다.
2-3. 이 score의 의미
이 식은 아주 직관적입니다.
를 보면,
- $x_t-\sqrt{\bar{\alpha}_t}x_0$: 현재 점이 평균에서 얼마나 벗어났는가
- 앞의 마이너스: 그 반대 방향, 즉 평균 쪽으로 끌어당김
- 분모 $1-\bar{\alpha}_t$: 분산이 클수록 당기는 힘이 약해짐
즉 조건 score는
현재 noisy point $x_t$를, 그 조건부 평균 $\sqrt{\bar{\alpha}_t}x_0$ 쪽으로 되돌리는 방향
입니다.
이건 앞에서 본 가우시안 score와 완전히 같은 구조입니다.
2-4. $\epsilon$으로 쓰면 더 깔끔해진다
이므로
입니다. 이를 score 식에 넣으면
가 됩니다.
즉
입니다.
이 식은 “조건 score는 사실상 노이즈의 반대방향”이라는 걸 보여줍니다.
2-5. 그 식과 정확히 어떻게 연결되나
그 식은
였습니다.
이건 단순화된 additive-noise 모델
에서는 정확히 맞습니다.
DDPM 식에서는 평균이 $x_0$가 아니라 $\sqrt{\bar{\alpha}_t}x_0$이므로
가 됩니다.
즉 모양은 완전히 같고, 평균과 분산만 DDPM 식에 맞게 바뀐 것입니다.
3. 이제 2번: $q(x_{t-1}\mid x_t,x_0)$
여기부터가 진짜 “리버스 한 스텝”의 시작입니다.
우리가 방금 본 $q(x_t\mid x_0)$는
“원본이 $x_0$일 때, $t$ step 후 상태는 어떤 분포인가?”
를 말했습니다.
이제 다음 질문은 자연스럽습니다.
“그렇다면 $x_0$를 안다고 가정할 때, 현재 noisy state $x_t$에서 한 step 이전 상태 $x_{t-1}$는 어떤 분포인가?”
바로 이것이
입니다.
3-1. 왜 이게 중요한가
이 분포는 말 그대로
“원본을 알고 있을 때의 정답 리버스 한 스텝”
입니다.
즉 아직 모델을 학습하는 얘기가 아니라,
forward를 정의해두었을 때 수학적으로 참인 이상적인 한 스텝 역방향 분포를 보는 것입니다.
이걸 이해하면 나중에 “실제로는 $x_0$를 모르니 뭘 예측해야 하나?”가 아주 자연스럽게 이어집니다.
3-2. 왜 가우시안인가: 개념적 이유
이건 먼저 개념적으로 보면 아주 깔끔합니다.
우리는 두 개를 알고 있습니다.
첫째,
즉 “$x_{t-1}$가 주어졌을 때 $x_t$”는 가우시안입니다.
둘째,
즉 “$x_0$가 주어졌을 때 $x_{t-1}$”도 가우시안입니다.
그러면 $x_0$를 고정한 상태에서,
- $x_{t-1}$에 대한 prior는 가우시안
- $x_t$를 관측했을 때의 likelihood도 가우시안
입니다.
그리고 가우시안 prior $\times$ 가우시안 likelihood = 가우시안 posterior
이므로,
도 가우시안입니다.
이게 가장 큰 개념적 이유입니다.
4. $q(x_{t-1}\mid x_t,x_0)$를 수식으로 유도해보자
이제 실제 식이 어떻게 생기는지 보겠습니다.
4-1. Bayes와 Markov 성질
Bayes로 쓰면
입니다.
그런데 forward process는 Markov이므로,
입니다.
즉 $x_t$는 바로 직전 상태 $x_{t-1}$만 알면 되고, 그보다 더 과거인 $x_0$는 추가 정보가 아닙니다.
따라서
입니다.
여기서 $\propto$는 $x_{t-1}$와 무관한 정규화 상수를 무시했다는 뜻입니다.
즉 posterior는
- $q(x_t\mid x_{t-1})$: 현재 관측 $x_t$가 주는 정보
- $q(x_{t-1}\mid x_0)$: 원본 $x_0$가 주는 정보
를 곱해서 얻습니다.
4-2. 두 가우시안을 대입
첫 번째 항:
이는 $x_{t-1}$의 함수로 보면
입니다.
두 번째 항:
이는
입니다.
곱하면
가 됩니다.
4-3. 왜 이게 다시 가우시안이 되나
지수 안을 보면 둘 다 $x_{t-1}$에 대한 이차식(quadratic form) 입니다.
그리고
- 이차식 + 이차식 = 이차식
- $\exp(-\text{이차식})$ = 가우시안 꼴
이므로 posterior가 가우시안이 됩니다.
이걸 좀 더 직접 보려면 전개해보면 됩니다.
4-4. 전개해서 $x_{t-1}$ 항만 모아보자
먼저
입니다.
여기서 내적 $x_t^\top x_{t-1}$이 나오는 이유는
벡터 제곱노름 전개 공식
를 썼기 때문입니다.
두 번째 항도 마찬가지로
입니다.
이제 $x_{t-1}$와 무관한 상수항은 버리고, $x_{t-1}$ 관련 항만 모으면
꼴이 됩니다. 여기서
그리고
입니다.
4-5. 이제 complete the square를 한다
가우시안 꼴을 알아보려면 완전제곱을 만들면 됩니다.
일반적으로
입니다.
따라서
가 됩니다.
즉
입니다.
이제 $A^{-1}$과 $\frac{b}{A}$를 정리하면 됩니다.
5. posterior의 평균과 분산
정리하면 표준 결과는 다음과 같습니다.
여기서 분산은
평균은
입니다.
5-1. 분산이 왜 저 모양인가
조금 전에
였는데, 공통분모로 정리하면
입니다.
그런데 $\alpha_t+\beta_t=1$이고 $\bar{\alpha}t=\alpha_t\bar{\alpha}{t-1}$이므로 분자는
가 됩니다.
따라서
이고, 그래서
입니다.
5-2. 평균이 왜 저 모양인가
평균은 $\frac{b}{A}$였으므로,
입니다.
여기에 $\tilde{\beta}t = \frac{\beta_t(1-\bar{\alpha}{t-1})}{1-\bar{\alpha}_t}$를 대입하면
가 됩니다.
즉 위 공식이 나옵니다.
6. 이 posterior mean의 의미
이 식을 그냥 외우면 안 되고, 의미가 중요합니다.
이건 구조적으로 보면
$x_0$와 $x_t$를 둘 다 참고한 선형 결합
입니다.
왜 이런 형태가 자연스럽냐 하면,
- $x_t$는 “현재 상태”이므로 $x_{t-1}$와 가깝습니다
- $x_0$는 “원본”이므로 $x_{t-1}$가 어디를 향해야 하는지 알려줍니다
즉 posterior mean은
현재 noisy 상태 $x_t$와
원래 clean 정보 $x_0$를 동시에 활용한
“가장 그럴듯한 한 step 이전 상태”
입니다.
이게 리버스 한 스텝의 본질입니다.
6-1. 분산의 의미
는 “$x_t$와 $x_0$를 둘 다 안 뒤에도 남는 불확실성”입니다.
즉 완전히 deterministic하게 $x_{t-1}$가 정해지는 건 아닙니다.
아직 남는 랜덤성이 있습니다. 그래서 posterior가 가우시안 분포로 남습니다.
하지만 $x_0$까지 알고 있으므로, 당연히 그냥 forward 한 스텝 노이즈 $\beta_t I$만 아는 것보다 훨씬 더 좁혀진 분포가 됩니다.
즉
conditioning을 더 많이 할수록 불확실성이 줄어든다
는 확률의 기본 원리가 여기서 그대로 나타납니다.
7. 왜 이 파트가 진짜 중요하냐
이제 핵심을 보겠습니다.
우리는
를 구했습니다.
이건 엄청 중요합니다. 왜냐하면 이 식이
“원본 $x_0$를 알고 있다면, 리버스 한 스텝은 어떻게 생기는가”
를 정확히 말해주기 때문입니다.
그런데 실제 생성에서는 $x_0$를 모릅니다.
그래서 다음 질문이 생깁니다.
“그럼 $x_0$ 대신 뭘 예측해야 하지?”
“아니면 $\epsilon$을 예측하면 되나?”
“실제 모델 $p_\theta(x_{t-1}\mid x_t)$는 어떤 평균을 가져야 하지?”
즉 지금까지의 내용은 바로 다음 단계인
실제 리버스 모델링의 출발점입니다.
8. 다음 단계로 이어지는 아주 중요한 다리 하나
위 평균식은 사실 $\epsilon$으로도 쓸 수 있습니다.
이므로
입니다.
이걸 posterior mean에 넣으면
로 쓸 수 있습니다.
이 식은 아주 중요합니다.
왜냐하면 $x_0$를 아는 것과 $\epsilon$을 아는 것이 거의 같은 정보라는 걸 보여주기 때문입니다.
즉 나중에 $\epsilon$-prediction이 왜 등장하는지가 바로 여기서 나옵니다.
다만 그건 다음 단계에서 보시는 게 가장 자연스럽습니다.
9. 이번 파트의 핵심만 압축하면
이번에 꼭 잡고 가셔야 할 것은 네 가지입니다.
첫째,
에서 $x_0$를 고정하면 randomness는 $\epsilon$만 남으므로
는 가우시안입니다.
둘째,
이므로 조건 score는 직접 계산 가능하고,
가 됩니다.
셋째,
이고, 가우시안 prior와 가우시안 likelihood의 곱이므로 posterior도 가우시안입니다.
넷째,
의 평균은 $x_t$와 $x_0$를 동시에 참고한 “이상적인 한 step 역방향 평균”입니다.
10. 한 줄 요약
가장 압축해서 말하면,
$q(x_t\mid x_0)$는 “원본에 가우시안 노이즈를 덧씌운 분포”이므로 가우시안이고,
$q(x_{t-1}\mid x_t,x_0)$는 “현재 noisy 상태와 원본을 둘 다 알고 있을 때의 이상적인 리버스 한 스텝 posterior”이며, 역시 가우시안이다.
'인공지능' 카테고리의 다른 글
| 개념정리 : 고유값, 고유벡터 (0) | 2026.04.01 |
|---|---|
| 개념정리 : Diffusion 모델 학습 Loss : 노이즈 예측부터 Score Matching까지 (1) | 2026.03.28 |
| 개념 정리 : diffusion : forward (0) | 2026.03.28 |
| 개념정리 : Score란? with diffusion (0) | 2026.03.28 |
| 개념 정리 : NW kernel regression with Gaussian (0) | 2026.03.27 |
