Search
Duplicate

AI/ Paper/ Consistency Model/ Appendix

A Proofs

A.1 Notations

fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t)θ\boldsymbol{\theta}에 의해 파라미터화 된 consistency 모델이라 표기하고 f(x,t;ϕ)f(\bold{x},t;\boldsymbol{\phi})를 방정식 3의 경험적 PF ODE의 consistency 함수라고 표기한다. 여기서 ϕ\boldsymbol{\phi}는 pre-trained score 모델 sϕ(x,t)s_{\boldsymbol{\phi}}(\bold{x},t)에 대한 의존성을 상징한다. 방정식 2에서 PF ODE의 consistency 함수에 대해 f(x,t)f(\bold{x},t)로 표기한다. multi-variate 함수 h(x,y)h(\bold{x}, \bold{y})가 주어지면 1h(x,y)\partial_1h(\bold{x}, \bold{y})x\bold{x}에 대한 hh의 야코비안으로 표기하고 유사하게 2h(x,y)\partial_2h(\bold{x}, \bold{y})y\bold{y}에 대한 hh의 야코비안이라 표기한다. 별다른 언급이 없는 한 x\bold{x}는 데이터 분포 pdata(x)p_\text{data}(\bold{x})에서 샘플된 확률 변수이고, nn1,N1\llbracket1, N-1\rrbracket에서 랜덤으로 균등하게 샘플되고, xtn\bold{x}_{t_n}N(x;tn2I)\mathcal{N}(\bold{x};t_n^2\bold{I})에서 샘플된다. 여기서 1,N1\llbracket1, N-1\rrbracket는 정수 집합 {1,2,...,N1}\{1, 2, ..., N-1\}을 나타낸다. 또한 다음을 정의한 것을 떠올려라.
x^tnϕ:=xtn+1+(tntn+1)Φ(xtn+1,tn+1;ϕ)\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} := \bold{x}_{t_{n+1}} + (t_n - t_{n+1})\Phi(\bold{x}_{t_{n+1}},t_{n+1};\boldsymbol{\phi})
이것이 역방향에 대한 식임에 유의 xtn+1\bold{x}_{t_{n+1}}을 이용해서 xtn\bold{x}_{t_{n}}를 예측한다. 예측값이기 때문에 x^tnϕ\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}라 표기하는 것. tn<tn+1t_n < t_{n+1}이므로 (tntn+1)Φ(xtn+1,tn+1;ϕ)(t_n - t_{n+1})\Phi(\bold{x}_{t_{n+1}},t_{n+1};\boldsymbol{\phi})는 음수가 된다.
여기서 Φ(...;ϕ)\Phi(...; \boldsymbol{\phi})는 score 모델 sϕ(x,t)s_{\boldsymbol{\phi}}(\bold{x},t)에 의해 정의된 경험적 PF ODE에 대한 one-step ODE solver의 업데이트 함수를 표기한다. 기본적으로 E[]\mathbb{E}[\cdot]는 해당식에 표현된 모든 관련 확률 변수에 대한 기대를 표기한다.

A.2 Consistency Distillation

Theorem 1.
방정식 3의 경험적 PF ODE의 consistency 함수를 Δt:=maxn1,N1{tn+1tn}\Delta t := \max_{n \in \llbracket 1, N-1 \rrbracket} \{|t_{n+1} - t_n|\}f(,;ϕ)f(\cdot, \cdot;\boldsymbol{\phi}) 라고 하자. fθf_{\boldsymbol{\theta}}가 Lipschitz condition을 만족한다고 가정하면, 모든 t[ϵ,T] t \in [\epsilon, T]x\bold{x}y\bold{y}에 대해 fθ(x,t)fθ(y,t)2Lxy2\|f_{\boldsymbol{\theta}}(\bold{x},t) - f_{\boldsymbol{\theta}}(\bold{y},t)\|_2 \leqslant L\|\bold{x}-\bold{y}\|_2를 만족하는 L>0L > 0이 존재한다. 또한 모든 n1,N1n \in \llbracket1, N-1\rrbracket에 대해 tn+1t_{n+1}에서 호출된 ODE solver의 local error가 p1p \geqslant 1일 때 O((tn+1tn)p+1)O((t_{n+1} - t_n)^{p+1})로 uniformly bounded라고 가정하자. 그러면 LCDN(θ,θ;ϕ)=0\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = 0이면 다음이 성립한다.
supn,xfθ(x,tn)f(x,tn;ϕ)2=O((Δt)p)\sup_{n,\bold{x}}\|f_{\boldsymbol{\theta}}(\bold{x},t_n) - f(\bold{x},t_n;\boldsymbol{\phi})\|_2 = O((\Delta t)^p)
여기서 O((tn+1tn)p+1)O((t_{n+1} - t_n)^{p+1})는 ODE solver의 local error를 의미한다. O((tn+1tn)p+1)O((t_{n+1} - t_n)^{p+1})는 local error가 (p+1)(p+1)제곱에 비례한다는 의미. Δt=tn+1tn\Delta t = t_{n+1} - t_n이 일반적으로 매우 작은 값이기 때문에 pp가 커질 수록 값은 빠르게 작아진다. 여기서 pp는 사용자가 선택한 ODE solver의 차수에 의해 결정되며 Euler 방법을 사용하면 p=1p=1이고, Runge-Kutta 방법에서는 p=4p=4가 됨.
위 식은 consistency 모델의 예측값 fθ(x,tn)f_{\boldsymbol{\theta}}(\bold{x},t_n)이 diffusion 모델의 예측값 f(x,tn;ϕ)f(\bold{x},t_n;\boldsymbol{\phi})에 가까워지도록 학습된다는 것을 의미하며, 시간 tnt_n에서 두 모델의 예측 값 사이의 최대 차이가 O((Δt)p)O((\Delta t)^p)의 비율로 감소한다는 뜻이다.
증명.
LCDN(θ,θ;ϕ)=0\mathcal{L}_\text{CD}^N(\boldsymbol{\theta}, \boldsymbol{\theta};\boldsymbol{\phi}) = 0에서 다음이 성립한다.
LCDN(θ,θ;ϕ)=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))]=0(11)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = \mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n))] = 0 \tag{11}
fθ(xtn+1,tn+1)f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})은 consistency 모델의 예측 값이고, fθ(x^tnϕ,tn))f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n))는 diffusion 모델의 예측값이다. 다시 말해 위 식은 tn+1t_{n+1} 시점의 consistency 모델의 예측 값이 tnt_n 시점의 diffusion 모델의 예측값과 일치해야 한다는 의미다.
정의에 따라 ptn(xtn)=pdata(x)N(0,tn2I)p_{t_n}(\bold{x}_{t_n}) = p_\text{data}(\bold{x}) \otimes \mathcal{N}(\bold{0}, t_n^2 \bold{I})가 성립한다. 여기서 tnϵ>0t_n \geqslant \epsilon > 0. 각 xtn\bold{x}_{t_n}에 대해 ptn(xtn)>0p_{t_n}(\bold{x}_{t_n}) > 0이고 1nN1 \leqslant n \leqslant N이다. 그러므로 방정식 11은 다음을 수반한다.
λ(tn)d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))0(12)\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \equiv 0 \tag{12}
λ()>0\lambda(\cdot) > 0이고 d(x,y)=0x=yd(\bold{x},\bold{y}) = 0 \Leftrightarrow \bold{x} = \bold{y}이므로 추가로 다음을 암시한다.
fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)(13)f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \equiv f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) \tag{13}
이제 en\bold{e}_ntnt_n에서 다음처럼 정의되는 에러 벡터를 나타낸다고 하자.
en:=fθ(xtn,tn)f(xtn,tn;ϕ)\bold{e}_n := f_{\boldsymbol{\theta}}(\bold{x}_{t_n}, t_n) - f(\bold{x}_{t_n}, t_n;\boldsymbol{\phi})
다음의 재귀적 관계를 쉽게 유도할 수 있다.
두 번째 줄에서 세번 째 줄로 넘어가는 것은 f(xtn,tn;ϕ)=fθ(xtn,tn)enf(\bold{x}_{t_n}, t_n;\boldsymbol{\phi}) = f_{\boldsymbol{\theta}}(\bold{x}_{t_n}, t_n) - \bold{e}_n 를 이용하면 된다.
en+1=fθ(xtn+1,tn+1)f(xtn+1,tn+1;ϕ)=(i)fθ(x^tnϕ,tn)f(xtn,tn;ϕ)=fθ(x^tnϕ,tn)fθ(xtn,tn)+fθ(xtn,tn)f(xtn,tn;ϕ)=fθ(x^tnϕ,tn)fθ(xtn,tn)+en(14)\begin{aligned} \bold{e}_{n+1} &= f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) - f(\bold{x}_{t_{n+1}}, t_{n+1};\boldsymbol{\phi}) \\ &\overset{(i)}{=} f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n) - f(\bold{x}_{t_n},t_n;\boldsymbol{\phi}) \\ &= f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_n}, t_n) + f_{\boldsymbol{\theta}}(\bold{x}_{t_n},t_n) - f(\bold{x}_{t_n},t_n;\boldsymbol{\phi}) \\ &= f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_n},t_n) + \bold{e}_n \end{aligned} \tag{14}
여기서 (i)(i)는 방정식 13과 f(xtn+1,tn+1;ϕ)=f(xtn,tn;ϕ)f(\bold{x}_{t_{n+1}}, t_{n+1}; \boldsymbol{\phi}) = f(\bold{x}_{t_n}, t_n;\boldsymbol{\phi}) 때문이다. fθ(,tn)f_{\boldsymbol{\theta}}(\cdot, t_n)이 Lipschitz 상수 LL을 갖기 때문에 다음이 성립한다.
en+12en2+Lx^tnϕxtn2=(i)en2+LO((tn+1tn)p+1)=en2+O((tn+1tn)p+1)\begin{aligned} \|\bold{e}_{n+1}\|_2 & \leqslant \|\bold{e}_n\|_2 + L\|\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} - \bold{x}_{t_n}\|_2 \\ &\overset{(i)}{=} \|\bold{e}_n\|_2 + L \cdot O((t_{n+1}-t_n)^{p+1}) \\ &= \|\bold{e}_n\|_2 + O((t_{n+1}-t_n)^{p+1}) \end{aligned}
첫 번재 줄은 en+1=fθ(x^tnϕ,tn)fθ(xtn,tn)+en\bold{e}_{n+1} = f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_n},t_n) + \bold{e}_n 에서 유도된 결과이다. 아래 참조. 마지막에 상수 LL이 사라진 것은 OO 표기법의 특성 때문이다. 빅오 표기법에 포함된 상수는 생략가능하다.
en+12=fθ(x^tnϕ,tn)fθ(xtn,tn)+en2=fθ(x^tnϕ,tn)fθ(xtn,tn)2+en2Lx^tnϕxtn2+en2\begin{aligned} \|\bold{e}_{n+1}\|_2 &= \|f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_n},t_n) + \bold{e}_n\|_2 \\ &= \|f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_n},t_n)\|_2 + \|\bold{e}_n\|_2 \\ &\le L\| \hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}- \bold{x}_{t_n}\|_2 + \|\bold{e}_n\|_2 \end{aligned}
여기서 (i)(i)는 ODE solver가 O((tn+1tn)p+1)O((t_{n+1}-t_n)^{p+1})에 의해 local error bounded이기 때문에 성립한다. 또한 e1=0\bold{e}_1 = \bold{0}을 관찰할 수 있다. 왜냐하면
e1=fθ(xt1,t1)f(xt1,t1;ϕ)=(i)xt1f(xt1,t1;ϕ)=(ii)xt1xt1=0\begin{aligned} \bold{e}_1 &= f_{\boldsymbol{\theta}}(\bold{x}_{t_1},t_1) - f(\bold{x}_{t_1}, t_1;\boldsymbol{\phi}) \\ &\overset{(i)}{=} \bold{x}_{t_1} - f(\bold{x}_{t_1}, t_1;\boldsymbol{\phi}) \\ &\overset{(ii)}{=} \bold{x}_{t_1} - \bold{x}_{t_1} \\ &= \bold{0} \end{aligned}
여기서 (i)(i)는 consistency 모델이 f(xt1,t1;ϕ)=xt1f(\bold{x}_{t_1}, t_1;\boldsymbol{\phi}) = \bold{x}_{t_1}와 같이 파라미터화 되고 (ii)(ii)f(,;ϕ)f(\cdot, \cdot;\boldsymbol{\phi})의 정의에 의해 수반되므로 참이다.
이것은 초기 조건에서 consistency model과 diffusion model이 일치하도록 설정되었기 때문에 성립하는 것으로 같은 논리를 확장해서 en=0\bold{e}_n = \bold{0}이 되지는 않는다.
이를 통해 재귀 공식 방정식 14에 대한 유도를 수행하여 다음을 얻을 수 있다.
en2e12+k=1n1O((tk+1tk)p+1)=k=1n1O((tk+1tk)p+1)=k=1n1(tk+1tk)O((tk+1tk)p)k=1n1(tk+1tk)O((Δt)p)=O((Δt)p)k=1n1(tk+1tk)=O((Δt)p)(tnt1)O((Δt)p)(Tϵ)=O((Δt)p)\begin{aligned} \|\bold{e}_n\|_2 &\leqslant \|\bold{e}_1\|_2 + \sum_{k=1}^{n-1} O((t_{k+1}-t_k)^{p+1}) \\ &= \sum_{k=1}^{n-1}O((t_{k+1}-t_k)^{p+1}) \\ &=\sum_{k=1}^{n-1}(t_{k+1}-t_k)O((t_{k+1}-t_k)^p) \\ &\leqslant \sum_{k=1}^{n-1}(t_{k+1}-t_k)O((\Delta t)^p) \\ &= O((\Delta t)^p) \sum_{k=1}^{n-1} (t_{k+1} - t_k) \\ &= O((\Delta t)^p)(t_n-t_1) \\ & \leqslant O((\Delta t)^p)(T-\epsilon) \\ &= O((\Delta t)^p) \end{aligned}
이것으로 증명은 완료 되었다.
위 식에서 첫 번째 줄은 en+12en2+O((tn+1tn)p+1)\|\bold{e}_{n+1}\|_2 \leqslant \|\bold{e}_n\|_2 + O((t_{n+1}-t_n)^{p+1})을 이용해서 재귀적으로 구성한 식이다. 첫 번째에서 두 번째로 넘어갈 때는 e1=0\bold{e}_1 = \bold{0}을 따름. 세 번째에서 네 번째로 넘어갈 때는 정의에 있는 Δt:=maxn1,N1{tn+1tn}\Delta t := \max_{n \in \llbracket 1, N-1 \rrbracket} \{|t_{n+1} - t_n|\}를 따름. 마지막 줄에서 TϵT - \epsilon이 사라지는 것은 빅오의 표기법상 상수를 생략할 수 있기 때문

