요즘 Flow matching을 사용하고 있다. flow matching 논문에서는 t=0에서 쉬운 분포 t=1에서 데이터 분포로 두고 논의를 전개하지만 나는 t=0을 데이터 분포 t=1을 쉬운 분포로 두고 있다. 이렇게 했을 때 proability path의 mean과 covariance를 아래와 같이 만들어 냈다. 나는 speech enhancement를 하고 있기 때문에 아래는 x0는 clean speech를 의미하고 y 는 noisy speech 이다.
\mu(t) = (1-t)x_0+ty, \sigma(t) = (1-t)\sigma_{min} + t \sigma_{max}Flow matching 사용하면 수렴이 잘 되는것 같은데 score matching과는 다르게 langeving dynamics를 쓸 순 없다. 쓸수 없다고만 생각했는데! Flow matching논문에서 말하기를 기존의 sde기반의 diffusion의 probability flow ode를 flow matching에서 말하는 ode로 해석할 수 있다고 한다. 그러면 flow matching에서 만든 ode에 대응하는 sde를 구하면 되겄다. 어떤 sde를 구하고 그것의 mean과 covariance가 \mu(t) = (1-t)x_0+ty, \sigma(t) = (1-t)\sigma_{min} + t \sigma_{max} 이렇게만 되면 되는데! 어떻게 구할 것인가? mean을 (1-t)x_0+ty로 맞춰주기 위해서는 아래의 drift term을 (y-x)/(1-t)를 갖는 SDE가 필요하다.
dx = (y-x)/(1-t)dt + g(t) dw그러면 g(t)는 어떻게 잡아야 할 것인가? 아래와 같이 잡으면 된다.
g^2(t)= \frac{2 \sigma_{max}^2}{1-t}- 2\sigma_{max}(\sigma_{max}-\sigma_{min})그러면 이식이 어떻게 나왔는지 알 수 있을까? 그것은 Linear sde와 1계 선형미분방정식 풀이법에 대해 알고있으면 된다.
Linear SDE (Stochastic Differential Equation) 선형 확률미분방정식 의 solution 을 구하기