점수(Score), ESM, ISM, DSM

1. 점수(Score)란 무엇인가?

확률분포 $p(x)$가 있을 때, 점수 함수는 입력 $x$에 대한 로그밀도의 기울기로 정의한다:

$$ s(x) := \nabla_x \log p(x). $$

점수 $s(x)$는 지점 $x$에서 확률밀도가 가장 가파르게 증가하는 방향과 그 크기를 나타낸다. 따라서 점수를 따라 이동하면 데이터가 존재할 확률이 높은 영역으로 향하게 된다.

에너지 기반 모델(EBM) $q_\theta(x)=\exp\{-f_\theta(x)\}/Z(\theta)$의 경우,

$$ \log q_\theta(x) = -f_\theta(x) - \log Z(\theta)\quad\Rightarrow\quad \nabla_x \log q_\theta(x) = -\,\nabla_x f_\theta(x), $$

즉 분배함수 $Z(\theta)$에 의존하지 않고 점수를 계산할 수 있다.

또한 미분 공식을 이용해 점수를 다음과 같이 표현할 수도 있습니다:

$$ s(x) = \nabla_x \log p(x) = \frac{\nabla_x p(x)}{p(x)} $$

이 식은 점수가 확률밀도 $p(x)$가 가장 빠르게 증가하는 방향 벡터 $\nabla_x p(x)$를 현재 위치의 확률밀도 $p(x)$로 나눈 값임을 보여줍니다. 이로 인해 확률이 낮은 영역에서는 점수의 크기가 커지는 경향이 있어, 확률이 낮은 영역에서도 효율적으로 높은 영역으로 이동할 수 있는 단서를 제공합니다.

2. 명시적 점수 매칭 (Explicit Score Matching, ESM)

점수 학습은 데이터의 실제 점수 $\nabla_x \log p(x)$를 모델 $s_\theta(x)$로 근사하는 것이다. 가장 직관적인 방법은 두 벡터 간의 L2 거리의 제곱을 최소화하는 것이다:

$$ J_{\mathrm{ESM}}(\theta) = \frac{1}{2}\,\mathbb{E}_{p(x)}\!\left[\left\|\nabla_x \log p(x) - s_\theta(x)\right\|^2\right]. $$

ESM의 한계

개념은 단순하지만 목적함수에 알 수 없는 실제 점수 $\nabla_x \log p(x)$가 포함된다. 우리는 샘플 데이터 $D=\{x^{(i)}\}_{i=1}^N$만 가지고 있으며, 근원적 분포 $p(x)$와 그 점수는 직접 계산할 수 없으므로 대부분의 실제 상황에서 ESM을 그대로 쓰기 어렵다.

3. 암묵적 점수 매칭 (Implicit Score Matching, ISM)

ESM의 한계를 극복하기 위해 실제 점수를 사용하지 않는 목적함수를 도입한다:

$$ J_{\mathrm{ISM}}(\theta) = \mathbb{E}_{p(x)}\!\left[\frac{1}{2}\,\|s_\theta(x)\|^2 + \operatorname{tr}\!\big(\nabla_x s_\theta(x)\big)\right], $$

여기서 발산(divergence)은

$$ \operatorname{tr}\!\big(\nabla_x s_\theta(x)\big) = \sum_{i=1}^d \frac{\partial\, s_\theta(x)_i}{\partial x_i} $$

로 정의한다.

ISM의 직관

모델 $s_\theta(x) = -\nabla_x f_\theta(x)$가 에너지 함수 $f_\theta(x)$의 음의 기울기라고 가정할 때, 목적함수의 두 번째 항인 트레이스는 에너지 함수의 2차 미분의 합(라플라시안, Laplacian)과 직접적으로 연결됩니다:

$$ \operatorname{tr}(\nabla_x s_\theta(x)) = \sum_{i=1}^d \frac{\partial (-\frac{\partial f_\theta(x)}{\partial x_i})}{\partial x_i} = -\sum_{i=1}^d \frac{\partial^2 f_\theta(x)}{\partial x_i^2} $$

따라서 $J_{\mathrm{ISM}}(\theta)$를 최소화하는 것은 훈련 데이터 위치에서 에너지 함수의 곡률(curvature)을 위로 볼록하게 만들어 확률의 극대점을 형성하려는 시도임을 수식으로 확인할 수 있습니다.

  • $\frac{1}{2}\|s_\theta(x)\|^2$ 항: 데이터 위치에서 점수의 크기를 줄여 정류점(기울기 0)을 유도한다.
  • $\operatorname{tr}(\nabla_x s_\theta(x))$ 항: $s_\theta=-\nabla_x f_\theta$일 때 에너지 $f_\theta$의 라플라시안과 연결된다. 이 항을 줄이면 데이터 근방에서 에너지 극솟값(곧 확률밀도의 극댓값)을 형성하도록 유도한다.

4. ISM과 ESM의 관계 증명

적절한 경계 소멸 및 적분가능성 가정 하에서 두 목적함수는 매개변수 $\theta$에 무관한 상수를 제외하고 동일하다:

$$ J_{\mathrm{ESM}}(\theta) = J_{\mathrm{ISM}}(\theta) + C,\qquad C\ \text{는 }\theta\text{와 무관한 상수}. $$

따라서 두 목적함수를 최소화하는 최적 $\theta^\star$는 동일하다. 이를 보이기 위해 ESM을 전개한다:

