본문 바로가기

논문 리뷰/Concept

Score Distillation Sampling

Score Distillation Sampling in DreamFusion


확산 모델(개념, 수식, 코드)의 목적 함수:

(Timestep t와 noise ε을 샘플링하여 이미지 x를 확산하고 U-Net을 통해 ε을 예측)

 

하지만 샘플링하고 싶은 것이 픽셀이 아니라면 어떨까? DreamFusion 논문에서는 3D 모델을 만들기 위해 SDS를 제안하였다.

 

Differentiable Image Parameterization(초반만)을 통해 x를 피라미터 θ와 미분 가능한 생성기 g의 출력으로 취급할 수 있다.

x = g(θ).

 

확산 모델이 아닌 θ에 대해 최적화를 수행하려고 한다.

 

LDiff의 gradient는 다음과 같고 (U-Net의 gradient * θ의 gradient)

 

U-Net의 gradient는 hessian matrix를 통한 연산으로 계산 비용이 많이 들기 때문에 생략하면 효과적인 gradient를 얻을 수 있다.

 

U-Net이 고정되어 있을 때, 직관적으로 g(θ)는 U-Net이 noise를 예측하기 쉬운 방향으로 최적화되게 된다.

즉, U-Net의 훈련 분포와 같아지는 것이다. x를 학습된 분포의 manifold로 민다.

 

확산 모델의 score function을 g(θ)에 증류하는 것과 같고, g(θ)의 출력 x는 z0과 같으므로 sampler라고 할 수 있다.

따라서 Score Distillation Sampling 이라고 한다.

 

'논문 리뷰 > Concept' 카테고리의 다른 글

Rotary Position Embedding (RoPE)  (0) 2024.03.04
Constitutional DPO  (0) 2024.02.05
Self-Conditioning  (1) 2023.12.17
R1 Gradient Penalty  (1) 2023.12.01