A.3 Consistency Training

다음 lemma는 score 함수에 대한 비편향 추정량을 제공한다. 이것은 Theorem 2에 대한 증명의 핵심이다.
Lemma 1.
xpdata(x),xtN(x;t2I),pt(xt)=pdata(x)N(0,t2I)\bold{x} \sim p_\text{data}(\bold{x}), \bold{x}_t \sim \mathcal{N}(\bold{x};t^2\bold{I}), p_t(\bold{x}_t) = p_\text{data}(\bold{x}) \otimes \mathcal{N}(\bold{0}, t^2\bold{I})라 하자. logpt(x)=E[xtxt2xt]\nabla \log p_t(\bold{x}) = -\mathbb{E}[{\bold{x}_t - \bold{x} \over t^2}|\bold{x}_t]가 성립한다.
증명.
pt(xt)p_t(\bold{x}_t)의 정의에 따라 logpt(xt)=xtlogpdata(x)p(xtx)dx\nabla \log p_t(\bold{x}_t) = \nabla_{\bold{x}_t}\log \int p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x})d\bold{x}가 성립한다. (pdata(x)p(xtx)=pdata(x)p(xtx)dxp_\text{data}(\bold{x}) \otimes p(\bold{x}_t|\bold{x}) = \int p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x})d\bold{x}는 convolution의 정의에 따른 것이다.)
여기서 p(xtx)=N(xt;x,t2I)p(\bold{x}_t|\bold{x}) = \mathcal{N}(\bold{x}_t;\bold{x}, t^2\bold{I}). 이 표현식은 더 단순화 되어 산출될 수 있다.
logpt(xt)=pdata(x)xtp(xtx)dxpdata(x)p(xtx)dx=pdata(x)p(xtx)xtlogp(xtx)dxpdata(x)p(xtx)dx=pdata(x)p(xtx)xtlogp(xtx)dxpt(xt)=pdata(x)p(xtx)pt(xt)xtlogp(xtx)dx=(i)p(xxt)xtlogp(xtx)dx=E[xtlogp(xtx)xt]=E[xtxt2xt]\begin{aligned} \nabla \log p_t(\bold{x}_t) &= {\int p_\text{data}(\bold{x})\nabla_{\bold{x}_t}p(\bold{x}_t|\bold{x})d\bold{x} \over \int p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x})d\bold{x}} \\ &= {\int p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x})\nabla_{\bold{x}_t} \log p(\bold{x}_t|\bold{x}) d\bold{x} \over \int p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x})d\bold{x}} \\ &= {\int p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x})\nabla_{\bold{x}_t} \log p(\bold{x}_t|\bold{x})d\bold{x} \over p_t(\bold{x}_t)} \\ &= \int{p_\text{data}(\bold{x})p(\bold{x}_t|\bold{x}) \over p_t(\bold{x}_t)}\nabla_{\bold{x}_t} \log p(\bold{x}_t|\bold{x} )d\bold{x} \\ &\overset{(i)}{=} \int p(\bold{x}|\bold{x}_t)\nabla_{\bold{x}_t} \log p(\bold{x}_t|\bold{x}) d\bold{x} \\ &= \mathbb{E}[\nabla_{\bold{x}_t} \log p(\bold{x}_t|\bold{x})|\bold{x}_t] \\ &= -\mathbb{E}\Big[ {\bold{x}_t - \bold{x} \over t^2}|\bold{x}_t \Big] \end{aligned}
(i)(i)은 베이지안 룰 때문이다.
첫 번째 줄은 log 미분과 chain rule을 사용하여 (logf(x))=f(x)f(x)\nabla (\log f(x)) = {\nabla f(x) \over f(x)} 의해 유도된다. 그 후에 xt\nabla_{\bold{x}_t}를 적분 안으로 밀어 넣는다. 두 번째 줄에서는 (logf(x))=f(x)f(x)\nabla (\log f(x)) = {\nabla f(x) \over f(x)}를 다시 변형해서 f(x)(logf(x))=f(x)f(x) \cdot \nabla (\log f(x)) = \nabla f(x) 형태로 만들어서 유도한다. 마지막 2번째 줄은 확률 함수의 조건부 기대값 E[p(y)z]=p(y)p(xz)dx\mathbb{E}[p(y)|z] = \int p(y)p(x|z)dx에서 유도된다. 마지막 줄은 p(xtx)p(\bold{x}_t|\bold{x})가 가우시안 분포 N(xt;x,t2I)\mathcal{N}(\bold{x}_t;\bold{x},t^2\bold{I})를 따르고 그에 대한 log\nabla \log 결과가 xtxt2{\bold{x}_t - \bold{x} \over t^2}로 주어진된다는 것에서 유도된다.
Theorem 2.
Δt:=maxn1,N1{tn+1tn}\Delta t := \max_{n \in \llbracket 1, N-1 \rrbracket} \{|t_{n+1} - t_n|\}라 하자. ddfθf_{\boldsymbol{\theta}^-}가 모두 2번 연속 미분가능하고 bounded 2차 도함수를 가지며, 가중치 함수 λ()\lambda(\cdot)가 bounded이고 E[logptn(xtn)22]<\mathbb{E}[\|\nabla \log p_{t_n}(\bold{x}_{t_n})\|_2^2] < \infty이다. 또한 Euler ODE solver를 사용하고 pre-trained score 모델이 ground truth와 일치한다고 가정하자. 즉 t[ϵ,T]:sϕ(x,t)logpt(x)\forall t \in [\epsilon, T] : s_{\boldsymbol{\phi}}(\bold{x},t) \equiv \nabla \log p_t(\bold{x}). 그러면
LCDN(θ,θ;ϕ)=LCTN(θ,θ)+o(Δt)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = \mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) + o(\Delta t)
여기서 기대는 xpdata\bold{x} \sim p_\text{data}에 관해 취해지고 nU1,N1n \sim \mathcal{U}\llbracket1, N-1\rrbracket이고 xtn+1N(x;tn+12I)\bold{x}_{t_{n+1}} \sim \mathcal{N}(\bold{x};t_{n+1}^2\bold{I})이다. LCTN(θ,θ)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-)라 표기되는 consistency training(CT) 목적은 다음과 같이 정의된다.
E[λ(tn)d(fθ(x+tn+1z,tn+1),fθ(x+tnz,tn))]\mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x} + t_n\bold{z}, t_n))]
여기서 zN(0,I)\bold{z} \sim \mathcal{N}(\bold{0}, \bold{I})이다. 또한 infNLCDN(θ,θ;ϕ)>0\inf_N \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) > 0이면 LCTN(θ,θ)O(Δt)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \geqslant O(\Delta t)이다.
위 식에서 fθf_{\boldsymbol{\theta}^-}nn에서의 결과인데, 이 결과는 n1n-1에 영향 받고, n1n-1n2n-2에 영향 받고,…를 반복해서 결국 11에서부터 nn까지의 결과가 재귀적으로 합산된 값이다. 결과적으로 CT에서 n+1n+1은 그 결과와 일치하도록 학습된다.
증명.
테일러 전개를 사용하여 다음이 성립한다.
LCDN(θ,θ;ϕ)=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn)]=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1+(tn+1tn)tn+1logptn+1(xtn+1),tn))]=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1)+1fθ(xtn+1,tn+1)(tn+1tn)tn+1logptn+1(xtn+1)+2fθ(xtn+1,tn+1)(tntn+1)+o(tn+1tn))]=E{λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))+λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[1fθ(xtn+1,tn+1)(tn+1tn)tn+1logptn+1(xtn+1)+2fθ(xtn+1,tn+1)(tntn+1)+o(tn+1tn)]}=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))]+E{λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[1fθ(xtn+1,tn+1)(tn+1tn)tn+1logptn+1(xtn+1)]}+E{λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[2fθ(xtn+1,tn+1)(tntn+1)]}+E[o(tn+1tn)](15)\begin{aligned} &\mathcal{L}_\text{CD}^N (\boldsymbol{\theta}, \boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ & = \mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n)] \\ &= \mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}} + (t_{n+1} - t_n)t_{n+1} \nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}}), t_n))] \\ &= \mathbb{E}\Big[\lambda(t_n)d\Big(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \\ & \quad\quad\quad\quad\quad\quad + \partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_{n+1} - t_n)t_{n+1}\nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}}) \\ & \quad\quad\quad\quad\quad\quad + \partial_2 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n - t_{n+1}) + o(|t_{n+1}-t_n|)\Big)\Big] \\ &= \mathbb{E}\Big\{\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1})) \\ &\quad\quad\quad + \lambda(t_n)\partial_2d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad \cdot \Big[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_{n+1}-t_n)t_{n+1}\nabla \log p_{t_{n+1}} (\bold{x}_{t_{n+1}})\\ & \quad\quad\quad\quad + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n-t_{n+1}) + o(|t_{n+1}-t_n|)\Big]\Big\} \\ &= \mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}, t_{n+1}}))] \\ & \quad + \mathbb{E}\Big\{\lambda (t_n) \partial_2 d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1})) \\& \quad\quad\quad\quad\cdot[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1})(t_{n+1} - t_n)t_{n+1}\nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}})] \Big\} \\ & \quad + \mathbb{E}\{\lambda(t_n)\partial_2 d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1}))[\partial_2f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n - t_{n+1})]\} \\ & \quad + \mathbb{E}[o(|t_{n+1} - t_n|)] \end{aligned} \tag{15}
3번째 줄은 x^tnϕ:=xtn+1+(tntn+1)Φ(xtn+1,tn+1;ϕ)\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} := \bold{x}_{t_{n+1}} + (t_n - t_{n+1})\Phi(\bold{x}_{t_{n+1}},t_{n+1};\boldsymbol{\phi})를 따른다. 여기서 Φ(xtn+1,tn+1;ϕ)=tn+1logptn+1(xt+1)\Phi(\bold{x}_{t_{n+1}},t_{n+1};\boldsymbol{\phi}) = -t_{n+1} \nabla \log p_{t_{n+1}}(\bold{x}_{t+1})이며, 이것은 score 모델 xlogpt(xt)\nabla_\bold{x} \log p_t(\bold{x}_t)의 역확산 단계 txlogpt(xt)-t\nabla_\bold{x} \log p_t(\bold{x}_t)를 의미한다. 참고로 역확산에 대한 score 함수는 일반적으로 다음처럼 정의 됨. xtΔtxtΔttxlogpt(xt)\bold{x}_{t-\Delta t} \approx \bold{x}_t - \Delta t\cdot t\nabla_\bold{x} \log p_t(\bold{x}_t)
함수 f(x)f(\bold{x})에 대해 x\bold{x}에서의 테일러 전개는 다음과 같이 주어진다.
f(x+Δx)=f(x)+f(x)Δx+12ΔxHf(x)Δx+o(Δx2)f(\bold{x} + \Delta \bold{x}) = f(\bold{x}) + \nabla f(\bold{x})\cdot \Delta \bold{x} +{1\over2}\Delta\bold{x}^\top\bold{H}f(\bold{x})\Delta \bold{x} + o(\|\Delta\bold{x}\|^2)
여기서 H\bold{H}f(x)f(\bold{x})의 헤시안이고, o(Δx2)o(\|\Delta\bold{x}\|^2)는 2차 이상의 항을 나타낸다. 이 값은 매우 빠르게 0으로 수렴하므로 아예 없애고 아래처럼 근사 표현으로 작성할 수도 있다.
f(x+Δx)f(x)+f(x)Δx+12ΔxHf(x)Δxf(\bold{x} + \Delta \bold{x}) \approx f(\bold{x}) + \nabla f(\bold{x})\cdot \Delta \bold{x} + {1\over2}\Delta\bold{x}^\top\bold{H}f(\bold{x})\Delta \bold{x}
일반적으로 다변수 함수 f(xn,tn)f(\bold{x}_n, t_n)에 대한 테일러 전개 식은 다음처럼 n1n-1 항을 이용하여 가능하다.
f(xn,tn)f(xn1,tn1)+xf(xn1,tn1)Δx+tf(xn1,tn1)Δt+higher order termsf(\bold{x}_n, t_n) \approx f(\bold{x}_{n-1}, t_{n-1}) + \nabla_\bold{x} f(\bold{x}_{n-1}, t_{n-1})^\top \Delta \bold{x} + {\partial \over \partial t}f(\bold{x}_{n-1}, t_{n-1})\Delta t \\+ \text{higher order terms}
여기서 Δx=xnxn1,Δt=tntn1\Delta\bold{x} = \bold{x}_n - \bold{x}_{n-1}, \Delta t = t_n - t_{n-1}. 이전 항을 기준으로 이전 항에 대해 각 변수로 편미분을 구한 값을 더하는 식으로 구성된다. higher order term에는 2차 이상의 항이 추가되고 미분을 2번, 3번 한 값이 들어간다. 해당 값은 빠르게 0으로 수렴하므로 생략하고 전체 식을 근사 형태로 사용함. 경우에 따라 2차 편미분한 값까지 추가하기도 한다.
4번째 줄의 테일러 전개는 다음과 같다.
fθ(xtn+1+(tn+1tn)tn+1logptn+1(xtn+1),tn))]=fθ(xtn+1,tn+1)+1fθ(xtn+1,tn+1)(tn+1tn)tn+1logptn+1(xtn+1)+2fθ(xtn+1,tn+1)(tntn+1)+o(tn+1tn)\begin{aligned} & f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}} + (t_{n+1} - t_n)t_{n+1} \nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}}), t_n))] \\ &= f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})\\ & \quad + \partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_{n+1} - t_n)t_{n+1}\nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}}) \\ & \quad + \partial_2 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n - t_{n+1}) \\& \quad + o(|t_{n+1}-t_n|) \end{aligned}
여기서 dx=(tn+1tn)tn+1logptn+1(xtn+1)d\bold{x} = (t_{n+1} - t_n)t_{n+1} \nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}})이고 역방향이므로 dt=tntn+1dt = t_{n} - t_{n+1}이다. xtn=xtn+1+dx\bold{x}_{t_n} = \bold{x}_{t_{n+1}} + d\bold{x}이므로 이 테일러 전개 식은 fθ(xtn+1,tn+1)f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1})에 각 변수의 1차 편미분 값을 더해 fθ(xtn,tn)f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n}}, t_{n})을 근사하는 식이 된다. 마지막 o(tn+1tn)o(|t_{n+1} - t_n|)은 고차항에 대한 근사값으로 취급되며 0으로 수렴한다.
5번째 줄은 다음의 테일러 전개에서 유도된다. 위 식에서 Δb=1fθ(xtn+1,tn+1)(tn+1tn)tn+1logptn+1(xtn+1)+2fθ(xtn+1,tn+1)(tntn+1)+o(tn+1tn)\Delta b = \partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_{n+1} - t_n)t_{n+1}\nabla \log p_{t_{n+1}}(\bold{x}_{t_{n+1}}) + \partial_2 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n - t_{n+1}) + o(|t_{n+1}-t_n|)이다. 다만 λ(tn)\lambda(t_n)이 추가됨
d(a,b+Δb)d(a,b)+bd(a,b)Δbd(a, b + \Delta b) \approx d(a, b) + {\partial \over \partial b}d(a, b) \cdot \Delta b
그러면 Lemma 1을 방정식 15에 적용하고 역 방향에서 테일러 전개를 사용하여 다음을 얻을 수 있다.
LCDN(θ,θ;ϕ)=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))]+E{λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[1fθ(xtn+1,tn+1)(tntn+1)tn+1E[xtn+1xtn+12xtn+1]]}+E{λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[2fθ(xtn+1,tn+1)(tntn+1)]}+E[o(tn+1tn)]=(i)E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))]+E{λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[1fθ(xtn+1,tn+1)(tntn+1)tn+1(xtn+1xtn+12)]}+E{λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[2fθ(xtn+1,tn+1)(tntn+1)]}+E[o(tn+1tn)]=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))+λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[1fθ(xtn+1,tn+1)(tntn+1)tn+1(xtn+1xtn+12)]+λ(tn)2d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))[2fθ(xtn+1,tn+1)(tn,tn+1)]+o(tn+1tn)]+E[o(tn+1tn)]=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1+(tntn+1)tn+1xtn+1xtn+12,tn))]+E[o(tn+1tn)]=E[λ(tn)d(fθ(xtn+1,tn+1),fθ(xtn+1+(tntn+1)xtn+1xtn+1,tn))]+E[o(tn+1tn)]=E[λ(tn)d(fθ(x+tn+1z,tn+1),fθ(x+tn+1z+(tntn+1)z,tn))]+E[o(tn+1tn)]=E[λ(tn)d(fθ(x+tn+1z,tn+1),fθ(x+tnz,tn))]+E[o(Δt)]=E[λ(tn)d(fθ(x+tn+1z,tn+1),fθ(x+tnz,tn))]+o(Δt)=LCTN(θ,θ)+o(Δt)(16)\begin{aligned} & \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &= \mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}))] \\ & \quad + \mathbb{E}\Big\{ \lambda(t_n)\partial_2d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad\cdot\Big[\partial_1f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1})(t_n-t_{n+1})t_{n+1} \mathbb{E}\Big[{\mathbb{x}_{t_{n+1}} - \bold{x} \over t_{n+1}^2}\Big|\bold{x}_{t_{n+1}}\Big]\Big]\Big\} \\ & \quad + \mathbb{E}\{\lambda(t_n)\partial_2d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}))[\partial_2 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n-t_{n+1})]\} \\& \quad+ \mathbb{E}[o(|t_{n+1}-t_n|)] \\ &\overset{(i)}{=} \mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1}))] \\ & \quad + \mathbb{E}\Big\{ \lambda(t_n)\partial_2d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}))\\ & \quad\quad\quad\cdot\Big[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1})(t_n-t_{n+1})t_{n+1}\Big({\bold{x}_{t_{n+1}}-\bold{x} \over t_{n+1}^2}\Big)\Big]\Big\} \\ & \quad + \mathbb{E}\{\lambda(t_n)\partial_2d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}}, t_{n+1}))[\partial_2f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n-t_{n+1})]\} \\ & \quad + \mathbb{E}[o(|t_{n+1} - t_n|)] \\ &= \mathbb{E} \Big[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad \quad + \lambda(t_n)\partial_2d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}))\\ & \quad\quad\quad\cdot\Big[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n-t_{n+1})t_{n+1}\Big({\bold{x}_{t_{n+1}} - \bold{x} \over t_{n+1}^2}\Big)\Big] \\ & \quad \quad + \lambda(t_n)\partial_2 d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}))[\partial_2 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})(t_n, t_{n+1})] \\ &\quad\quad+ o(|t_{n+1} - t_n|) \Big] \\ & \quad + \mathbb{E}[o(|t_{n+1}-t_n|)] \\ &= \mathbb{E} \Big[ \lambda(t_n)d\Big( f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}\Big( \bold{x}_{t_{n+1}} + (t_n-t_{n+1})t_{n+1}{\bold{x}_{t_{n+1}} -\bold{x} \over t_{n+1}^2}, t_n\Big)\Big)\Big] \\ &\quad + \mathbb{E} [o(|t_{n+1}-t_n|)] \\ &= \mathbb{E} \Big[ \lambda(t_n)d\Big( f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}\Big( \bold{x}_{t_{n+1}} + (t_n-t_{n+1}){\bold{x}_{t_{n+1}} -\bold{x} \over t_{n+1}}, t_n\Big)\Big)\Big] \\ &\quad+ \mathbb{E} [o(|t_{n+1}-t_n|)] \\ &= \mathbb{E} [ \lambda(t_n)d( f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1}),f_{\boldsymbol{\theta}^-}( \bold{x} + t_{n+1}\bold{z} + (t_n-t_{n+1})\bold{z}, t_n))] \\ &\quad + \mathbb{E} [o(|t_{n+1}-t_n|)] \\ &= \mathbb{E} [ \lambda(t_n)d( f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1}),f_{\boldsymbol{\theta}^-}( \bold{x} + t_{n}\bold{z}, t_n))] + \mathbb{E} [o(\Delta t)] \\ &= \mathbb{E} [ \lambda(t_n)d( f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1}),f_{\boldsymbol{\theta}^-}( \bold{x} + t_{n}\bold{z}, t_n))] + o(\Delta t) \\ &= \mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) + o(\Delta t) \end{aligned} \tag{16}
여기서 (i)(i)는 total expectation의 법칙 때문이고 z:=xtn+1xtn+1N(0,I)\bold{z} := {\bold{x}_{t_{n+1}} - \bold{x} \over t_{n+1}} \sim \mathcal{N}(\bold{0},\bold{I})이다. 이것은 LCDN(θ,θ;ϕ)=LCDN(θ,θ)+o(Δt)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) + o(\Delta t)를 암시하고 따라서 방정식 9에 대한 증명을 완성한다. 게다가 infNNCDN(θ,θ;ϕ)>0\inf_N \mathcal{N}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) > 0 일 때마다 LCTN(θ,θ)O(Δt)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \geqslant O(\Delta t)가 성립한다. 그렇지 않으면 LCTN(θ,θ)<O(Δt)\mathcal{L}_\text{CT}^N (\boldsymbol{\theta}, \boldsymbol{\theta}^-) < O(\Delta t)이고 따라서 limΔt0LCDN(θ,θ;ϕ)=0\lim_{\Delta t \to 0} \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = 0이다. 이것은 분명 infNLCDN(θ,θ;ϕ)>0\inf_N \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) > 0에 모순이다.
Remark 1.
θ=stopgrad(θ)\boldsymbol{\theta}^- = \text{stopgrad}(\boldsymbol{\theta})와 같이 LCTN(θ,θ)O(Δt)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \geqslant O(\Delta t)이 만족되지 않을 때도 Theorem 6에서 증명된 결과를 참조하여 consistency 모델에 대한 학습 목적으로써 LCTN(θ,θ)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) 의 유효성을 여전히 정당화 할 수 있다.
위 식에서 (i)(i)은 함수가 조건부의 종속일 때 조건부 기대값이 함수값이 되는 법칙을 따른다. E[f(X)X]=f(X)\mathbb{E}[f(X)|X] = f(X)
3번째 식은 기대값의 선형성을 따른다. E[X+Y]=E[X]+E[Y]\mathbb{E}[X+Y] = \mathbb{E}[X] + \mathbb{E}[Y]
3번째 식의 마지막 부분에 o(tn+1tn)o(|t_{n+1}-t_n|)은 4번째 식에서 테일러 전개를 역으로 돌리기 위한 용도로 보임. 3-4번째 식은 방정식 15의 3, 4번째 테일러 전개를 한번에 역방향으로 되돌린다. 다시 말해 4번째 식에 방정식 15의 3, 4번째 테일러 전개를 차례로 적용하면 3번째 식이 됨.
6번째 식은 xtn+1=x+tn+1z\bold{x}_{t_{n+1}} = \bold{x} + t_{n+1}\bold{z}에서 유도된다. xtn+1\bold{x}_{t_{n+1}} 자리에 위 식을 대입하면 됨. 이 식은 tn+1t_{n+1}xtn+1\bold{x}_{t_{n+1}}가 입력에 대해 tn+1t_{n+1}의 노이즈 z\bold{z}가 더해진 값으로 정의된다는 것이다. 고로 tn+1t_{n+1}xtn+1\bold{x}_{t_{n+1}}를 한 번에 구할음
마지막에서 2번째 줄은 o(Δt)o(\Delta t)가 상수이기 때문에 성립한다.
마지막 줄은 consistency training의 목적 함수 정의를 따른다.

