디퓨젼 모델
- Denoising Diffusion Probabilistic Models
- https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
- https://kimjy99.github.io/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0/ddpm/
아래는 지금까지 논의한 DDPM(denoising diffusion probabilistic model) 흐름을 Forward(q) → Reverse(pθ) → 학습(ELBO/KL) → 샘플링(테스트) 순으로, 수식을 포함해 “한 번에” 정리한 것입니다. (표기는 표준적으로 (\alpha_t=1-\beta_t), (\bar\alpha_t=\prod_{s=1}^t\alpha_s) 사용)
0. 기호와 목표
데이터: (x_0 \sim p_{\text{data}}(x)) (우리가 가진 것은 (x_0) 샘플뿐)
Forward(확산) 분포: (q(\cdot)) — 고정, 노이즈를 단계적으로 추가하는 과정
Reverse(역확산) 분포: (p_\theta(\cdot)) — 학습 대상, 노이즈를 단계적으로 제거하는 과정
목표: (\log p_\theta(x_0))를 최대화(= 데이터 분포를 잘 생성)
1. Forward(q): (x_0 \to x_T) 확산(노이즈 추가)
1.1 마르코프 체인 가정의 활용
Forward는 마르코프 체인으로 정의됩니다.
[
q(x_{1:T}\mid x_0) = \prod_{t=1}^T q(x_t\mid x_{t-1})
]
즉,
[
q(x_t\mid x_{t-1},\dots,x_0)=q(x_t\mid x_{t-1})
]
이 “한 스텝 의존성” 덕분에 전체 과정이 단계적 전이의 곱으로 분해됩니다.
1.2 한 스텝 전이(선형-가우시안)
[
q(x_t\mid x_{t-1})=\mathcal N!\left(x_t;\sqrt{\alpha_t},x_{t-1},\ \beta_t I\right),
\quad \alpha_t=1-\beta_t
]
동치인 샘플링 형태:
[
x_t = \sqrt{\alpha_t},x_{t-1}+\sqrt{\beta_t},\varepsilon_t,\quad \varepsilon_t\sim\mathcal N(0,I)
]
1.3 “한 번에” (x_0 \to x_t) 생성(폐형식)
선형-가우시안 마르코프이므로 누적 분포가 닫힌형태로 정리됩니다.
정의:
[
\bar\alpha_t=\prod_{s=1}^t \alpha_s
]
그러면
[
q(x_t\mid x_0)=\mathcal N!\left(x_t;\sqrt{\bar\alpha_t},x_0,\ (1-\bar\alpha_t)I\right)
]
따라서 체인을 실제로 (x_1,x_2,\dots) 만들지 않고도,
[
x_t = \sqrt{\bar\alpha_t},x_0+\sqrt{1-\bar\alpha_t},\varepsilon,\quad \varepsilon\sim\mathcal N(0,I)
]
로 **한 번에 (x_t)**를 만들 수 있습니다.
직관: (t)가 커질수록 (\bar\alpha_t\downarrow), 즉 (\sqrt{\bar\alpha_t}x_0) 영향이 줄고, 노이즈 계수 (\sqrt{1-\bar\alpha_t})가 커져 (x_t\approx \mathcal N(0,I))가 됩니다(충분히 큰 (T)에서).
2. Reverse(pθ): (x_T \to x_0) 역확산(노이즈 제거)
2.1 역과정의 마르코프 구조(생성모델 정의)
우리가 학습하는 생성모델은 다음의 마르코프 체인입니다.
[
p_\theta(x_{0:T}) = p(x_T)\prod_{t=1}^T p_\theta(x_{t-1}\mid x_t)
]
보통 시작분포는
[
p(x_T)=\mathcal N(0,I)
]
로 둡니다.
2.2 한 스텝 역전이의 가우시안 가정
[
p_\theta(x_{t-1}\mid x_t)=\mathcal N!\left(x_{t-1};\ \mu_\theta(x_t,t),\ \sigma_t^2 I\right)
]
(\mu_\theta(x_t,t)): 모델이 정하는 평균(신경망으로 파라미터화)
(\sigma_t^2): 분산(보통 고정값 사용)
3. “진짜 posterior” (q(x_{t-1}\mid x_t,x_0))와 (\mu_\theta)의 출처
Forward가 선형-가우시안이므로 다음 posterior는 정확히 가우시안입니다.
[
q(x_{t-1}\mid x_t,x_0)=\mathcal N!\left(x_{t-1};\ \tilde\mu(x_t,x_0,t),\ \tilde\beta_t I\right)
]
여기서 분산(정확):
[
\tilde\beta_t=\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\beta_t
]
평균(정확):
[
\tilde\mu(x_t,x_0,t)=
\frac{\sqrt{\alpha_t}(1-\bar\alpha_{t-1})}{1-\bar\alpha_t}x_t
+
\frac{\sqrt{\bar\alpha_{t-1}}\beta_t}{1-\bar\alpha_t}x_0
]
핵심: (\tilde\mu)는 (x_t)와 (x_0)의 선형결합입니다.
하지만 생성 시에는 (x_0)를 모르므로 이를 직접 쓸 수 없습니다.
4. (\varepsilon)-prediction: 누적 노이즈로 (\hat x_0)를 복원
4.1 (x_0 \leftrightarrow \varepsilon) 관계(역산)
Forward의 폐형식:
[
x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\varepsilon
]
이를 (x_0)에 대해 풀면:
[
x_0=\frac{1}{\sqrt{\bar\alpha_t}}\left(x_t-\sqrt{1-\bar\alpha_t}\varepsilon\right)
]
4.2 모델은 (\varepsilon)를 예측한다
신경망이 예측하는 것:
[
\varepsilon_\theta(x_t,t)\approx \varepsilon
]
그러면
[
\hat x_0(x_t,t)=\frac{1}{\sqrt{\bar\alpha_t}}\left(x_t-\sqrt{1-\bar\alpha_t}\varepsilon_\theta(x_t,t)\right)
]
로 현재 단계에서의 (x_0) 추정치를 얻습니다.
4.3 (\mu_\theta)는 posterior 평균을 (\hat x_0)로 대체한 것
원래 평균 (\tilde\mu(x_t,x_0,t))에서
[
x_0 \Rightarrow \hat x_0(x_t,t)
]
로 치환해 얻는 평균이 (\mu_\theta)입니다. 정리하면 일반적으로 쓰는 형태:
[
\mu_\theta(x_t,t)
\frac{1}{\sqrt{\alpha_t}}
\left(
x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\varepsilon_\theta(x_t,t)
\right)
]
5. 학습 목표: ELBO와 stepwise KL → noise MSE로 단순화
5.1 원 목표와 ELBO
목표:
[
\max_\theta \log p_\theta(x_0)
]
변분 하한(ELBO):
[
\log p_\theta(x_0)\ge \mathbb E_{q}\big[\log p_\theta(x_0,x_{1:T})-\log q(x_{1:T}\mid x_0)\big]
]
전개하면(핵심 항만):
[
\log p_\theta(x_0)
\ge
\mathbb E_q\Big[
-\mathrm{KL}(q(x_T\mid x_0)|p(x_T))
-\sum_{t=2}^T \mathrm{KL}(q(x_{t-1}\mid x_t,x_0)|p_\theta(x_{t-1}\mid x_t))
+\log p_\theta(x_0\mid x_1)
\Big]
]
이 중 학습의 중심은:
[
\boxed{\mathrm{KL}(q(x_{t-1}\mid x_t,x_0)\ |\ p_\theta(x_{t-1}\mid x_t))}
]
(q(\cdot)): forward로부터 계산되는 정답 posterior
(p_\theta(\cdot)): 모델이 근사해야 하는 reverse step
5.2 가우시안 KL의 형태
두 분포가 가우시안이고, 분산을 고정(예: (\sigma_t^2=\tilde\beta_t))하면:
[
\mathrm{KL}
\frac{1}{2\sigma_t^2}\left|\tilde\mu(x_t,x_0,t)-\mu_\theta(x_t,t)\right|^2 + \text{const}
]
즉 KL 최소화는 평균을 맞추는 문제로 축약됩니다.
5.3 평균을 (\varepsilon_\theta)로 파라미터화하면 noise MSE가 된다
(\mu_\theta)를 (\varepsilon_\theta)로 표현하는 파라미터화를 사용하고,
(x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\varepsilon)를 대입해 정리하면, (상수/가중치를 제외하고)
[
\boxed{
\mathbb E_{t,x_0,\varepsilon}\left[|\varepsilon-\varepsilon_\theta(x_t,t)|^2\right]
}
]
가 stepwise KL의 단순화된 학습 목적이 됩니다.
학습 알고리즘(실무 구현)
(x_0\sim p_{\text{data}})
(t\sim \mathrm{Unif}{1,\dots,T})
(\varepsilon\sim\mathcal N(0,I))
(x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\varepsilon)
loss (=|\varepsilon-\varepsilon_\theta(x_t,t)|^2)로 업데이트
6. 테스트(샘플링): (x_T\sim \mathcal N(0,I))에서 시작해 (x_0) 생성
6.1 시작
[
x_T\sim\mathcal N(0,I)
]
6.2 반복: (t=T,T-1,\dots,1)
노이즈 예측:
[
\varepsilon_\theta(x_t,t)
](선택적으로) (x_0) 추정:
[
\hat x_0(x_t,t)=\frac{1}{\sqrt{\bar\alpha_t}}\left(x_t-\sqrt{1-\bar\alpha_t}\varepsilon_\theta(x_t,t)\right)
]평균 계산:
[
\mu_\theta(x_t,t)
=
\frac{1}{\sqrt{\alpha_t}}
\left(
x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\varepsilon_\theta(x_t,t)
\right)
]샘플링:
[
x_{t-1} = \mu_\theta(x_t,t)+\sigma_t z,\quad z\sim\mathcal N(0,I)
]
(보통 (t=1)에서는 (z=0)로 두어 마지막은 결정적으로 만듭니다.)
7. 왜 (\hat x_0)를 바로 “최종 결과”로 쓰지 않나?
핵심은 다음입니다.
(\hat x_0(x_t,t))는 중간 단계의 점추정치입니다. 특히 (t)가 큰 구간에서는 (x_t)가 거의 노이즈라 (\hat x_0) 오차가 큽니다.
diffusion의 생성모델은 애초에
[
p_\theta(x_{0:T}) = p(x_T)\prod_{t=1}^T p_\theta(x_{t-1}\mid x_t)
]
처럼 stepwise 분포 이동을 정의합니다. 즉 “올바른 샘플”은 각 단계에서 (p_\theta(x_{t-1}\mid x_t))를 따라가며 얻는 (x_0)입니다.(p_\theta(x_{t-1}\mid x_t))에는 (\sigma_t^2)가 있어 **불확실성(랜덤성)**을 반영합니다. (\hat x_0)만 매번 확정값으로 쓰면 이 불확실성이 무시되어 분포를 제대로 따라가지 못할 수 있습니다. (단, DDIM처럼 (\sigma_t=0)을 선택해 결정론적으로 가는 변형도 존재합니다.)
8. 전체 흐름 한 줄 요약
Forward: (q)로 (x_0\to x_T) (마르코프 + 선형-가우시안)
학습: stepwise KL (\mathrm{KL}(q(x_{t-1}\mid x_t,x_0)|p_\theta(x_{t-1}\mid x_t)))을 ELBO로 최적화
파라미터화: (\mu_\theta)를 (\varepsilon_\theta)로 표현 → KL이 noise MSE로 단순화
샘플링: (x_T\sim\mathcal N(0,I))에서 시작해 (\varepsilon_\theta)로 (\mu_\theta)를 만들고 (x_{t-1})를 샘플링하며 (x_0) 생성
원하시면, 위 정리에서 “증명” 성격이 가장 강한 두 부분을 더 엄밀하게(계수까지 모두 전개해서) 써드릴 수 있습니다.
(q(x_t\mid x_0)=\mathcal N(\sqrt{\bar\alpha_t}x_0,(1-\bar\alpha_t)I)) 유도(완전 전개)
가우시안 KL을 평균 차이로 만들고, 그 평균 차이가 (|\varepsilon-\varepsilon_\theta|^2)로 바뀌는 대수 전개 (가중치 포함)
어느 쪽을 더 자세히 원하시는지 말씀하시면 그 부분을 중심으로 확장하겠습니다.
아래는 지금까지 논의한 DDPM(denoising diffusion probabilistic model) 흐름을 Forward(q) → Reverse(pθ) → 학습(ELBO/KL) → 샘플링(테스트) 순으로, 수식을 포함해 “한 번에” 정리한 것입니다. (표기는 표준적으로 (\alpha_t=1-\beta_t), (\bar\alpha_t=\prod_{s=1}^t\alpha_s) 사용)
0. 기호와 목표
데이터: (x_0 \sim p_{\text{data}}(x)) (우리가 가진 것은 (x_0) 샘플뿐)
Forward(확산) 분포: (q(\cdot)) — 고정, 노이즈를 단계적으로 추가하는 과정
Reverse(역확산) 분포: (p_\theta(\cdot)) — 학습 대상, 노이즈를 단계적으로 제거하는 과정
목표: (\log p_\theta(x_0))를 최대화(= 데이터 분포를 잘 생성)
1. Forward(q): (x_0 \to x_T) 확산(노이즈 추가)
1.1 마르코프 체인 가정의 활용
Forward는 마르코프 체인으로 정의됩니다.
[
q(x_{1:T}\mid x_0) = \prod_{t=1}^T q(x_t\mid x_{t-1})
]
즉,
[
q(x_t\mid x_{t-1},\dots,x_0)=q(x_t\mid x_{t-1})
]
이 “한 스텝 의존성” 덕분에 전체 과정이 단계적 전이의 곱으로 분해됩니다.
1.2 한 스텝 전이(선형-가우시안)
[
q(x_t\mid x_{t-1})=\mathcal N!\left(x_t;\sqrt{\alpha_t},x_{t-1},\ \beta_t I\right),
\quad \alpha_t=1-\beta_t
]
동치인 샘플링 형태:
[
x_t = \sqrt{\alpha_t},x_{t-1}+\sqrt{\beta_t},\varepsilon_t,\quad \varepsilon_t\sim\mathcal N(0,I)
]
1.3 “한 번에” (x_0 \to x_t) 생성(폐형식)
선형-가우시안 마르코프이므로 누적 분포가 닫힌형태로 정리됩니다.
정의:
[
\bar\alpha_t=\prod_{s=1}^t \alpha_s
]
그러면
[
q(x_t\mid x_0)=\mathcal N!\left(x_t;\sqrt{\bar\alpha_t},x_0,\ (1-\bar\alpha_t)I\right)
]
따라서 체인을 실제로 (x_1,x_2,\dots) 만들지 않고도,
[
x_t = \sqrt{\bar\alpha_t},x_0+\sqrt{1-\bar\alpha_t},\varepsilon,\quad \varepsilon\sim\mathcal N(0,I)
]
로 **한 번에 (x_t)**를 만들 수 있습니다.
직관: (t)가 커질수록 (\bar\alpha_t\downarrow), 즉 (\sqrt{\bar\alpha_t}x_0) 영향이 줄고, 노이즈 계수 (\sqrt{1-\bar\alpha_t})가 커져 (x_t\approx \mathcal N(0,I))가 됩니다(충분히 큰 (T)에서).
2. Reverse(pθ): (x_T \to x_0) 역확산(노이즈 제거)
2.1 역과정의 마르코프 구조(생성모델 정의)
우리가 학습하는 생성모델은 다음의 마르코프 체인입니다.
[
p_\theta(x_{0:T}) = p(x_T)\prod_{t=1}^T p_\theta(x_{t-1}\mid x_t)
]
보통 시작분포는
[
p(x_T)=\mathcal N(0,I)
]
로 둡니다.
2.2 한 스텝 역전이의 가우시안 가정
[
p_\theta(x_{t-1}\mid x_t)=\mathcal N!\left(x_{t-1};\ \mu_\theta(x_t,t),\ \sigma_t^2 I\right)
]
(\mu_\theta(x_t,t)): 모델이 정하는 평균(신경망으로 파라미터화)
(\sigma_t^2): 분산(보통 고정값 사용)
3. “진짜 posterior” (q(x_{t-1}\mid x_t,x_0))와 (\mu_\theta)의 출처
Forward가 선형-가우시안이므로 다음 posterior는 정확히 가우시안입니다.
[
q(x_{t-1}\mid x_t,x_0)=\mathcal N!\left(x_{t-1};\ \tilde\mu(x_t,x_0,t),\ \tilde\beta_t I\right)
]
여기서 분산(정확):
[
\tilde\beta_t=\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\beta_t
]
평균(정확):
[
\tilde\mu(x_t,x_0,t)=
\frac{\sqrt{\alpha_t}(1-\bar\alpha_{t-1})}{1-\bar\alpha_t}x_t
+
\frac{\sqrt{\bar\alpha_{t-1}}\beta_t}{1-\bar\alpha_t}x_0
]
핵심: (\tilde\mu)는 (x_t)와 (x_0)의 선형결합입니다.
하지만 생성 시에는 (x_0)를 모르므로 이를 직접 쓸 수 없습니다.
4. (\varepsilon)-prediction: 누적 노이즈로 (\hat x_0)를 복원
4.1 (x_0 \leftrightarrow \varepsilon) 관계(역산)
Forward의 폐형식:
[
x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\varepsilon
]
이를 (x_0)에 대해 풀면:
[
x_0=\frac{1}{\sqrt{\bar\alpha_t}}\left(x_t-\sqrt{1-\bar\alpha_t}\varepsilon\right)
]
4.2 모델은 (\varepsilon)를 예측한다
신경망이 예측하는 것:
[
\varepsilon_\theta(x_t,t)\approx \varepsilon
]
그러면
[
\hat x_0(x_t,t)=\frac{1}{\sqrt{\bar\alpha_t}}\left(x_t-\sqrt{1-\bar\alpha_t}\varepsilon_\theta(x_t,t)\right)
]
로 현재 단계에서의 (x_0) 추정치를 얻습니다.
4.3 (\mu_\theta)는 posterior 평균을 (\hat x_0)로 대체한 것
원래 평균 (\tilde\mu(x_t,x_0,t))에서
[
x_0 \Rightarrow \hat x_0(x_t,t)
]
로 치환해 얻는 평균이 (\mu_\theta)입니다. 정리하면 일반적으로 쓰는 형태:
[
\mu_\theta(x_t,t)
\frac{1}{\sqrt{\alpha_t}}
\left(
x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\varepsilon_\theta(x_t,t)
\right)
]
5. 학습 목표: ELBO와 stepwise KL → noise MSE로 단순화
5.1 원 목표와 ELBO
목표:
[
\max_\theta \log p_\theta(x_0)
]
변분 하한(ELBO):
[
\log p_\theta(x_0)\ge \mathbb E_{q}\big[\log p_\theta(x_0,x_{1:T})-\log q(x_{1:T}\mid x_0)\big]
]
전개하면(핵심 항만):
[
\log p_\theta(x_0)
\ge
\mathbb E_q\Big[
-\mathrm{KL}(q(x_T\mid x_0)|p(x_T))
-\sum_{t=2}^T \mathrm{KL}(q(x_{t-1}\mid x_t,x_0)|p_\theta(x_{t-1}\mid x_t))
+\log p_\theta(x_0\mid x_1)
\Big]
]
이 중 학습의 중심은:
[
\boxed{\mathrm{KL}(q(x_{t-1}\mid x_t,x_0)\ |\ p_\theta(x_{t-1}\mid x_t))}
]
(q(\cdot)): forward로부터 계산되는 정답 posterior
(p_\theta(\cdot)): 모델이 근사해야 하는 reverse step
5.2 가우시안 KL의 형태
두 분포가 가우시안이고, 분산을 고정(예: (\sigma_t^2=\tilde\beta_t))하면:
[
\mathrm{KL}
\frac{1}{2\sigma_t^2}\left|\tilde\mu(x_t,x_0,t)-\mu_\theta(x_t,t)\right|^2 + \text{const}
]
즉 KL 최소화는 평균을 맞추는 문제로 축약됩니다.
5.3 평균을 (\varepsilon_\theta)로 파라미터화하면 noise MSE가 된다
(\mu_\theta)를 (\varepsilon_\theta)로 표현하는 파라미터화를 사용하고,
(x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\varepsilon)를 대입해 정리하면, (상수/가중치를 제외하고)
[
\boxed{
\mathbb E_{t,x_0,\varepsilon}\left[|\varepsilon-\varepsilon_\theta(x_t,t)|^2\right]
}
]
가 stepwise KL의 단순화된 학습 목적이 됩니다.
학습 알고리즘(실무 구현)
(x_0\sim p_{\text{data}})
(t\sim \mathrm{Unif}{1,\dots,T})
(\varepsilon\sim\mathcal N(0,I))
(x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\varepsilon)
loss (=|\varepsilon-\varepsilon_\theta(x_t,t)|^2)로 업데이트
6. 테스트(샘플링): (x_T\sim \mathcal N(0,I))에서 시작해 (x_0) 생성
6.1 시작
[
x_T\sim\mathcal N(0,I)
]
6.2 반복: (t=T,T-1,\dots,1)
노이즈 예측:
[
\varepsilon_\theta(x_t,t)
](선택적으로) (x_0) 추정:
[
\hat x_0(x_t,t)=\frac{1}{\sqrt{\bar\alpha_t}}\left(x_t-\sqrt{1-\bar\alpha_t}\varepsilon_\theta(x_t,t)\right)
]평균 계산:
[
\mu_\theta(x_t,t)
=
\frac{1}{\sqrt{\alpha_t}}
\left(
x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\varepsilon_\theta(x_t,t)
\right)
]샘플링:
[
x_{t-1} = \mu_\theta(x_t,t)+\sigma_t z,\quad z\sim\mathcal N(0,I)
]
(보통 (t=1)에서는 (z=0)로 두어 마지막은 결정적으로 만듭니다.)
7. 왜 (\hat x_0)를 바로 “최종 결과”로 쓰지 않나?
핵심은 다음입니다.
(\hat x_0(x_t,t))는 중간 단계의 점추정치입니다. 특히 (t)가 큰 구간에서는 (x_t)가 거의 노이즈라 (\hat x_0) 오차가 큽니다.
diffusion의 생성모델은 애초에
[
p_\theta(x_{0:T}) = p(x_T)\prod_{t=1}^T p_\theta(x_{t-1}\mid x_t)
]
처럼 stepwise 분포 이동을 정의합니다. 즉 “올바른 샘플”은 각 단계에서 (p_\theta(x_{t-1}\mid x_t))를 따라가며 얻는 (x_0)입니다.(p_\theta(x_{t-1}\mid x_t))에는 (\sigma_t^2)가 있어 **불확실성(랜덤성)**을 반영합니다. (\hat x_0)만 매번 확정값으로 쓰면 이 불확실성이 무시되어 분포를 제대로 따라가지 못할 수 있습니다. (단, DDIM처럼 (\sigma_t=0)을 선택해 결정론적으로 가는 변형도 존재합니다.)
8. 전체 흐름 한 줄 요약
Forward: (q)로 (x_0\to x_T) (마르코프 + 선형-가우시안)
학습: stepwise KL (\mathrm{KL}(q(x_{t-1}\mid x_t,x_0)|p_\theta(x_{t-1}\mid x_t)))을 ELBO로 최적화
파라미터화: (\mu_\theta)를 (\varepsilon_\theta)로 표현 → KL이 noise MSE로 단순화
샘플링: (x_T\sim\mathcal N(0,I))에서 시작해 (\varepsilon_\theta)로 (\mu_\theta)를 만들고 (x_{t-1})를 샘플링하며 (x_0) 생성
원하시면, 위 정리에서 “증명” 성격이 가장 강한 두 부분을 더 엄밀하게(계수까지 모두 전개해서) 써드릴 수 있습니다.
(q(x_t\mid x_0)=\mathcal N(\sqrt{\bar\alpha_t}x_0,(1-\bar\alpha_t)I)) 유도(완전 전개)
가우시안 KL을 평균 차이로 만들고, 그 평균 차이가 (|\varepsilon-\varepsilon_\theta|^2)로 바뀌는 대수 전개 (가중치 포함)
어느 쪽을 더 자세히 원하시는지 말씀하시면 그 부분을 중심으로 확장하겠습니다.
댓글
댓글 쓰기