Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

기억보다 기록을

Next Generation Reservoir Computing 읽기 본문

Research

Next Generation Reservoir Computing 읽기

쿠키아버님 2026. 1. 25. 13:35

Next Generation Reservoir Computing (NG-RC) 에 대해 알아보자.

 

 

 

Reservoir computing (RC)의 고질적인 문제점은...

  1. 행렬 \( A \)나 \( W_{in} \) 을 랜덤하게 설정했기 때문에 성능이 들쭉날쭉함
  2. \( \alpha \) 등의 parameter 값에 따라 성능이 달라지기 때문에 tuning하는데 드는 cost가 많았음

 

 

 

그래서 저자들이 NG-RC를 소개하며 이야기하고 싶은 것이 무엇인가?

  1. RC에서처럼 행렬을 랜덤하게 만들어서 학습할 필요 없이, Time-delayed data와 약간의 nonlinear term정도만 가지고도 좋은 성능을 낼 수 있다
  2. 기존의 RC에서 parameter tuning에 소요가 많이 들었던 반면 NG-RC는 그 정도가 덜하다
  3. 사실은 기존의 RC도 Nonlinear Vector AutoRegression (NVAR)의 implicit form 였다..
  4. RC에서 초기 조건의 영향력을 없애기 위해 날려야하는 앞부분 데이터가 꽤 많았지만 NG-RC는 예열 과정 (warm-up period)이 획기적으로 단축되었다. 
  5. NG-RC로 forecasting을 한다면.. 특정 Lyapunov time까지의 short term prediction은 아주 잘 working한다

 

 

기존의 RC 수식을 보자.

 

$$ \mathbf{r}_{i+1} = (1 - \gamma)\mathbf{r}_i + \gamma f(\mathbf{A}\mathbf{r}_i + \mathbf{W}\mathbf{X}_i + \mathbf{b}), $$

 

여기서 \( A \)는 node간의 adjacency matrix이고, \( \gamma \)는 leakage rate, \( W \)는 입력값에서 reservoir layer로 보내는 weight matrix, \( b\)는 bias term, \( f \)는 일종의 activation function 역할을 한다 (2번 논문 참고).

 

Tikhonov regularization (Ridge regression)을 통해 output weight matrix인 \( W_{out}\)을 구하고,

출력값인 \( Y \)를 feature vector인 \( \mathbb{O} \)와의 연산을 통해 계산했다.

 

$$ \mathbf{Y}_{i+1} = \mathbf{W}_{\text{out}}\mathbb{O}_{\text{total},i+1}, $$

 

참고로 2번 논문에서는 \( f(x)=\text{ tanh }(x)\)를 사용했고, \( \mathbb{O}_{\text{total}, i} = r_i\)를 사용했다.

$$ \hat{\mathbf{s}}(t) = \mathbf{W}^*_{out}\mathbf{r}(t) + \mathbf{c}^*, $$

 

 

 

이 논문의 저자들은 \( \mathbb{O_{\text{total}}} \)을 굳이 linear로 한정하지 말고, nonlinear term까지 추가해서 써보자! 라고 제안한다.

 

예시로 저자들은 Hadamard product를 사용하여 \( \mathbb{O_{\text{total}}} \) 을 linear term & nonlinear term을 concatenate한 큰 덩어리로 변형했다.

 

 

예를 들어서 time step이 \( T\)개 있고, \( r(t) \in \mathbb{R}^N \)이라면 (4)번 수식에서 \( \mathbb{O_{\text{total}}} \)  의 형태는 다음과 같다 : 

$$
\mathbb{O}_{\text{total}} =
\begin{bmatrix}
r_{1,1} & r_{1,2} & \cdots & r_{1,N} & r_{1,1}^2 & r_{1,2}^2 & \cdots & r_{1,N}^2 \\
r_{2,1} & r_{2,2} & \cdots & r_{2,N} & r_{2,1}^2 & r_{2,2}^2 & \cdots & r_{2,N}^2 \\
\vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \ddots & \vdots \\
r_{T,1} & r_{T,2} & \cdots & r_{T,N} & r_{T,1}^2 & r_{T,2}^2 & \cdots & r_{T,N}^2
\end{bmatrix}
$$

 

 

 

그럼 다음으로 생기는 질문은, linear term인 \( \mathbb{O_{\text{lin}}} \) 과 nonlinear term인 \( \mathbb{O_{\text{nonlin}}} \) 을 어떻게 구성할것인가? 이다

 

저자들은 linear feature를 time-delayed component로부터 구성했는데, 이 지점에서 parameter \( k\)와 \( s \)가 등장한다.

  • \(k \) : Number of delays. 과거를 몇개나 볼 것인가? (ex : \( k=2 \)면 현재와 바로 직전 정보만 사용)
  • \(s \) : Number of stride. 데이터 간격 (ex : \( s=5\)면 \(t, \, t-5, \, t-10, \cdots \) 데이터 사용)

그래서 만약 입력값이 \( d \)차원이라면, linear term은 매 타임스텝마다 \( d \times k \) 크기의 벡터가 된다.

 

 

 

 

이론적으로는 퍼포먼스를 향상시키기 위해서 \( k \)의 값을 infinite하게 둬야하지만,

실제로는 Volterra series의 매우 빠른 수렴 속도 덕분에 작은 값의 \( k\)로도 우수한 퍼포먼스를 낸다고 한다.

 

 

 

다음으로 nonlinear feature vector를 어떻게 구성할 것인가? 에 대한 질문이 남는다.

 

