728x90

Score function은 log-likelihood의 gradient를 의미하고, score matching은 실제 probability density function을 구하는 것이 아닌, 이러한 score 값을 활용하여 probability density function을 추정하는 것을 의미한다. 이러한 score matching 기법은 최근 SDE를 활용하여 diffusion model을 모델링할 때에 널리 활용된다. 이번 글에서는 score function과 score matching이 무엇인지에 대해 알아보겠다.

Score function

Score function은 앞서 언급한 것처럼 log-likelihood의 gradient를 의미한다. 이를 식으로 표현하면 다음과 같다.

Score function의 정의

만약 우리가 probability density function p(x)를 다음과 같이 $\theta$로 parameterize된 energy-based model 형태로 정의한다고 하자.

복잡한 normalizing constant

이렇게 정의되었을 때, normalizing constant Z는 굉장히 복잡한 적분을 통해서 구해야 하기 때문에 계산이 쉽지 않다. 하지만 우리가 score function을 활용해서 log-likelihood를 계산한다고 하자. 그러면 log-likelihood에 대해서 미분을 취하기 때문에, 아래 식과 같이 input에 dependent하지 않은 normalizing constant 부분은 날아가게 되고, 계산이 좀 더 쉬워진다.

score function 덕분에 쉬워진 계산

Score matching

 Score matching은 이렇게 log-likelihood를 직접 estimate하는 대신에 좀 더 계산이 쉬운 score function을 estimate하는 방법을 의미한다. 대표적인 예시는 아래 식과 같이 true data distribution의 score function과 estimate한 score function 간의 Fisher divergence를 최소화하는 것이다.

Fischer divergence for score matching

하지만 우리는 true data distribution을 정확하게 알지 못하기 때문에 위 형태의 loss는 사용하는 것이 현실적으로 불가능하다. 그렇기 때문에 score matching을 할 때에는 부분적분을 활용하여 위 식을 다음과 같은 형태로 좀 더 쉽게 만들어준다. 이 식은 우리가 추정하는 score function에만 의존하기 때문에 위 Fischer divergence보다 좀 더 쉬운 계산이 가능하다.

Score matching의 objective

위 식의 증명은 다음과 같다 (생략 가능). 우선, Fischer divergence 식을 적분을 활용하여 전개해준다.

Fischer divergence의 전개

이 때, 전개한 식의 첫 번째 부분은 우리가 estimate하는 $\theta$에 dependent하지 않다. 그렇기 때문에 해당 부분은 생략하고, 뒤에 있는 두 개의 항에 집중하면 된다. 두 번째 항에 부분적분을 적용시키면 다음과 같은 식이 전개된다.

부분적분 적용

 이 때, 우리의 가정은 세 번째 줄의 첫 번째 항에서 p(x)가 x가 무한대로 갈수록 0으로 수렴한다는 것이다. 그러면 깔끔하게 Hessian만 남게 된다. 이 식을 위에 있는 적분을 활용하여 전개한 식에 넣으면 다음과 같은 결과가 나온다.

최종 결과

 이렇게 estimate하는 score function에만 dependent한 loss function을 만들었고, 이 식이 score matching의 최종 objective가 된다. 이러한 score matching은 다양한 diffusion model들의 objective로 활용되고 있다.

 

이번 글에서는 score function과 score matching이 무엇인지에 대해 알아보았다. 이제 score-based diffusion model을 공부할 기본적인 준비는 끝났으니, 다음 글부터는 본격적으로 이들에 대해 다루어 보겠다.

 

References

https://yang-song.net/blog/2019/ssm/

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기