링크 :
$$ \frac{dX_k}{dt} = -X_{k-1}(X_{k-2} - X_{k+1}) - X_k + F - \frac{hc}{b} \sum_{j=1}^{J} Y_{k,j}
\\
\frac{dY_{k,j}}{dt} = -cb Y_{k,j+1}(Y_{k,j+2} - Y_{k,j-1}) - c Y_{k,j} + \frac{hc}{b} X_k
\\
\begin{align*} &X_k: \text{Large-scale variable (slow dynamics)} \\ &Y_{k,j}: \text{Small-scale variable (fast dynamics)} \\ &F: \text{External forcing term} \\ &c, b, h: \text{Constants for coupling and scaling} \end{align*}
$$
논문에서는 계산된 x를 이용하여 $\frac{hc}{b} \sum_{j=1}^{J} Y_{k,j}$ 을 Neural Network $S_\theta$로 근사하며, 나머지는 Neural ODE의 Approach(=NN이 출력한 기울기를 ode_solver로 풀어서 계산한 predicted trajectory와 2-stage lorenz 96 system을 풀어서 계산한 True Tracjetory과의 loss를 최소화)하는 방식을 이용한다.
$$ \frac{dX_k^}{dt} = -X_{k-1}^(X_{k-2}^* - X_{k+1}^) - X_k^ + F - S_\theta{(X_k^*)}
\\
\frac{dY_{k,j}^}{dt} = -cb Y_{k,j+1}^(Y_{k,j+2}^* - Y_{k,j-1}^) - c Y_{k,j}^ + \frac{hc}{b} X_k^*
\\
\begin{align*} &X_k^: \text{Forecasted Large-scale variable (slow dynamics)} \\ &Y_{k,j}^: \text{Forecasted Small-scale variable (fast dynamics)} \\ &F: \text{External forcing term} \\ &c, b, h: \text{Constants for coupling and scaling} \end{align*}
$$
정확히 말하면, 이 접근법은 Neural Ordinary Differential Equation이라기보다는 Universal Differential Equation 이라고 보는 게 맞을 것으로 보인다.
랜덤하게 초기 조건을 셋팅하고, ERK4 방법으로 X, Y를 생성하여 Z로 정의한다.
$Z = [Z^1, Z^2, ..., Z^p]\quad where \quad Z^i = [(X_{1}^i, Y_{1}^i), (X_{2}^i, Y_{2}^i), ..., (X_{t_s}^i, Y_{t_s}^i),...,(X_{T}^i, Y_{T}^i)]$
학습 데이터는 생성된 데이터에서 n개의 trajectory와 시작 시점 t_s를 임의로 선택하여, 해당 시점 이후부터 m개의 데이터를 추출한다.
$$ [Z_{t_s}^{(i)}, Z_{t_s+\triangle t}^{(i)}, ..., Z_{t_s+m\triangle t}^{(i)}] \quad i = 1, 2, ..., n $$
$$ [\hat Z_{t_s}^{(i)}, \hat Z_{t_s+\triangle t}^{(i)}, ..., \hat Z_{t_s+m\triangle t}^{(i)}] \quad i = 1, 2, ..., n $$