B Continuous-Time Extensions

consistency distillation(CD)과 consistency training(CT) 목적은 적합한 조건 아래 무한 시간 단계 (NN \to \infty) 에 대해 유지되도록 일반화 될 수 있다.

B.1 Consistency Distillation in Continuous Time

θ=θ\boldsymbol{\theta}^- = \boldsymbol{\theta} 또는 θ=stopgrad(θ)\boldsymbol{\theta}^- = \text{stopgrad}(\boldsymbol{\theta}) (μ=0\mu = 0을 설정하여) 여부에 따라 consistency distillation 목적 LCDN(θ,θ;ϕ)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})에 대한 2가지 가능한 continuous-time 확장이 존재한다. 2번 연속적으로 미분 가능한 메트릭 함수 d(x,y)d(\bold{x}, \bold{y})가 주어지면, G(x)G(\bold{x})(i,j)(i, j)-번째 항목이 다음처럼 주어지는 행렬로 정의한다.
[G(x)]ij:=2d(x,y)yiyjy=x[G(\bold{x})]_{ij} := {\partial^2d(\bold{x}, \bold{y}) \over \partial y_i \partial y_j}\Big|_{\bold{y} = \bold{x}}
위 식에서 y=x|_{\bold{y} = \bold{x}}는 일종의 제약조건으로 편미분 결과를 특정한 점에서 평가하는 것을 의미한다. 이것은 특정 점에서의 성질을 분석하거나 미분 결과를 단순화하는데 사용함. 위 식의 경우 d(x,y)d(\bold{x}, \bold{y})yiy_iyjy_j로 2번 편미분한 후에 y\bold{y}x\bold{x}로 둔 결과를 행렬 G(x)G(\bold{x})로 둔다는 의미이다.
유사하게 H(x)H(\bold{x})를 다음과 같이 정의한다.
[H(x)]ij:=2d(y,x)yiyjy=x[H(\bold{x})]_{ij} := {\partial^2d(\bold{y}, \bold{x}) \over \partial y_i \partial y_j}\Big|_{\bold{y} = \bold{x}}
행렬 GGHH는 consistency distillation에 대한 continuous-time 목적을 형식화하는데 결정적인 역할을 수행한다. 게다가 x\bold{x}에 관한 fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t)의 야코비안을 fθ(x,t)x{\partial f_{\boldsymbol{\theta}}(\bold{x},t) \over \partial \bold{x}}라 표기한다.
θ=θ\boldsymbol{\theta}^- = \boldsymbol{\theta} 일 때(stopgrad 연산자 없이), 다음의 이론적인 결과를 얻는다.
Theorem 3.
tn=τ(n1N1)t_n = \tau({n-1 \over N-1})이라 하자. 여기서 n1,Nn \in \llbracket1,N\rrbracket이고 τ()\tau(\cdot)τ(0)=ϵ\tau(0) = \epsilonτ(1)=T\tau(1) = T와 함께 strictly monotonic 함수이다. τ\tau[0,1][0,1]에서 연속으로 미분가능하고 dd는 3번 연속적으로 미분 가능하며 bounded 3번째 미분값을 갖는다고 하자. fθf_{\boldsymbol{\theta}}는 2번 연속 미분 가능하며 bounded 첫 번째와 두 번째 미분 값을 갖는다. 또한 가중치 함수 λ()\lambda(\cdot)이 bounded이고 supx,t[ϵ,T]sϕ(x,t)2<\sup_{\bold{x}, t \in [\epsilon, T]}\|\bold{s}_{\boldsymbol{\phi}}(\bold{x},t)\|_2 < \infty라 하자. 그러면 consistency distillation에서 Euler solver를 사용하여 다음을 갖는다.
limN(N1)2LCDN(θ,θ;ϕ)=LCD(θ,θ;ϕ)(17)\lim_{N \to \infty}(N-1)^2 \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = \mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) \tag{17}
이것은 LCD\mathcal{L}_\text{CD}^\infty이 18의 식과 같을 때 limN(N1)2LCDN\lim_{N\to \infty}(N-1)^2\mathcal{L}_\text{CD}^NLCD\mathcal{L}_\text{CD}^\infty로 수렴한다는 얘기
여기서 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi})는 다음과 같이 정의된다.
12E[λ(t)[(τ1)(t)]2(fθ(xt,t)ttfθ(xt,t)xtsϕ(xt,t))G(fθ(xt,t))(fθ(xt,t)ttfθ(xt,t)xtsϕ(xt,t))](18){1\over2}\mathbb{E}\Big[{\lambda(t) \over [(\tau^{-1})'(t)]^2} \Big( {\partial f_{\boldsymbol{\theta}}(\bold{x}_t,t) \over \partial t} - t{\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_t, t) \Big)^\top \\ \quad\quad G(f_{\boldsymbol{\theta}}(\bold{x}_t,t))\Big( {\partial f_{\boldsymbol{\theta}}(\bold{x}_t,t) \over \partial t} - t{\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_t, t) \Big) \Big] \tag{18}
여기서 위의 기대는 xpdata\bold{x} \sim p_\text{data}에 대해 취해지고, uU[0,1]u \sim \mathcal{U}[0, 1]이고 t=τ(u)t = \tau(u)이고 xtN(x,t2I)\bold{x}_t \sim \mathcal{N}(\bold{x}, t^2\bold{I})이다.
증명.
Δu=1N1\Delta u = {1\over N-1}이고 un=n1N1u_n = {n-1 \over N-1}이라 하자. 우선 테일러 전개를 사용하여 다음의 방정식을 유도할 수 있다.
fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)=fθ(xtn+1+tn+1sϕ(xtn+1,tn+1)τ(un)Δu,tn)fθ(xtn+1,tn+1)=tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)τ(un)Δufθ(xtn+1,tn+1)tn+1τ(un)Δu+O((Δu)2)(19)\begin{aligned} &f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) -f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \\&= f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}} + t_{n+1}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta u, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \\ &= t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1})\tau'(u_n)\Delta u \\ & \quad - {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}\tau'(u_n)\Delta u + O((\Delta u)^2) \end{aligned} \tag{19}
위 식의 2번째 줄은 x^tnϕ=xtn+1+tn+1sϕ(xtn+1,tn+1)τ(un)Δu\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} = \bold{x}_{t_{n+1}} + t_{n+1}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta u에 의한 것인데, 원래 정의상 x^tnϕ:=xtn+1(tntn+1)tn+1sϕ(xtn+1,tn+1)\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} := \bold{x}_{t_{n+1}} -(t_n - t_{n+1})t_{n+1}s_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})이므로 (tntn+1)=τ(un)Δu-(t_n-t_{n+1}) = \tau'(u_n)\Delta u가 된 것에 따른다.
그에 대한 유도는 다음과 같다. 정리의 정의상 tn=τ(n1N1)t_n = \tau({n-1 \over N-1})이므로 tntn+1=τ(n1N1)τ(nN1)t_n - t_{n+1} = \tau({n-1\over N-1})-\tau({n\over N-1})이다. τ\tau가 strictly monotonic이므로 테일러 급수를 이용하여 근사할 수 있고, τ()\tau()의 입력에서의 한 단계 변위량이 nN1n1N1=1N1=Δu{n \over N-1} - {n -1 \over N-1} = {1 \over N-1} = \Delta u이므로 τ(nN1)τ(n1N1)+τ(n1N1)Δu\tau({n\over N-1}) \approx \tau({n-1 \over N-1}) + \tau'({n-1 \over N-1})\Delta u가 되고 이를 tn,tn+1t_n, t_{n+1}un=n1N1u_n = {n-1\over N-1}으로 치환하면 tn+1tn+τ(un)Δut_{n+1} \approx t_n + \tau'(u_n)\Delta u가 되고, 이 식을 변환하면 tntn+1τ(un)Δut_n - t_{n+1} \approx -\tau'(u_n)\Delta u가 된다.
3번째 줄은 테일러 전개에 따른 것이다. Δx=tn+1sϕ(xtn+1,tn+1)τ(un)Δu\Delta \bold{x} = t_{n+1}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta u라 표기하면 2번째 줄은 fθ(xtn+1+Δx,tn)fθ(xtn+1,tn+1)f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}} + \Delta \bold{x}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})로 나타낼 수 있고, fθ(xtn+1+Δx,tn)f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}} + \Delta \bold{x}, t_n)fθ(xtn,tn)f_{\boldsymbol{\theta}}(\bold{x}_{t_{n}}, t_n)를 이용해서 테일러 전개를 하면 다음과 같다.
fθ(xtn+1+Δx,tn)=fθ(xtn,tn)=fθ(xtn+1,tn+1)+xtn+1fθ(xtn+1,tn+1)Δx+tn+1fθ(xtn+1,tn+1)(tntn+1)+higher terms\begin{aligned} &f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}} + \Delta \bold{x}, t_n) = f_{\boldsymbol{\theta}}(\bold{x}_{t_{n}}, t_n)\\ &= f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) + \nabla_{\bold{x}_{t_{n+1}}} f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \Delta\bold{x} + {\partial \over \partial t_{n+1}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) (t_n-t_{n+1}) \\& + \text{higher terms} \end{aligned}
이 식을 2번째 식에 대입하면 아래와 같고
fθ(xtn+1,tn+1)+fθ(xtn+1,tn+1)xtn+1Δx+fθ(xtn+1,tn+1)tn+1(tntn+1)+higher terms fθ(xtn+1,tn+1)\cancel{f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})} + {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\Delta\bold{x} + {f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}(t_n-t_{n+1}) \\+ \text{higher terms } \cancel{- f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})}
나머지 식에 Δx=tn+1sϕ(xtn+1,tn+1)τ(un)Δu\Delta \bold{x} = t_{n+1}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta utntn+1τ(un)Δut_n - t_{n+1} \approx -\tau'(u_n)\Delta u를 대입하고 고차항을 O((Δu)2)O((\Delta u)^2)로 대체하면 된다.
τ(un)=1τ1(tn+1)\tau'(u_n) = {1\over \tau^{-1}(t_{n+1})}임에 유의하라. 그러면 consistency distillation loss에 대해 테일러 전개를 적용하여 다음을 얻는다.
(N1)2LCDN(θ,θ;ϕ)=1(Δu)2LCDN(θ,θ;ϕ)=1(Δu)2E[λ(tn)d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn)]=(i)12(Δu)2(E{λ(tn)τ(un)2[fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)]G(fθ(xtn+1,tn+1))[fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)]}+E[O(Δu3)])=(ii)12E[λ(tn)τ(un)2(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))G(fθ(xtn+1,tn+1))(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))]+E[O(Δu)]=12E[λ(tn)[(τ1)(tn)]2(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))G(fθ(xtn+1,tn+1))(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))]+E[O(Δu)](20)\begin{aligned} &(N-1)^2 \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) \\ &= {1\over (\Delta u)^2} \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) \\ &= {1\over (\Delta u)^2}\mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}), f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)] \\ &\overset{(i)}{=}{1\over2(\Delta u)^2} \Big( \mathbb{E}\Big\{\lambda(t_n)\tau'(u_n)^2[f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top G(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad\quad\quad\quad \cdot[f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]\Big\} + \mathbb{E}[O(|\Delta u|^3)] \Big) \\ &\overset{(ii)}{=} {1\over2} \mathbb{E}\Big[\lambda(t_n)\tau'(u_n)^2\\ &\quad\quad\quad\cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}-t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\Big)^\top \\ & \quad\quad\quad \cdot G(f_{\boldsymbol{\theta}} (\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad \cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}-t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\Big)\Big] \\ & \quad + \mathbb{E}[O(|\Delta u|)] \\ &={1\over2}\mathbb{E}\Big[{\lambda(t_n) \over[(\tau^{-1})'(t_n)]^2}\\ &\quad\quad\quad\cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} - t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\Big)^\top \\ &\quad\quad\quad \cdot G(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}))\\ & \quad\quad\quad \cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}} - t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\Big)\Big] \\ &\quad+\mathbb{E}[O(|\Delta u|)] \end{aligned} \tag{20}
여기서 (i)(i)d(fθ(xtn+1,tn+1),)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), \cdot)을 2차까지 전개하고 d(x,x)0d(\bold{x}, \bold{x}) \equiv 0yd(x,y)y=x0\nabla_\bold{y} d(\bold{x}, \bold{y})|_{\bold{y}=\bold{x}} \equiv \bold{0}를 관찰하여 얻을 수 있고, (ii)(ii)는 방정식 19를 사용하여 얻을 수 있다. 양 변에 Δu0\Delta u \to 0 또는 동등하게 NN \to \infty에 대한 극한을 취함으로 방정식 20에서 방정식 17에 도달하게 되고 증명이 완료 된다.
(i)(i)에서 d(fθ(xtn+1,tn+1),)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), \cdot)에 대해 테일러 전개를 하라는 말은 d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}))를 기준으로 d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))에 대한 근사를 구하라는 뜻이다. 이것은 함수 h(a,b)h(\bold{a},b)를 이용해서 함수 f(x,y)f(\bold{x},y)를 근사하는 아래의 테일러 전개를 따른다.
f(x,y)h(a,b)+ah(a,b)Δa+bh(a,b)Δb+12ΔaHah(a,b)Δx+122b2h(a,b)(Δb)2+Δaabh(a,b)ΔbΔa=xaΔb=yb\begin{aligned} f(\bold{x}, y) &\approx h(\bold{a}, b) + \nabla_\bold{a} h(\bold{a}, b)^\top \Delta \bold{a} + {\partial \over \partial b}h(\bold{a}, b)\Delta b \\ & + {1\over2}\Delta \bold{a}^\top\bold{H}_\bold{a}h(\bold{a}, b)\Delta \bold{x} + {1\over 2}{\partial^2 \over \partial b^2}h(\bold{a}, b)(\Delta b)^2 \\ & + \Delta \bold{a}^\top \nabla_\bold{a}{\partial \over \partial b}h(\bold{a},b)\Delta b \\ \Delta \bold{a} &= \bold{x} - \bold{a} \\ \Delta b &= y - b \end{aligned}
위 식을 따라 식을 전개한다. 그러나 우선 식이 길기 때문에 식을 다음과 같이 치환한다. Δ2\Delta_2를 제외한 나머지는 0이 됨에 주의
d(fθ(xtn+1,tn+1),fθ(xtn+1,tn+1))=d()=0fθ(xtn+1,tn+1)fθ(xtn+1,tn+1)=Δ1=0fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)=Δ2\begin{aligned} d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})) & = d() = 0 \\ f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) &= \Delta_1 =0\\ f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n) -f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) &= \Delta_2\end{aligned}
위의 치환을 이용해서 다음과 같이 전개한다. 아래 식에서 G()G()부분은 헤시안을 의미한다.
d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))=d()+d()Δ1+d()Δ2+12Δ1Gd(fθ(xtn+1,tn+1))Δ1+12Δ2Gd(fθ(xtn+1,tn+1))Δ2+d()Δ1Δ2+O(Δu3)=12Δ2Gd(fθ(xtn+1,tn+1))Δ2+O(Δu3)(*)\begin{aligned} &d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}), f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \\ & = d() + \nabla d()\Delta_1 + \nabla d() \Delta_2 \\ & \quad + {1\over2}\Delta_1^\top Gd(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}))\Delta_1 + {1\over 2}\Delta_2^\top Gd(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}))\Delta_2 \\ & \quad + \nabla d()\Delta_1\Delta_2 + O(|\Delta u|^3) \\ &= {1\over2}\Delta_2^\top Gd(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}))\Delta_2 + O(|\Delta u|^3) \end{aligned} \tag{*}
위 식의 마지막에 3차 이상의 합이 Δu3|\Delta u|^3으로 표현되는 이유는 x^tnϕ=xtn+1+tn+1sϕ(xtn+1,tn+1)τ(un)Δu\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} = \bold{x}_{t_{n+1}} + t_{n+1}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta u의 변위량이 x^tnϕxtn+1=tn+1sϕ(xtn+1,tn+1)τ(un)Δu\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} - \bold{x}_{t_{n+1}} = t_{n+1}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta u가 되고 이것은 Δu\Delta u에 비례하기 때문이다.
위의 마지막 식의 Δ2\Delta_2를 다시 원래의 식 fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n) -f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})으로 치환하고 12{1\over2}를 기대값 밖으로 빼면 3번째 식과 같은 식이 나오는데, 딱 하나 다른게 3번째 식에는 τ(un)2\tau'(u_n)^2이 추가로 곱해지는데 이게 어디서 나온건지 모르겠다. 오타가 아닌가 싶은데 3번째 식에서는 τ(un)2\tau'(u_n)^2가 나올 부분이 없는데 4번째 식에서 τ(un)2\tau'(u_n)^2가 나오기 때문.
4번째 식에서는 방정식 19의 fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)=tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)τ(un)Δufθ(xtn+1,tn+1)tn+1τ(un)Δu+O((Δu)2)f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) -f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})= t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1})\tau'(u_n)\Delta u - {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}\tau'(u_n)\Delta u + O((\Delta u)^2)τ(un)Δu(tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)fθ(xtn+1,tn+1)tn+1)+O((Δu)2)-\tau'(u_n)\Delta u (t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1}) - {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}) + O((\Delta u)^2)로 정리한 후에 O((Δu)2)O((\Delta u)^2)는 작은 값이라 무시하고 대입하여 다음처럼 정리한다.
12(Δu)2(E{λ(tn)[fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)]G(fθ(xtn+1,tn+1))[fθ(x^tnϕ,tn)fθ(xtn+1,tn+1)]}+E[O(Δu3)])=12(Δu)2(E{λ(tn)[τ(un)Δu(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))]G(fθ(xtn+1,tn+1))[τ(un)Δu(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))]}+E[O(Δu3)])=12(Δu)2(E{λ(tn)τ(un)2(Δu)2(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))G(fθ(xtn+1,tn+1))(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))}+E[O(Δu3)])=12E[λ(tn)τ(un)2(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))G(fθ(xtn+1,tn+1))(fθ(xtn+1,tn+1)tn+1tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1))]+E[O(Δu)]\begin{aligned}&{1\over2(\Delta u)^2} \Big( \mathbb{E}\Big\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top G(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad\quad\quad\quad \cdot[f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n) - f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]\Big\} + \mathbb{E}[O(|\Delta u|^3)] \Big) \\ & = {1\over2(\Delta u)^2} \Big( \mathbb{E}\Big\{\lambda(t_n)\\&\quad\quad\quad\quad\quad\quad\cdot\Big[-\tau'(u_n)\Delta u \Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}} - t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1})\Big)\Big]^\top \\ & \quad\quad\quad\quad\quad\quad \cdot G(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad\quad\quad\quad \cdot\Big[-\tau'(u_n)\Delta u \Big( {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}} - t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1})\Big)\Big]\Big\} \\ &\quad\quad\quad\quad\quad + \mathbb{E}[O(|\Delta u|^3)] \Big)\\ & = {1\over2(\Delta u)^2} \Big( \mathbb{E}\Big\{\lambda(t_n)\tau'(u_n)^2(\Delta u)^2\\&\quad\quad\quad\quad\quad\quad\cdot\Big( {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}-t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1})\Big)^\top \\ & \quad\quad\quad\quad\quad\quad \cdot G(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad\quad\quad\quad \cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}-t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}}, t_{n+1}) \Big)\Big\} \\ &\quad\quad\quad\quad\quad + \mathbb{E}[O(|\Delta u|^3)] \Big)\\ &= {1\over2} \mathbb{E}\Big[\lambda(t_n)\tau'(u_n)^2\\ &\quad\quad\quad\cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}-t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\Big)^\top \\ & \quad\quad\quad \cdot G(f_{\boldsymbol{\theta}} (\bold{x}_{t_{n+1}},t_{n+1})) \\ & \quad\quad\quad \cdot\Big({\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) \over \partial t_{n+1}}-t_{n+1}{\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\Big)\Big] \\ & \quad + \mathbb{E}[O(|\Delta u|)] \end{aligned}
마지막 식은 τ(un)=1τ1(tn+1)\tau'(u_n) = {1\over \tau^{-1}(t_{n+1})}를 이용해서 정리하면 됨
Remark 2.
Theorem 3이 기술적 단순성을 위해 오일러 ODE solver를 가정하지만 모든 ODE solver가 NN \to \infty에 대해 유사하게 작동해야 하므로 더 일반적인 solver에 대해 유사한 결과를 유도할 수 있다고 믿는다. Theorem 3의 더 일반적인 버전은 향후 과제로 남긴다.
Remark 3.
Theorem 3이 consistency 모델이 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi})를 최소화하여 학습될 수 있음을 암시한다. 특히 d(x,y)=xy22d(\bold{x}, \bold{y}) = \|\bold{x}-\bold{y}\|_2^2일 때 다음이 성립한다.
LCD(θ,θ;ϕ)=E[λ(t)[(τ1)(t)]2fθ(xt,t)ttfθ(xt,t)xtsϕ(xt,t)22](21)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = \mathbb{E}\left[{\lambda(t) \over [(\tau^{-1})'(t)]^2} \left\|{\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial t} - t{\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_t, t) \right\|_2^2 \right] \tag{21}
그러나 이 continuous-time 목적은 loss 함수를 평가하기 위해 서브루틴으로 야코비안-벡터 곱을 계산해야 한다. 이것은 forward-mode 자동 미분을 지원하지 않는 딥 러닝 프레임워크에서 구현하기 느리고 laborious(힘드는) 수 있다.
Remark 4.
fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t)sϕ(x,t)\bold{s}_{\boldsymbol{\phi}}(\bold{x},t)의 경험적 PF ODE에 대한 ground truth consistency 함수와 일치하면 다음이 된다.
fθ(x,t)ttfθ(x,t)xsϕ(x,t)0{\partial f_{\boldsymbol{\theta}}(\bold{x}, t) \over \partial t} - t{\partial f_{\boldsymbol{\theta}}(\bold{x}, t) \over \partial \bold{x}}\bold{s}_{\boldsymbol{\phi}}(\bold{x},t) \equiv 0
그러므로 LCD(θ,θ;ϕ)=0\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = 0. 이것은 모든 t[ϵ,T]t \in [\epsilon, T]에 대해 fθ(xt,t)xϵf_{\boldsymbol{\theta}}(\bold{x}_t, t) \equiv \bold{x}_\epsilon임을 유의하여, 이 항등식의 time 도함수를 취하여 증명될 수 있다.
fθ(xt,t)xϵfθ(xt,t)xtdxtdt+fθ(xt,t)t0fθ(xt,t)xt[tsϕ(xt,t)]+fθ(xt,t)t0fθ(xt,t)ttfθ(xt,t)xtsϕ(xt,t)0\begin{aligned} & f_{\boldsymbol{\theta}}(\bold{x}_t, t) \equiv \bold{x}_\epsilon \\ &\Leftrightarrow {\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t}{d\bold{x}_t \over dt} + {\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial t} \equiv 0 \\ &\Leftrightarrow {\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t}[-t\bold{s}_{\boldsymbol{\phi}}(\bold{x}_t,t)] + {\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial t} \equiv 0 \\ &\Leftrightarrow {\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial t}-t{\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_t,t) \equiv 0 \end{aligned}
위의 관찰은 이것이 최소화되면 consistency model이 ground truth consistency 함수와 일치하고 그 역도 성립하기(iff) 때문에 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi})에 대한 또 다른 동기를 제공한다.
1\ell_1 노름 같은 어떤 메트릭 함수의 경우 헤시안 G(x)G(\bold{x})는 0이고 따라서 Theorem 3은 vacuous(무의미)이다. 아래에서 Theorem 3에 대한 증명을 약간 수정 하여 1\ell_1 노름에 대한 non-vacuous 명제가 성립함을 보인다.
Theorem 4.
tn=τ(n1N1)t_n = \tau({n-1 \over N-1})이라 하자. 여기서 n1,Nn \in \llbracket1,N\rrbracket이고 τ()\tau(\cdot)τ(0)=ϵ\tau(0) = \epsilonτ(1)=T\tau(1) = T와 함께 strictly monotonic 함수이다. τ\tau[0,1][0,1]에서 연속으로 미분가능하고 dd는 3번 연속적으로 미분 가능하며 bounded 3번째 미분값을 갖는다고 하자. fθf_{\boldsymbol{\theta}}는 2번 연속 미분 가능하며 bounded 첫 번째와 두 번째 미분 값을 갖는다. 또한 가중치 함수 λ()\lambda(\cdot)이 bounded이고 supx,t[ϵ,T]sϕ(x,t)2<\sup_{\bold{x}, t \in [\epsilon, T]}\|\bold{s}_{\boldsymbol{\phi}}(\bold{x},t)\|_2 < \infty라 하자. consistency distillation에서 Euler ODE solver를 사용하고 d(x,y)=xy1d(\bold{x}, \bold{y}) = \|\bold{x}-\bold{y}\|_1을 설정한다고 가정하자. 그러면 다음을 얻는다.
limN(N1)LCDN(θ,θ;ϕ)=LCD,1(θ,θ;ϕ)(22)\lim_{N \to \infty}(N-1)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = \mathcal{L}_{\text{CD},\ell_1}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) \tag{22}
이것은 LCD,1\mathcal{L}_{\text{CD},\ell_1}^\infty이 아래 식과 같을 때 limN(N1)LCDN\lim_{N\to \infty}(N-1)\mathcal{L}_\text{CD}^NLCD,1\mathcal{L}_{\text{CD},\ell_1}^\infty로 수렴한다는 얘기
여기서
LCD,1(θ,θ;ϕ):=E[λ(t)(τ1)(t)tfθ(xt,t)xtsϕ(xt,t)fθ(xt,t)t1]\mathcal{L}_{\text{CD},\ell_1}^\infty (\boldsymbol{\theta}, \boldsymbol{\theta};\boldsymbol{\phi}) := \mathbb{E} \left[ {\lambda(t) \over (\tau^{-1})'(t)} \left\|t{\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial \bold{x}_t} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_t, t) - {\partial f_{\boldsymbol{\theta}}(\bold{x}_t, t) \over \partial t} \right\|_1 \right]
여기서 위의 기대는 xpdata\bold{x} \sim p_\text{data}에 관해 취해지고 uU[0,1]u \sim \mathcal{U}[0, 1]이고 t=τ(u)t = \tau(u)이고 xtN(x,t2I)\bold{x}_t \sim \mathcal{N}(\bold{x}, t^2\bold{I})이다.
증명.
Δu=1N1\Delta u = {1\over N-1}이고 un=n1N1u_n = {n-1 \over N-1}이라 하자. 다음이 성립한다.
(N1)LCDN(θ,θ;ϕ)=1ΔuLCDN(θ,θ;ϕ)=1ΔuE[λ(tn)fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)1]=(i)1ΔuE[λ(tn)tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)τ(un)fθ(xtn+1,tn+1)tn+1τ(un)+O((Δu)2)1]=E[λ(tn)τ(un)tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)fθ(xtn+1,tn+1)tn+1+O(Δu)1]=E[λ(tn)(τ1)(tn)tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)fθ(xtn+1,tn+1)tn+1+O(Δu)1](23)\begin{aligned} &(N-1)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) \\&= {1\over \Delta u}\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) \\&= {1\over \Delta u}\mathbb{E}[\lambda(t_n)\|f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) - f_{\boldsymbol{\theta}}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n)\|_1] \\ &\overset{(i)}{=}{1\over \Delta u} \mathbb{E}\Big[ \lambda(t_n) \Big\| t_{n+1} {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n) \\ &\quad\quad\quad\quad\quad - {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} \tau'(u_n) + O((\Delta u)^2) \Big\|_1 \Big] \\ &= \mathbb{E}\Big[ \lambda(t_n)\tau'(u_n) \Big\| t_{n+1} {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1}) \\ & \quad\quad\quad - {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} + O(\Delta u) \Big\|_1 \Big] \\ &= \mathbb{E}\Big[ {\lambda(t_n) \over (\tau^{-1})'(t_n)} \Big\| t_{n+1} {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1}) \\ & \quad\quad\quad - {\partial f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} + O(\Delta u) \Big\|_1 \Big] \end{aligned} \tag{23}
여기서 (i)(i)는 방정식 19를 이전 방정식에 연결하여 얻을 수 있다. 방정식 23의 양변에 대해 Δu0\Delta u \to 0이나 동등하게 NN \to \infty로 극한을 취하면 방정식 22로 이어진다. 이것으로 증명은 완료된다.
방정식 20에서는 LCDN\mathcal{L}_\text{CD}^N에 대해 거리 메트릭 d()d()을 사용했지만 여기서는 1\ell_1으로 한정한다. 3번째 식은 방정식 19에서 증명한 것이고 마지막 식은 τ(un)=1τ1(tn+1)\tau'(u_n) = {1\over \tau^{-1}(t_{n+1})}를 따름.
Remark 5.
Theorem 4에 따라 consistency 모델은 LCD,1(θ,θ;ϕ)\mathcal{L}_{\text{CD},\ell_1}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi})를 최소화하여 학습될 수 있다. 또한 Remark 4에서 동일한 추론을 적용하여 모든 xtRd\bold{x}_t \in \mathbb{R}^dt[ϵ,T]t \in [\epsilon, T]에 대해 fθ(xt,t)=xϵf_{\boldsymbol{\theta}}(\bold{x}_t, t) = \bold{x}_\epsilon이면 LCD,1(θ,θ;ϕ)=0\mathcal{L}_{\text{CD},\ell_1}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi}) = 0 이고 그 역도 성립함(iff)임을 보이도록 적용할 수 있다.
θ=stopgrad(θ)\boldsymbol{\theta}^- = \text{stopgrad}(\boldsymbol{\theta})인 두 번째 경우 ‘pseudo-objective’라 부르는 것을 유도할 수 있다. 이것은 NN \to \infty의 극한에서 LCD(θ,θ;ϕ)\mathcal{L}_{\text{CD}}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})의 gradient와 일치한다. gradient descent를 이용하여 이 pseudo 목적을 최소화하면 distillation을 통해 consistency 모델을 학습하는 또 다른 방법이 된다. 이 pseudo-목적은 아래 theorem으로 제시된다.
Theorem 5.
tn=τ(n1N1)t_n = \tau({n-1 \over N-1})이라 하자. 여기서 n1,Nn \in \llbracket1,N\rrbracket이고 τ()\tau(\cdot)τ(0)=ϵ\tau(0) = \epsilonτ(1)=T\tau(1) = T와 함께 strictly monotonic 함수이다. τ\tau[0,1][0,1]에서 연속으로 미분가능하고 dd는 3번 연속적으로 미분 가능하며 bounded 3번째 미분값을 갖는다고 하자. fθf_{\boldsymbol{\theta}}는 2번 연속 미분 가능하며 bounded 첫 번째와 두 번째 미분 값을 갖는다. 또한 가중치 함수 λ()\lambda(\cdot)이 bounded이고 supx,t[ϵ,T]sϕ(x,t)2<\sup_{\bold{x}, t \in [\epsilon, T]}\|\bold{s}_{\boldsymbol{\phi}}(\bold{x},t)\|_2 < \infty이고 supx,t[ϵ,T]θfθ(x,t)2<\sup_{\bold{x},t\in[\epsilon,T]}\|\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x},t)\|_2 < \infty라 하자. consistency distillation에서 Euler ODE solver와 θ=stopgrad(θ)\boldsymbol{\theta}^- = \text{stopgrad}(\boldsymbol{\theta})를 사용한다고 가정하자. 그러면 다음을 얻는다.
limN(N1)θLCDN(θ,θ;ϕ)=θLCD(θ,θ;ϕ)(24)\lim_{N \to \infty}(N-1) \nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = \nabla_{\boldsymbol{\theta}} \mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \tag{24}
이것은 LCD\mathcal{L}_{\text{CD}}^\infty이 식 25와 같을 때 limN(N1)LCDN\lim_{N\to \infty}(N-1)\nabla\mathcal{L}_\text{CD}^NLCD\nabla\mathcal{L}_{\text{CD}}^\infty로 수렴한다는 내용
여기서
LCD(θ,θ;ϕ):=E[λ(t)(τ1)(t)fθ(xt,t)H(fθ(xt,t))(fθ(xt,t)ttfθ(xt,t)xtsϕ(xt,t))](25)\begin{aligned} \mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) &:= \mathbb{E} \Big[ {\lambda(t) \over (\tau^{-1})'(t)}f_{\boldsymbol{\theta}}(\bold{x}_t,t)^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}_t, t)) \\ & \quad\quad\quad \cdot\Big({\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t,t) \over \partial t} - t{\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t,t) \over \partial \bold{x}_t}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_t,t)\Big)\Big] \end{aligned} \tag{25}
여기서 위의 기대는 xpdata\bold{x} \sim p_\text{data}에 관해 취해지고 uU[0,1]u \sim \mathcal{U}[0, 1]이고 t=τ(u)t = \tau(u)이고 xtN(x,t2I)\bold{x}_t \sim \mathcal{N}(\bold{x}, t^2\bold{I})이다.
증명.
Δu=1N1\Delta u = {1\over N-1}이고 un=n1N1u_n = {n-1 \over N-1}이라 하자. 우선 테일러 급수 전개를 활용하여 다음을 얻는다.
(N1)LCDN(θ,θ;ϕ)=1ΔuLCDN(θ,θ;ϕ)=1ΔuE[λ(tn)d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn)]=(i)12Δu(E{λ(tn)[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]H(fθ(x^tnϕ,tn))[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]}+E[O(Δu3)])=12ΔuE{λ(tn)[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]H(fθ(x^tnϕ,tn))[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]}+E[O(Δu2)](26)\begin{aligned} &(N-1)\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &= {1\over \Delta u} \mathcal{L}_\text{CD}^N (\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &= {1\over \Delta u}\mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)] \\ &\overset{(i)}{=} {1\over 2\Delta u}\Big(\mathbb{E}\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n)]^\top H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \\ & \quad\quad\quad\quad \cdot[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})-f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)]\} + \mathbb{E}[O(|\Delta u|^3)] \Big) \\ &={1\over 2\Delta u}\mathbb{E}\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)]^\top \\ & \quad\quad\quad\quad\quad \cdot H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n))[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)]\} + \mathbb{E}[O(|\Delta u|^2)] \end{aligned} \tag{26}
여기서 (i)(i)d(,fθ(x^tnϕ,tn))d(\cdot, f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}}, t_n))을 2차까지 확장하고 d(x,x)0d(\bold{x}, \bold{x}) \equiv 0yd(y,x)y=x0\nabla_{\bold{y}}d(\bold{y},\bold{x})|_{\bold{y}=\bold{x}} \equiv \bold{0}을 활용하여 유도될 수 있다.
(i)(i)의 상세한 유도는 ()(*)부분 참조
다음으로 θ\boldsymbol{\theta}에 대해 방정식 26의 gradient를 계산하고 결과를 단순화하여 다음을 얻는다.
(N1)θLCDN(θ,θ;ϕ)=1ΔuθLCDN(θ,θ;ϕ)=12ΔuθE{λ(tn)[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]H(fθ(x^tnϕ,tn))[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]}+E[O(Δu2)]=(i)1ΔuE{λ(tn)[θfθ(xtn+1,tn+1)]H(fθ(x^tnϕ,tn))[fθ(xtn+1,tn+1)fθ(x^tnϕ,tn)]}+E[O(Δu2)]=(ii)1ΔuE{λ(tn)[θfθ(xtn+1,tn+1)]H(fθ(x^tnϕ,tn))[tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)τ(un)Δufθ(xtn+1,tn+1)tn+1τ(un)Δu]}+E[O(Δu)]=E{λ(tn)[θfθ(xtn+1,tn+1)]H(fθ(x^tnϕ,tn))[tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)τ(un)fθ(xtn+1,tn+1)tn+1τ(un)]}+E[O(Δu)]=θE{λ(tn)[fθ(xtn+1,tn+1)]H(fθ(x^tnϕ,tn))[tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)τ(un)fθ(xtn+1,tn+1)tn+1τ(un)]}+E[O(Δu)]=θE{λ(tn)(τ1)(tn)[fθ(xtn+1,tn+1)]H(fθ(x^tnϕ,tn))[tn+1fθ(xtn+1,tn+1)xtn+1sϕ(xtn+1,tn+1)fθ(xtn+1,tn+1)tn+1]}+E[O(Δu)](27)\begin{aligned} &(N-1)\nabla_{\boldsymbol{\theta}} \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &= {1\over \Delta u} \nabla_{\boldsymbol{\theta}} \mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &= {1\over 2\Delta u} \nabla_{\boldsymbol{\theta}} \mathbb{E} \Big\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) - f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)]^\top \\ & \quad\quad\quad\quad\quad\quad \cdot H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)]\Big\} \\&\quad + \mathbb{E}[O(|\Delta u|^2)] \\ &\overset{(i)}{=}{1\over \Delta u}\mathbb{E}\Big\{\lambda(t_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))\\ &\quad\quad\quad\quad\cdot[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)]\Big\} \\ & \quad + \mathbb{E}[O(|\Delta u|^2)] \\ &\overset{(ii)}{=} {1\over \Delta u} \mathbb{E}\Big\{ \lambda(t_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \\ & \quad\quad\quad\quad\quad \cdot \Big[t_{n+1}{\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n)\Delta u \\ & \quad\quad\quad\quad\quad- {\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} \tau'(u_n)\Delta u \Big] \Big\} + \mathbb{E}[O(|\Delta u|)] \\ &= \mathbb{E}\Big\{ \lambda(t_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \\ & \quad\quad\quad \cdot \Big[t_{n+1}{\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n) \\ &\quad\quad\quad\quad - {\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} \tau'(u_n)\Big] \Big\} \\ &\quad + \mathbb{E}[O(|\Delta u|)] \\ &= \nabla_{\boldsymbol{\theta}}\mathbb{E}\Big\{ \lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \\ & \quad\quad\quad\quad \cdot \Big[t_{n+1}{\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1})\tau'(u_n) \\&\quad\quad\quad\quad\quad- {\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} \tau'(u_n)\Big] \Big\} \\ &\quad + \mathbb{E}[O(|\Delta u|)] \\ &= \nabla_{\boldsymbol{\theta}}\mathbb{E}\Big\{{ \lambda(t_n)\over (\tau^{-1})'(t_n)}[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) \\ & \quad\quad\quad\quad \cdot \Big[t_{n+1}{\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial \bold{x}_{t_{n+1}}}\bold{s}_{\boldsymbol{\phi}}(\bold{x}_{t_{n+1}},t_{n+1}) - {\partial f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1}) \over \partial t_{n+1}} \Big] \Big\} \\ &\quad + \mathbb{E}[O(|\Delta u|)] \end{aligned} \tag{27}
여기서 (i)(i)는 체인룰의 규칙에 의한 것이고 (ii)(ii)θ=stopgrad(θ)\boldsymbol{\theta}^- = \text{stopgrad}(\boldsymbol{\theta})이므로 방정식 19와 fθ(x,t)fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t) \equiv f_{\boldsymbol{\theta}^-}(\bold{x},t)를 따른다. 방정식 28의 양변에 Δu0\Delta u \to 0 (또는 NN \to \infty)로써 극한을 취하면 방정식 24를 산출할 수 있다. 이것으로 증명을 완료한다.
식 26에 대해 gradient를 취한다.
(i)(i)의 식을 이해하기 위해 우선 2차 형식에 대해 다음의 미분 규칙을 보자. 여기서 v\bold{v}는 파라미터 tt의 함수 v=f(t)\bold{v} = f(t)이고, 전체 식을 tt로 미분한다.
t(vAv)=(tv)Av+vA(tv)\nabla_t(\bold{v}^\top\bold{Av}) = (\nabla_t\bold{v})^\top\bold{Av} + \bold{v}^\top\bold{A}(\nabla_t\bold{v})
작성의 편의를 위해 우선 fθ(xtn+1,tn+1)=fθ,fθ(x^tnϕ,tn)=fθf_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1}) = f_{\boldsymbol{\theta}}, f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n) = f_{\boldsymbol{\theta}^-}로 치환하여 2번째 식의 2차형식을 기술하면 다음과 같다. 이 식은 H(fθ)H(f_{\boldsymbol{\theta}^-})가 헤시안이므로 2차 형식이 된다.
[fθfθ]H(fθ)[fθfθ][f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]^\top H(f_{\boldsymbol{\theta}^-})[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]
위의 미분 규칙을 이용하여 위 식을 θ\boldsymbol{\theta}에 대해 미분한다.
θ([fθfθ]H(fθ)[fθfθ])=(θ[fθfθ]H(fθ)[fθfθ])+([fθfθ]H(fθ)θ[fθfθ])=((θfθ)H(fθ)[fθfθ])+([fθfθ]H(fθ)θfθ)=2(θfθ)H(fθ)[fθfθ]\begin{aligned} &\nabla_{\boldsymbol{\theta}}([f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]^\top H(f_{\boldsymbol{\theta}^-})[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]) \\&= (\nabla_{\boldsymbol{\theta}}[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]^\top H(f_{\boldsymbol{\theta}^-})[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}])+([f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]^\top H(f_{\boldsymbol{\theta}^-})\nabla_{\boldsymbol{\theta}}[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]) \\&= ((\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}})^\top H(f_{\boldsymbol{\theta}^-})[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}])+([f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}]^\top H(f_{\boldsymbol{\theta}^-})\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}) \\&= 2(\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}})^\top H(f_{\boldsymbol{\theta}^-})[f_{\boldsymbol{\theta}} - f_{\boldsymbol{\theta}^-}] \end{aligned}
마지막 줄은 그 전의 결과가 대칭이기 때문이다. 마지막 결과를 다시 치환하면 (i)(i)의 식을 복구할 수 있다. 마지막의 상수 2는 기대값 밖으로 나가서 12Δu{1\over 2\Delta u} 1Δu{1\over \Delta u} 로 만든다.
(ii)(ii)의 식은 방정식 19를 따른다.
6번째 식에서 θ\nabla_{\boldsymbol{\theta}}가 기대값 밖으로 나갈 수 있는 이유는 fθ(xtn+1,tn+1)f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) 외의 나머지는 모두 θ\boldsymbol{\theta}에 독립이기 때문이다.
마지막 식은 τ(un)=1τ1(tn+1)\tau'(u_n) = {1\over \tau^{-1}(t_{n+1})}를 따름.
Remark 6.
d(x,y)=xy22d(\bold{x}, \bold{y}) = \|\bold{x}-\bold{y}\|_2^2일 때 pseudo 목적 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})는 다음과 같이 단순화 된다.
LCD(θ,θ;ϕ)=2E[λ(t)(τ1)(t)fθ(xt,t)(fθ(xt,t)ttfθ(xt,t)xtsϕ(xt,t))](28)\begin{aligned} &\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})\\ &= 2\mathbb{E}\left[{\lambda(t) \over ({\tau^{-1})'(t)}} f_{\boldsymbol{\theta}}(\bold{x}_t,t)^\top \left({\partial f_{\boldsymbol{\theta}^-} (\bold{x}_t, t) \over \partial t} - t{\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t, t) \over \partial \bold{x}_t} \bold{s}_{\boldsymbol{\phi}}(\bold{x}_t, t) \right) \right] \end{aligned} \tag{28}
Remark 7.
Theorem 5에서 정의된 목적 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})는 gradient의 측면에서만 의미가 있다. LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})의 값을 추적하여 학습의 진행 상황을 측정할 수 없지만, 이 목적에 gradient descent을 적용하여 pre-trained diffusion 모델에서 consistency model을 distill 할 수 있다. 이 목적이 일반적인 손실 함수가 아니므로 이것을 consistency distillation을 위한 ‘pseudo 목적’이라 부른다.
Remark 8.
Remark 4와 같은 추론에 따라 fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t)sϕ(x,t)\bold{s}_{\boldsymbol{\phi}}(\bold{x},t)를 포함하는 경험적 PF ODE에 대한 ground truth consistency 함수와 일치하면 LCD(θ,θ;ϕ)=0\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = 0θLCD(θ,θ;ϕ)=0\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = 0을 쉽게 유도할 수 있다. 그러나 일반적으로 converse(역)은 성립하지 않는다. 이것은 실제 loss 함수인 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta};\boldsymbol{\phi})에서 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})를 구별한다.

