본문 바로가기

학술

[질문/답] DDPM에서 pθ(xt−1∣xt)를 학습할 때는 q(xt−1​∣x0​)에 일치 시키면 안되는가? **결론부터 말씀드리면**, \(\\\) DDPM에서 \(\displaystyle p_\theta(x_{t-1}\mid x_t)\)를 학습할 때는 **\(\displaystyle q(x_{t-1}\mid x_t, x_0)\)**와 일치시키는 것이 맞고, \(\displaystyle q(x_{t-1}\mid x_0)\)와 직접 일치시키는 것은 올바른 방식이 아닙니다.아래에 그 이유를 좀 더 구체적으로 정리해 드리겠습니다.\(\\\) 1. Forward Process와 Posterior의 정의 \(\\\)DDPM(또는 일반적인 마코프 체인 기반 확산 모델)에서 **Forward Process**는 \[q(x_1, x_2, \dots, x_T \mid x_0) = \prod_{t=1}^T q(x.. 더보기
DDPM에서 원본 데이터 복원 신경망에서 x_0를 예측 하는 이유 우선 DDPM의 “학습(Training)”과 “샘플링/생성(Sampling)” 과정을 구분해서 생각해보면 이해가 좀 더 수월합니다. \(\\\) 1. 학습(Training) 단계에서의 모델 동작 \(\\\) 학습 단계에서는 다음 과정을 거쳐 모델을 훈련합니다. \(\\\) 1. **(Forward 과정) \( x_0 \)에서 \( x_t \) 만들기** \[ x_t = \sqrt{\bar{\alpha}_t} \, x_0 + \sqrt{1-\bar{\alpha}_t} \, \epsilon, \quad \epsilon \sim \mathcal{N}(0,I). \] - 이 때 \( x_0 \)는 우리가 알고 있는 **실제 데이터(ground truth)** 입니다. \(\\\) - \(\bar{\alph.. 더보기
DDPM에서 노이즈 예측 신경망 평균 공식 유도 다음은 DDPM에서 역확산 단계의 평균 \(\mu_q(x_t,x_0)\)가\[\mu_q(x_t,x_0)=\frac{1}{\sqrt{\alpha_t}}\left(x_t-\frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon\right)\]로 계산되는 과정을 단계별로 유도하는 방법입니다.\(\\\) 1. Forward Process에서 \(x_t\) 표현 \(\\\)DDPM의 forward process에서는 \[x_t = \sqrt{\bar{\alpha}_t}\,x_0 + \sqrt{1-\bar{\alpha}_t}\,\epsilon,\quad \epsilon\sim\mathcal{N}(0,I),\]로 정의됩니다. 여기서 \[\bar{\alpha}_t=\prod_{.. 더보기
KL 발산 계산하기 두 개의 다변량 정규분포 \(\mathcal{N}(\mu_1, \Sigma)\)와 \(\mathcal{N}(\mu_2, \Sigma)\) 간의 KL 발산은 다음과 같은 간단한 형태를 갖습니다: \[ D_{\mathrm{KL}}\bigl(\mathcal{N}(\mu_1, \Sigma) \,\big\|\, \mathcal{N}(\mu_2, \Sigma)\bigr) \;=\; \frac12\,(\mu_2 - \mu_1)^\top \Sigma^{-1} (\mu_2 - \mu_1). \] 즉, 공분산 \(\Sigma\)가 동일할 때(특히 \(\Sigma_1 = \Sigma_2 = \Sigma\)) KL 발산에서 “두 평균 벡터 간의 거리”만 남고, 아래와 같이 간단히 표현됩니다. \(\\\) 유도 개요 \(\.. 더보기
트위디 공식(Tweedies' Formula) 주어진 식의 증명은 조건부 기대값의 정의와 베이즈 추론, 로그 우도의 그라디언트를 계산하는 과정을 통해 이루어집니다. 여기서 \( \mathbb{E}[\mu | x] = x + \sigma^2 \nabla_x \log p(x) \) 또는 \( \mathbb{E}[\mu | x] = x + \sum \nabla_x \log p(x) \)의 형태는 관측값 \( x \)에 대한 사후 확률 \( p(\mu | x) \)를 활용합니다.조건부 기대값 정의조건부 기대값은 다음과 같이 정의됩니다: \[ \mathbb{E}[\mu | x] = \int \mu \, p(\mu | x) \, d\mu \] 베이즈 정리를 통해 \( p(\mu | x) \)는 다음과 같이 표현됩니다: \[ p(\mu | x) = \frac{p.. 더보기
윈도우에서 tensorrt 설치 하기 및 python 확인 처음 tensorRT를 윈도우에서 설치하려면 어디서 부터 시작 해야 할지 조금 당황스럽다. 인터넷을 찾아 보면 아래와 같이 설치한다고 되어 있지만, pip install nvidia-pyindex pip install nvidia-tensorrt 실제로 해보면 두번째 줄에서 에러가 발생한다. 윈도우는 내길이 아닌가 하는 생각이 들지만 계속 구글링을 해본다. 1. tensorRT 홈페이지에 들어가 환경에 맞는 zip 파일을 다운로드 받는다. https://developer.nvidia.com/nvidia-tensorrt-download 윈도우 버전이고 CUDA 11.2가 설치 되어 있으므로 TensorRT 8.4를 선택했다. 파일을 다운 받아 D: 최상위에 풀면 아래와 같이 된다. D:\TENSORRT-8.. 더보기
Bayes Discriminants and Neural Networks Pattern Classification Duda 책에 나온 Bayes룰과 Neural Networks의 관계에 대하여 증명하는 내용이 다소 불친절하여 좀 더 정리하고자 한다.Neural Networks에서의 \( k\)번째 출력을 \( g_k (x;w_k)\) 라고 한다. 카테고리가 \(w_k)\) 일때 이에 해당하는 discriminant function이 된다.Bayes 룰은 아래와 같다.$$ P(w_k | x) = \cfrac{p(x | w_k)P(w_k)}{\sum_{i=1}^c p(x|w_i)p(w_i)} = \cfrac{p(x,w)}{p(x)}$$어떤 패턴 \( x\) 에 대한 Bayes decision : \( g_k(x) =P(w_k|x) \)를 갖는 가장 큰 카테고리 \(w_k \)를 .. 더보기
Sufficient Statistics and the Exponential Family Factorization Theorem 이 어떻게 sufficient statistics를 구하는데 사용되는지 알기 위하여 \(d\) 차원 normal case, 고정 covariance인 경우를 생각해 본다. 평균을 알려져 있지 않고, \( p(x|\theta) \;\sim \; N(\theta,\Sigma) \) 여기서 우리는 $$ \begin{split} p(\mathcal{D}|\theta) &= \prod_{k=1}^n \cfrac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} exp[-\cfrac{1}{2}(x_k-\theta)\Sigma ^{-1}(x_k -\theta)] \\&= \cfrac{1}{(2\pi)^{nd/2}|\Sigma|^{n/2}} exp[-\cfrac{1}{2}\.. 더보기