마치 SINDy에서 trigonometric function, polynomial, logarithmic function 등 다양한 선택지를 놓고 시스템을 가장 잘 표현하는 최적의 라이브러리(Library)를 구성하듯이 원하는만큼 비선형 함수를 나열 할 수도 있지만,

 

저자들은 낮은 차수의 polynomial만 써도 충분하다! 라고 주장한다

 

 

 

\( \mathbb{O}_{\text{nonlinear}}^{(P)} \) 를 linear term을 P번 outer product한 행렬로 정의하자.

 

\( \mathbb{O_{\text{lin}}} \) 이 길이가 \( d k \)이기 때문에 outer product에서 중복된 term을 제거하면 \( \mathbb{O}_{\text{nonlinear}}^{(2)} \) 의 길이는 upper triangle의 원소 개수인 \( (dk)(dk+1)/2 \)가 된다.

 

예를 들어서 \( \mathbb{O_{\text{lin}}} \)의 원소 개수가 3개라면,

$$
\mathbb{O}_{\text{lin}} =
\begin{bmatrix}
a \\
b \\
c
\end{bmatrix}
$$

 

외적을 한 형태는 다음과 같이 생기고,

$$
\begin{bmatrix}
a \\
b \\
c
\end{bmatrix}
\times
\begin{bmatrix}
a & b & c
\end{bmatrix}
=
\begin{bmatrix}
\mathbf{a^2} & \mathbf{ab} & \mathbf{ac} \\
ba & \mathbf{b^2} & \mathbf{bc} \\
ca & cb & \mathbf{c^2}
\end{bmatrix}
$$

 

upper triangle의 원소만을 모아서 나열하면 \( \mathbb{O_{\text{lin}}} ^{(2)}\) 는 다음과 같이 생긴다.

$$
\mathbb{O}_{\text{nonlinear}}^{(2)} =
\begin{bmatrix}
a^2 \\
ab \\
ac \\
b^2 \\
bc \\
c^2
\end{bmatrix}
$$

 

 

이렇게 구축한 feature vector들을 다 concatenate해서 최종적으로 만든 \( \mathbb{O}_{\text{total}} \)와 Ridge regression을 통해 찾은 \( W_{out} \) 을 통해 최종적으로 원하는 타겟 변수를 추론한다.

 

$$ \mathbb{O}_{\text{total}} = c \oplus \mathbb{O}_{\text{lin}} \oplus \mathbb{O}_{\text{nonlin}} $$

$$ \mathbf{X}(t + dt) = \mathbf{W}_{\text{out}}\mathbb{O}_{\text{total}}(t) $$

 

 

RC 대비 NG-RC의 장점 중 하나는, 워밍업에 필요한 데이터 수가 아주 적다는 것이다.

RC의 경우 초기 조건의 영향력을 없애기 위해 약 \( 10^3 \) 개 이상의 데이터를 버려야했지만, 

NG-RC는 feature vector인 \( \mathbb{O_{\text{lin}}} \) 을 구성하기 위해 \( s \times k \)개의 데이터만을 요구한다.

이러한 특징은 데이터가 아주 희소한 문제를 다룰 때 유용하게 쓰일 것으로 기대된다.

 

 

또한 NG-RC는 RC 대비 계산 속도가 매우 빠르다고 한다.

Nonlinear Vector Autoregression (NVAR)은 시계열 예측에서 다변수들 간의 비선형 연산을 통해 미래 값을 추정하는 회귀분석 기법이다.

이 논문의 저자 중 한명인 Erik Bollt가 작성한 논문 (3번 논문, 원 논문에서는 18번)에는 

"선형 노드를 가진 RC에 비선형 출력(Nonlinear readout)을 달면, 그건 수학적으로 NVAR와 완전히 똑같다."

에 대한 증명이 담겨있다.

덕분에 기존 RC 대비 NG-RC는 고전적 통계 기법인 NVAR 구조를 사용함으로써 Parameter tuning, 행렬 무작위 선정 등에 필요한 computation cost를 획기적으로 줄였다고 한다.

 

 

 

 

 

Result 단락에서 저자들은 Lorenz system과 double-scroll system에 대해 NG-RC를 시행한 그림들을 제시했다.

 

FIG 2는 Lorenz system을 NG-RC로 예측한 결과이다.

이 경우에는 특정 시점까지 \( x,\,y,\,z \) 3개의 정보를 모두 주고 NG-RC를 통해 그 시점 이후를 예측하는 방식을 사용했다.

training phase에서는 실제 값과 모델 예측 값이 아주 잘 맞는 것을 볼 수 있고 (두 곡선이 겹쳐있음),

testing phase에서도 약 5 Lyapunov time까지는 잘 맞추는 것을 볼 수 있다.

 

 

 

FIG 4에서는 Lorenz system에서 \(x,\,y \) 정보를 주고 NG-RC 방법론을 사용하여 \(z \)를 추론한 결과를 나타냈다.

 

두 곡선이 거의 겹쳐있으니 매우 성능이 우수하다는 것을 확인할 수 있다.

 


참고문헌

  1. Gauthier, D.J., Bollt, E., Griffith, A. et al. Next generation reservoir computing. Nat Commun 12, 5564 (2021). https://doi.org/10.1038/s41467-021-25801-2 
  2. Lu, Z., Pathak, J., Hunt, B., Girvan, M., Brockett, R., & Ott, E. (2017). Reservoir observers: Model-free inference of unmeasured variables in chaotic systems. Chaos (Woodbury, N.Y.), 27(4), 041102. https://doi.org/10.1063/1.4979665
  3. Bollt, E. On explaining the surprising success of reservoir computing forecaster of chaos? The universal machine learning dynamical system with contrast to VAR and DMD. Chaos 31, 013108 (2021).