$$ \begin{aligned} J_{\mathrm{ESM}}(\theta) &= \frac{1}{2}\,\mathbb{E}_{p(x)}\!\left[\big\|\nabla_x \log p(x) - s_\theta(x)\big\|^2\right] \\ &= \frac{1}{2}\,\mathbb{E}_{p(x)}\!\left[\|\nabla_x \log p(x)\|^2\right] + \frac{1}{2}\,\mathbb{E}_{p(x)}\!\left[\|s_\theta(x)\|^2\right] - \mathbb{E}_{p(x)}\!\left[(\nabla_x \log p(x))^\top s_\theta(x)\right]. \end{aligned} $$

  • (1) $\frac{1}{2}\,\mathbb{E}_{p(x)}[\|\nabla_x \log p(x)\|^2]$는 $\theta$와 무관한 상수.
  • (2) $\frac{1}{2}\,\mathbb{E}_{p(x)}[\|s_\theta(x)\|^2]$는 $J_{\mathrm{ISM}}$의 첫 항과 동일.
  • (3) 교차항을 $J_{\mathrm{ISM}}$의 두 번째 항으로 바꾸면 된다.

증명에 필요한 가정

이 증명이 성립하기 위해서는 다음과 같은 가정들이 필요합니다:

  • 가정 1. $p(x)$는 미분 가능합니다.
  • 가정 2. $\mathbb{E}_{p(x)}[\|\nabla_x \log p(x)\|^2]$는 유한합니다.
  • 가정 3. 임의의 $\theta$에 대해 $\mathbb{E}_{p(x)}[\|s_\theta(x)\|^2]$는 유한합니다.
  • 가정 4. $\lim_{\|x\|\to\infty} [p(x)s_\theta(x)] = 0$ 입니다. 이 가정은 부분적분 시 경계항이 소거되기 위해 필요합니다.

교차항의 처리 (부분적분)

교차항을 적분으로 쓰면

$$ -\,\mathbb{E}_{p(x)}\!\left[(\nabla_x \log p(x))^\top s_\theta(x)\right] = -\int p(x)\,(\nabla_x \log p(x))^\top s_\theta(x)\,dx. $$

$\nabla_x \log p(x) = \nabla_x p(x)/p(x)$이므로

$$ -\int p(x)\,\frac{\nabla_x p(x)}{p(x)}{}^\top s_\theta(x)\,dx = -\int (\nabla_x p(x))^\top s_\theta(x)\,dx = -\sum_{i=1}^d \int \frac{\partial p(x)}{\partial x_i}\, s_\theta(x)_i\,dx. $$

1차원 부분적분 $\int f'(x)g(x)\,dx = [f(x)g(x)] - \int f(x)g'(x)\,dx$을 성분별로 적용하고, 경계항 $[p(x)\,s_\theta(x)_i]_{\|x\|\to\infty}=0$ 가정을 두면

$$ \int \frac{\partial p(x)}{\partial x_i}\, s_\theta(x)_i\,dx = -\int p(x)\,\frac{\partial s_\theta(x)_i}{\partial x_i}\,dx. $$

따라서

$$ \begin{aligned} -\int (\nabla_x p(x))^\top s_\theta(x)\,dx &= \sum_{i=1}^d \int p(x)\,\frac{\partial s_\theta(x)_i}{\partial x_i}\,dx \\ &= \int p(x)\,\sum_{i=1}^d \frac{\partial s_\theta(x)_i}{\partial x_i}\,dx \\ &= \int p(x)\,\operatorname{tr}\!\big(\nabla_x s_\theta(x)\big)\,dx = \mathbb{E}_{p(x)}\!\left[\operatorname{tr}\!\big(\nabla_x s_\theta(x)\big)\right]. \end{aligned} $$

즉 교차항이 $J_{\mathrm{ISM}}$의 두 번째 항과 정확히 일치하므로

$$ J_{\mathrm{ESM}}(\theta) = C + \frac{1}{2}\,\mathbb{E}_{p(x)}\!\left[\|s_\theta(x)\|^2\right] + \mathbb{E}_{p(x)}\!\left[\operatorname{tr}\!\big(\nabla_x s_\theta(x)\big)\right] = J_{\mathrm{ISM}}(\theta) + C. $$

5. ISM의 문제점과 DSM으로의 연결

  • 계산 비용: $\operatorname{tr}(\nabla_x s_\theta(x))$ 항의 계산량은 입력 차원 $d$에 대해 $O(d^2)$입니다. 각 성분 $s_\theta(x)_i$에 대해 기울기를 계산하려면 오차 역전파를 $d$번 수행해야 하기 때문입니다. 이미지를 포함한 고차원 데이터에서는 이 계산이 사실상 불가능합니다.
  • 과적합: 유한한 훈련 데이터로 ISM을 최적화하면, 모델은 각 훈련 데이터 위치에서 확률이 양의 무한대가 되는 델타 함수(delta function)의 혼합 분포를 최적 분포로 학습하려는 경향이 있습니다. 이는 심각한 과적합으로 이어져 일반화 성능을 저해합니다.

이러한 한계를 완화하기 위해 데이터에 노이즈를 주입해 학습하는 디노이징 점수 매칭(Denoising Score Matching, DSM)이 사용되며, 이는 확산 기반 생성모형의 핵심 아이디어로 이어진다.