byungju.log
로그인
byungju.log
로그인
SDS (Score Distillation Sampling) Loss
채병주
·
2024년 4월 13일
팔로우
0
Generative Model
Text to 3d
diffusion
dreamfusion
0
Terminology
목록 보기
1/1
Overview
Google Research에서 연구한
DreamFusion
(ICLR ‘23)에서 처음 제안됨
Text-to-3D Generation Model에서 사용하는 Diffusion Model 기반의 score Loss
2D Diffusion Model이 parametric image generator의 prior로 작동하는 Probability Density distillation에 기반한 Loss
DreamFusion의 architecture에서 오른쪽 부분과 관련된 Loss Function
Introduction
3D Data Synthesis를 위해서는 1. 학습을 위한 큰 규모의 labeled 3D data 2. 3D Denoising architecture가 필요하지만 둘 다 존재 X
기존 Diffusion Model : 학습 데이터와 같은 종류/차원(Pixel Space)에서 Sampling을 수행함
Goal : Create 3D Models that look like good images when rendered from random angles
3D Model로는 DIP(입력받은
θ
\theta
θ
를 이미지로 만들어주는 generator)를 사용
3D Model의 output
x
=
g
(
θ
)
x=g(\theta)
x
=
g
(
θ
)
이 diffusion model의 샘플처럼 보이도록 Diffusion Model의 구조를 이용하여 parameter
θ
\theta
θ
를 최적화함
Method
Data point
x
=
g
(
θ
)
x=g(\theta)
x
=
g
(
θ
)
에 대해 loss를 최소화하는 방법
-
θ
∗
=
a
r
g
m
i
n
θ
[
L
d
i
f
f
(
ϕ
,
x
=
g
(
θ
)
)
]
\theta^*=argmin_{\theta}\left[\mathcal{L}_{diff}(\phi,x=g(\theta))\right]
θ
∗
=
a
r
g
m
i
n
θ
[
L
d
i
f
f
(
ϕ
,
x
=
g
(
θ
)
)
]
(
L
d
i
f
f
\mathcal{L}_{diff}
L
d
i
f
f
: Diffusion Model의 Loss)
BUT, 실험 결과 realistic한 sample을 생성하지 못함
Gradient of
L
d
i
f
f
\mathcal{L}_{diff}
L
d
i
f
f
U-Net Jacobian Term은 계산 비용도 너무 크고 작은 noise 차이에 따라 좌우된다
→ 생략하는 것이 DIP를 최적화하는 데 효과적임
∇
θ
L
S
D
S
(
ϕ
,
x
=
g
(
θ
)
)
≜
E
t
,
ϵ
[
w
(
t
)
(
ϵ
^
ϕ
(
z
t
;
y
,
t
)
−
ϵ
)
∂
x
∂
θ
]
\nabla_\theta \mathcal{L}_{SDS}(\phi, x=g(\theta)) \triangleq \mathbb{E}_{t, \epsilon} \left[ w(t) (\hat{\epsilon}_\phi(z_t;y,t)-\epsilon)\frac{\partial x}{\partial\theta} \right]
∇
θ
L
S
D
S
(
ϕ
,
x
=
g
(
θ
)
)
≜
E
t
,
ϵ
[
w
(
t
)
(
ϵ
^
ϕ
(
z
t
;
y
,
t
)
−
ϵ
)
∂
θ
∂
x
]
x
x
x
: NeRF로 생성된 이미지 (입력 이미지 X)
g
(
θ
)
g(\theta)
g
(
θ
)
: NeRF parameter θ를 가진 differentiable generator
y
y
y
: Text Embedding 값 (Image-to-3D의 경우 입력 이미지를 넣으면 됨) → condition이라고 볼 수 있음
z
t
=
α
t
g
(
θ
)
+
σ
t
ϵ
z_t = \alpha_t g(\theta) + \sigma_t\epsilon
z
t
=
α
t
g
(
θ
)
+
σ
t
ϵ
Diffusion Model에서 학습된 score function을 이용한 weighted probability density distillation loss(
논문
)의 gradient라고 볼 수 있음 (Appendix A.4)
Code
논문에 나온 수도 코드에 대한 설명
References
github
DreamFusionAcc : Minimal PyTorch implementation of Dreamfusion [
Link
]
[개념 정리] SDS (Score Distillation Sampling) Loss : Text-to-3D Loss [
Link
]
Score Distillation Sampling [
Link
]
[Paper Review] DreamFusion 논문 리뷰 [
Link
]
[논문리뷰] DreamFusion: Text-to-3D using 2D Diffusion [
Link
]
PR-416: DreamFusion [
Link
]
[논문 리뷰] Dreamfusion : Text to 3D using 2d diffusion [
Link
]
Differentiable Image Parameterizations [
Link
]
[논문리뷰] Parallel WaveNet: Fast High-Fidelity Speech Synthesis (ICML18) [
Link
]
채병주
개발 외의 일들에 더 흥미를 가지는 개발자. Interested in Web, Generative AI, UI/UX.
팔로우
0개의 댓글
댓글 작성