B.2 Consistency Training in Continuous Time

놀라운 관찰은 Theorem 5에서 pseudo-목적이 pre-trained diffusion 모델이 없이 추정될 수 있다는 것이다. 이것은 consistency 모델을 직접 consistency 학습을 할 수 있다는 것이다. 더 적용화게 다음 결과가 성립한다.
Theorem 6.
tn=τ(n1N1)t_n = \tau({n-1 \over N-1})이라 하자. 여기서 n1,Nn \in \llbracket1,N\rrbracket이고 τ()\tau(\cdot)τ(0)=ϵ\tau(0) = \epsilonτ(1)=T\tau(1) = T와 함께 strictly monotonic 함수이다. τ\tau[0,1][0,1]에서 연속으로 미분가능하고 dd는 3번 연속적으로 미분 가능하며 bounded 3번째 미분값을 갖는다고 하자. fθf_{\boldsymbol{\theta}}는 2번 연속 미분 가능하며 bounded 첫 번째와 두 번째 미분 값을 갖는다. 또한 가중치 함수 λ()\lambda(\cdot)이 bounded이고, E[logptn(xtn)22]<\mathbb{E}[\|\nabla \log p_{t_n}(\bold{x}_{t_n})\|_2^2] < \infty이고 supx,t[ϵ,T]θfθ(x,t)2<\sup_{\bold{x},t\in[\epsilon,T]}\|\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x},t)\|_2 < \infty이고 ϕ\boldsymbol{\phi}sϕ(x,t)logpt(x)\bold{s}_{\boldsymbol{\phi}}(\bold{x},t) \equiv \nabla \log p_t(\bold{x})를 만족하는 diffusion 모델 파라미터를 나타낸다고 하자. 그러면 θ=stopgrad(θ)\boldsymbol{\theta}^- = \text{stopgrad}(\boldsymbol{\theta})이면 다음이 성립한다.
limN(N1)θLCDN(θ,θ;ϕ)=limN(N1)θLCTN(θ,θ)=θLCT(θ,θ)(29)\begin{aligned} \lim_{N\to\infty}(N-1)\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) &= \lim_{N\to\infty}(N-1)\nabla_{\boldsymbol{\theta}} \mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \\ &= \nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-) \end{aligned} \tag{29}
LCTN\mathcal{L}_{\text{CT}}^N이 식 30과 같을 때 limN(N1)LCTN\lim_{N \to \infty}(N-1)\mathcal{L}_{\text{CT}}^NLCT\mathcal{L}_{\text{CT}}^\infty에 수렴한다는 내용. 또한 이것은 Theorem 5의 consistency distillation과도 연결된다.
여기서 LCDN\mathcal{L}_\text{CD}^N는 Euler ODE solver를 사용한다. 그리고
LCT(θ,θ):=E[λ(t)(τ1)(t)fθ(xt,t)H(fθ(xt,t))(fθ(xt,t)t+fθ(xt,t)xtxtxt)](30)\begin{aligned} \mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-) & := \mathbb{E}\Big[{\lambda(t) \over (\tau^{-1})'(t)}f_{\boldsymbol{\theta}}(\bold{x}_t,t)^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}_t,t)) \\ &\quad\quad\quad\cdot \left({\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t, t) \over \partial t} + {\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t,t) \over \partial \bold{x}_t}{\bold{x}_t - \bold{x} \over t} \right) \Big] \end{aligned} \tag{30}
여기서 위의 기대는 xpdata\bold{x} \sim p_\text{data}에 관해 취해지고 uU[0,1]u \sim \mathcal{U}[0, 1]이고 t=τ(u)t = \tau(u)이고 xtN(x,t2I)\bold{x}_t \sim \mathcal{N}(\bold{x}, t^2\bold{I})이다.
증명.
증명은 대부분 Theorem 5의 것을 따른다. 우선 테일러 급수 전개를 활용하여 다음을 얻는다.
(N1)LCTN(θ,θ)=1ΔuLCTN(θ,θ)=1ΔuE[λ(tn)d(fθ(x+tn+1z,tn+1),fθ(x+tnz,tn))]=(i)12Δu(E{λ(tn)[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]H(fθ(x+tnz,tn))[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]}+E[O(Δu3)])=12ΔuE{λ(tn)[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]H(fθ(x+tnz,tn))[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]}+E[O(Δu2)])(31)\begin{aligned} &(N-1)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \\ &= {1\over \Delta u}\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \\ &={1\over \Delta u}\mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1}),f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n))] \\ &\overset{(i)}{=}{1\over 2\Delta u} \Big( \mathbb{E}\Big\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad\quad\cdot [f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1})-f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)]\Big\} \\& \quad+ \mathbb{E}[O(|\Delta u|^3)] \Big) \\ &= {1\over2 \Delta u} \mathbb{E}\Big\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad\quad\cdot [f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1})-f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)]\Big\} \\ &\quad + \mathbb{E}[O(|\Delta u|^2)] \Big) \end{aligned} \tag{31}
여기서 zN(0,I)\bold{z} \sim \mathcal{N}(\bold{0}, \bold{I})이다. (i)(i)d(,fθ(x+tnz,tn))d(\cdot, f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n))을 2차까지 확장한 다음에 d(x,x)0d(\bold{x},\bold{x}) \equiv 0yd(y,x)y=x0\nabla_{\bold{y}}d(\bold{y},\bold{x})|_{\bold{y}=\bold{x}} \equiv \bold{0}임에 유의하여 유도될 수 있다.
위 식은 방정식 26을 따른다.
다음으로 θ\boldsymbol{\theta}에 대하여 방정식 31의 gradient를 계산하고 그 결과를 단순화하여 다음을 얻을 수 있다.
(N1)LCTN(θ,θ)=1ΔuLCTN(θ,θ)=12ΔuθE{λ(tn)[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]H(fθ(x+tnz,tn))[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]}+E[O(Δu2)]=(i)1ΔuE{λ(tn)[θfθ(x+tn+1z,tn+1)]H(fθ(x+tnz,tn))[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]}+E[O(Δu2)]=(ii)1ΔuE{λ(tn)[θfθ(x+tn+1z,tn+1)]H(fθ(x+tnz,tn))[τ(un)Δu1fθ(x+tnz,tn)z+2fθ(x+tnz,tn)τ(un)Δu]}+E[O(Δu)]=E{λ(tn)τ(un)[θfθ(x+tn+1z,tn+1)]H(fθ(x+tnz,tn))[1fθ(x+tnz,tn)z+2fθ(x+tnz,tn)}+E[O(Δu)]=θE{λ(tn)τ(un)[fθ(x+tn+1z,tn+1)]H(fθ(x+tnz,tn))[1fθ(x+tnz,tn)z+2fθ(x+tnz,tn)]}+E[O(Δu)]=θE{λ(tn)τ(un)[fθ(xtn+1,tn+1)]H(fθ(xtn,tn))[1fθ(xtn,tn)xtnxtn+2fθ(xtn,tn)]}+E[O(Δu)]=θE{λ(tn)(τ1)(tn)[fθ(xtn+1,tn+1)]H(fθ(xtn,tn))[1fθ(xtn,tn)xtnxtn+2fθ(xtn,tn)]}+E[O(Δu)](32-33)\begin{aligned} &(N-1)\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \\ &= {1\over \Delta u}\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-) \\ &={1\over 2\Delta u}\nabla_{\boldsymbol{\theta}}\mathbb{E}\{\lambda(t_n)[f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1})-f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad\quad\quad\cdot[f_{\boldsymbol{\theta}}(\bold{x}+t_{n+1}\bold{z},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\bold{x} + t_n\bold{z}, t_n)]\} + \mathbb{E}[O(|\Delta u|^2)] \\ &\overset{(i)}{=} {1\over \Delta u} \mathbb{E}\{\lambda(t_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad \cdot [f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1}) - f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)]\} + \mathbb{E}[O(|\Delta u|^2)] \\ &\overset{(ii)}{=} {1\over \Delta u} \mathbb{E}\{\lambda(t_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad\quad[\tau'(u_n)\Delta u\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)\bold{z} + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x} + t_n\bold{z},t_n)\tau'(u_n)\Delta u]\} \\ & \quad + \mathbb{E}[O(|\Delta u|)] \\ &= \mathbb{E}\{\lambda(t_n)\tau'(u_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad\quad[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)\bold{z} + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x} + t_n\bold{z},t_n)\} + \mathbb{E}[O(|\Delta u|)] \\ &= \nabla_{\boldsymbol{\theta}}\mathbb{E}\{\lambda(t_n)\tau'(u_n)[f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)) \\ & \quad\quad\quad\quad\quad[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)\bold{z} + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x} + t_n\bold{z},t_n)]\} + \mathbb{E}[O(|\Delta u|)] \\ &= \nabla_{\boldsymbol{\theta}}\mathbb{E}\Big\{\lambda(t_n)\tau'(u_n)[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}_{t_n},t_n)) \\ & \quad\quad\quad\quad\quad\Big[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_n},t_n){\bold{x}_{t_n} - \bold{x} \over t_n} + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x}_{t_n},t_n)\Big]\Big\} + \mathbb{E}[O(|\Delta u|)] \\ &= \nabla_{\boldsymbol{\theta}}\mathbb{E}\Big\{{\lambda(t_n)\over(\tau^{-1})'(t_n)}[f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}}, t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}_{t_n},t_n)) \\ & \quad\quad\quad\quad\quad\Big[\partial_1 f_{\boldsymbol{\theta}^-}(\bold{x}_{t_n},t_n){\bold{x}_{t_n} - \bold{x} \over t_n} + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x}_{t_n},t_n)\Big]\Big\} + \mathbb{E}[O(|\Delta u|)] \end{aligned} \tag{32-33}
여기서 (i)(i)의 결과는 체인룰에서 오고, (ii)(ii)는 테일러 전개에서 온다. 방정식 33의 양변에 Δu0\Delta u \to 0 또는 NN \to \infty와 같이 극한을 취하면 방정식 28의 두 번째 등식을 산출한다.
(i)(i)은 방정식 27의 (i)(i)과 동일하다
(ii)(ii)에서 우선 fθ(x+tn+1z,tn+1)f_{\boldsymbol{\theta}^-}(\bold{x}+t_{n+1}\bold{z},t_{n+1})를 다음과 같이 테일러 전개 하여 대입한다. 여기서 마지막 줄은 식 19에 대한 설명 중 tntn+1τ(un)Δut_n - t_{n+1} \approx -\tau'(u_n)\Delta u를 따른다.
fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)+1fθ(x+tnz,tn)(tn+1ztnz)+2fθ(x+tnz,tn)(tn+1tn)=fθ(x+tnz,tn)+1fθ(x+tnz,tn)(τ(un)Δuz)+2fθ(x+tnz,tn)(τ(un)Δu)\begin{aligned} & f_{\boldsymbol{\theta}^-}(\bold{x}+t_{n+1}\bold{z},t_{n+1}) \\ &\approx f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n) + \partial_1f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)( t_{n+1}\bold{z}-t_n\bold{z}) + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)( t_{n+1}-t_n) \\ &= f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n) + \partial_1f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n) (\tau'(u_n)\Delta u \bold{z}) + \partial_2f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n)( \tau'(u_n)\Delta u) \end{aligned}
마지막 전은 정의 xtnN(x;tn2I)\bold{x}_{t_{n}} \sim \mathcal{N}(\bold{x};t_{n}^2\bold{I})xtn=x+tnz\bold{x}_{t_n} = \bold{x} + t_n\bold{z}를 따르고, 이를 z\bold{z}에 대해 정리한 z=xtnxtn\bold{z} = {\bold{x}_{t_n} - \bold{x} \over t_n}를 따름.
마지막 식은 τ(un)=1τ1(tn+1)\tau'(u_n) = {1\over \tau^{-1}(t_{n+1})}를 따름.
이제 첫 번째 등식을 증명한다. 테일러 전개를 다시 적용해서 다음을 얻는다.
(N1)θLCDN(θ,θ;ϕ)=1ΔuθLCDN(θ,θ;ϕ)=1ΔuθE[λ(tn)d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))]=1ΔuE[λ(tn)θd(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))]=1ΔuE[λ(tn)θfθ(xtn+1,tn+1)1d(fθ(xtn+1,tn+1),fθ(x^tnϕ,tn))]=1ΔuE{λ(tn)θfθ(xtn+1,tn+1) [1d(fθ(x^tnϕ,tn),fθ(x^tnϕ,tn))+H(fθ(x^tnϕ,tn))(fθ(xtn+1,tn+1)fθ(x^tnϕ,tn))+O(Δu2)]}=1ΔuE{λ(tn)θfθ(xtn+1,tn+1)[H(fθ(x^tnϕ,tn))(fθ(xtn+1,tn+1)fθ(x^tnϕ,tn))]+O(Δu2)}=1ΔuE{λ(tn)θfθ(xtn+1,tn+1)[H(fθ(x^tnϕ,tn))(fθ(xtn+1,tn+1)fθ(x^tnϕ,tn))]+O(Δu2)}=(i)1ΔuE{λ(tn)[θfθ(x+tn+1z,tn+1)]H(fθ(x+tnz,tn))[fθ(x+tn+1z,tn+1)fθ(x+tnz,tn)]}+E[O(Δu2)]\begin{aligned} &(N-1)\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &= {1\over \Delta u}\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) \\ &={1\over \Delta u}\nabla_{\boldsymbol{\theta}}\mathbb{E}[\lambda(t_n)d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))] \\ &={1\over \Delta u}\mathbb{E}[\lambda(t_n)\nabla_{\boldsymbol{\theta}}d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))] \\ &={1\over \Delta u}\mathbb{E}[\lambda(t_n)\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})^\top\partial_1d(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}),f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))] \\ &={1\over \Delta u}\mathbb{E}\Big\{\lambda(t_n)\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})^\top\\\ &\quad\quad\quad\quad\cdot\Big[\partial_1d(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n), f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))+H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})\\ &\quad\quad\quad\quad\quad-f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) + O(|\Delta u|^2)\Big]\Big\} \\ &={1\over \Delta u}\mathbb{E}\Big\{\lambda(t_n)\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})^\top\Big[H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))(f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})-f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))\Big] \\ &\quad\quad\quad\quad + O(|\Delta u|^2)\Big\} \\ &={1\over \Delta u}\mathbb{E}\Big\{\lambda(t_n)\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1})^\top\Big[H(f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))(f_{\boldsymbol{\theta}^-}(\bold{x}_{t_{n+1}},t_{n+1})-f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n))\Big] \\ &\quad\quad\quad\quad + O(|\Delta u|^2)\Big\} \\ &\overset{(i)}{=}{1\over \Delta u}\mathbb{E}\Big\{\lambda(t_n)[\nabla_{\boldsymbol{\theta}}f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1})]^\top H(f_{\boldsymbol{\theta}^-}(\bold{x}+t_n\bold{z},t_n))\\& \quad\quad\quad\quad\cdot[f_{\boldsymbol{\theta}}(\bold{x} + t_{n+1}\bold{z},t_{n+1})-f_{\boldsymbol{\theta}^-}(\bold{x} + t_n\bold{z},t_n)]\Big\} + \mathbb{E}[O(|\Delta u|^2)] \end{aligned}
여기서 (i)(i)xtn+1=x+tn+1z\bold{x}_{t_{n+1}} = \bold{x} + t_{n+1}\bold{z}이고 x^tnϕ=xtn+1(tntn+1)tn+1(xtn+1x)tn+12=xtn+1+(tntn+1)z=x+tnz\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}} = \bold{x}_{t_{n+1}} - (t_n - t_{n+1})t_{n+1}{-(\bold{x}_{t_{n+1}} - \bold{x}) \over t_{n+1}^2} = \bold{x}_{t_{n+1}} + (t_n - t_{n+1})\bold{z} = \bold{x} + t_n\bold{z} 때문이다. (i)(i)이 방정식 32와 일치하므로 방정식 32에서 방정식 33으로 동일한 절차를 사용할 수 있고 limN(N1)θLCDN(θ,θ;ϕ)=limN(N1)θLCTN(θ,θ)\lim_{N \to \infty}(N-1)\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CD}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi}) = \lim_{N\to\infty}(N-1)\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CT}^N(\boldsymbol{\theta},\boldsymbol{\theta}^-)라고 결론 내릴 수 있다. 증명이 완료되었다.
위의 4, 5번째 식을 유도하기 위해 일단 다음과 같이 대체한다.
fθ(xtn+1,tn+1)=fθfθ(x^tnϕ,tn))=fθ\begin{aligned}f_{\boldsymbol{\theta}}(\bold{x}_{t_{n+1}},t_{n+1}) &= f_{\boldsymbol{\theta}} \\ f_{\boldsymbol{\theta}^-}(\hat{\bold{x}}_{t_n}^{\boldsymbol{\phi}},t_n)) &=f_{\boldsymbol{\theta}^-} \end{aligned}
4번째 식을 이 표기로 작성하면 아래와 같은 식이 되는데 이게 어떻게 이렇게 유도되는지 알 수 없다. 오타일 것으로 보임. 일단 패스
d(fθ,fθ)=fθ1d(fθ,fθ)d(f_{\boldsymbol{\theta}},f_{\boldsymbol{\theta}^-}) = f_{\boldsymbol{\theta}}^\top \partial_1 d(f_{\boldsymbol{\theta}},f_{\boldsymbol{\theta}^-})
위의 5번째 식은 f(x,y)f(x, y)f(a,y)f(a, y)로 1차 테일러 근사할 때 다음과 같이 되는 것을 따른다.
f(x,y)f(a,y)+af(a,y)(xa)+yf(a,y)(yy)+higher termsf(x, y) \approx f(a, y) + {\partial \over \partial a}f(a, y) (x-a)+ \cancel{{\partial \over \partial y}f(a, y) (y-y)} + \text{higher terms}
이에 따라 5번째 식을 전개하면 다음과 같다. (이것은 위 예시에서 f(x,y)f(x, y)f(y,y)f(y, y)로 근사하는 경우다)
1d(fθ,fθ)1d(fθ,fθ)+1d(fθ,fθ)(fθfθ)+1d(fθ,fθ)(fθfθ)+O(Δu2)\partial_1d(f_{\boldsymbol{\theta}},f_{\boldsymbol{\theta}^-}) \approx \partial_1 d(f_{\boldsymbol{\theta}^-},f_{\boldsymbol{\theta}^-}) + \nabla \partial_1d(f_{\boldsymbol{\theta}^-},f_{\boldsymbol{\theta}^-})(f_{\boldsymbol{\theta}}-f_{\boldsymbol{\theta}^-}) + \cancel{\nabla \partial_1d(f_{\boldsymbol{\theta}^-},f_{\boldsymbol{\theta}^-})(f_{\boldsymbol{\theta}^-}-f_{\boldsymbol{\theta}^-})} + O(\Delta u|^2)
위 식에서 1d(fθ,fθ)\nabla \partial_1d(f_{\boldsymbol{\theta}^-},f_{\boldsymbol{\theta}^-})는 2번 미분한 것이므로 헤시안이 되고, 치환을 되돌리면 5번째 식이 복구된다.
Remark 9.
LCT(θ,θ)\mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-)가 diffusion model 파라미터 ϕ\boldsymbol{\phi}에 의존하지 않는다는 것에 유의하라. 따라서 pre-trained diffusion 모델 없이 최적화 될 수 있다.
Remark 10.
d(x,y)=xy22d(\bold{x},\bold{y}) = \|\bold{x}-\bold{y}\|_2^2일 때 continuous-time consistency training(CT) 목적은 다음이 된다.
LCT(θ,θ)=2E[λ(t)(τ1)(t)fθ(xt,t)(fθ(xt,t)t+fθ(xt,t)xtxtxt)](34)\begin{aligned} \mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-) &= 2\mathbb{E}\Big[{\lambda(t) \over (\tau^{-1})'(t)}f_{\boldsymbol{\theta}}(\bold{x}_t,t)^\top \\ & \quad\quad\quad\cdot\left({\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t,t) \over \partial t} + {\partial f_{\boldsymbol{\theta}^-}(\bold{x}_t,t) \over \partial \bold{x}_t} {\bold{x}_t - \bold{x} \over t}\right) \Big] \end{aligned} \tag{34}
Remark 11.
Theorem 5에서 LCD(θ,θ;ϕ)\mathcal{L}_\text{CD}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-;\boldsymbol{\phi})와 유사하게 LCT(θ,θ)\mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-)는 pseudo-objective이다. LCT(θ,θ)\mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-)의 값을 모니터링 하여 학습을 추적할 수 없지만 이 loss 함수에 대해 gradient descent를 적용하여 데이터에서 consistency 모델 fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t)를 직접 학습할 수 있다. 게다가 Remark 8의 동일한 관찰이 참이다. fθ(x,t)f_{\boldsymbol{\theta}}(\bold{x},t)이 PF ODE에 대한 ground truth consistency 함수와 일치하면 LCT(θ,θ)=0\mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-) = 0이고 θLCT(θ,θ)=0\nabla_{\boldsymbol{\theta}}\mathcal{L}_\text{CT}^\infty(\boldsymbol{\theta},\boldsymbol{\theta}^-) = 0이다.