AI바라기의 인공지능

개념정리 : SSM(state space model) 본문

인공지능

개념정리 : SSM(state space model)

AI바라기 2026. 3. 25. 18:09

1. '시간'을 바라보는 관점의 차이

RNN이나 트랜스포머에게 '시간'이란, 사실 시간이 아닙니다. 그냥 데이터가 들어온 '순서(Index)'일 뿐. 왜냐하면 t를 입력으로 받지 않기때문임.

하지만 SSM은 '시간($t$)'을 단순한 순서표가 아니라 진짜 물리적인 시간으로 모델링.

2. SSM의 핵심: 속도와 흐름 학습

SSM의 뼈대 수식인 $h'(t) = A h(t) + B x(t)$를 말로 풀면 이렇습니다.

"입력($x$)이 들어왔을 때, 내 상태($h$)가 1초당 얼마나 빠르게 변할 것인가($h'$)?”

즉, SSM은 다음 단어가 뭔지 단순 계산하는 게 아니라, 데이터가 시간에 따라 변화하는 '속도'와 '흐름(Dynamics)' 자체를 통째로 학습.

"그래서 시간을 명확히 모델링하면 AI에서 뭐가 좋은데?"

시간을 명확히 모델링했다는 것은 곧, 모델 내부에 **시간 조절 나사($\Delta$, 스텝 사이즈)**가 생겼다는 뜻입니다. 이게 엄청난 정보력, 데이터 사이의 시간 관계마저 활용할 수 있기 때문, 입력 순서보다 더 정보가 많음.

3. A행렬 초기화 문제와 HiPPO

근데 일단 A와 B가 학습가능하지만 아무값이나 초기화 하면 안됨. 안될이유는 없지만 잘 안된다고 함.

왜냐면 A의 거듭제곱 형태때문에 데이터의 수가 많아지면 A의 영향력이 매우 줄거나 매우 커짐.

그래서 적절한 값으로 검증된 초기값이 필요한데 그걸 수학적으로 찾았음.

어떻게 찾냐. HiPPO-LegS 에 때려 넣으면 된다고 함. 자세한건 패스.

4. 은닉 상태 $h$의 진짜 의미 (계수 $c$)

먼저 데이터를 대표하는 함수를 만들어야함. 베이시스와 c의 조합으로 만듬.

$$f(t) \approx c_0\phi_0(t) + c_1\phi_1(t) + \dots + c_{N-1}\phi_{N-1}(t)$$

오차가 적어지는 방향으로 t에 대한 데이터를 예측(정확히는 과거를 시간 함수로 보고, 이를 basis 조합으로 온라인 근사/압축한다.). 

이걸 회귀 같은 방식으로하는데 차이점은 회귀는 모든 데이터를 사용하지만 이건 입력 될떄마다 c를 업데이트해버림.

즉 h엔 데이터를 기억할수 있는 c들이 담겨있는 셈.

(정확히는 HiPPO 관점에서는 ℎt를 과거 함수의 basis 계수 벡터로 해석할 수 있다.)


5. 수식 전개 (추론 vs 학습)

그래서 수식을 다시쓰면 다음과 같다.

[추론(Inference) 시: RNN 형태]

이산화된 $\bar{A}$와 $\bar{B}$를 사용하면 우리가 아주 잘 아는 RNN의 형태가 됩니다. 추론(Inference)할 때 아주 가볍고 빠르게 한 글자씩 뱉어내는 수식입니다.

$$h_t = \bar{A} h_{t-1} + \bar{B} x_t$$
$$y_t = C h_t + D x_t$$

새로운 입력 $x_t$가 들어올 때마다 이전 상태 $h_{t-1}$에 $\bar{A}$를 곱해서 업데이트합니다.

[학습(Training) 시: 합성곱 / Transformer 형태]

이게 SSM이 트랜스포머를 이길 수 있는 무기입니다. $h_0 = 0$이라고 가정하고 위 이산 시간 수식을 쭉 전개해 보면 재미있는 패턴이 나옵니다.

$$y_0 = C\bar{B}x_0$$
$$y_1 = C\bar{A}\bar{B}x_0 + C\bar{B}x_1$$
$$y_2 = C\bar{A}^2\bar{B}x_0 + C\bar{A}\bar{B}x_1 + C\bar{B}x_2$$

이걸 가만히 보면, 입력 $x$에 어떤 '커널(Kernel)'을 곱해서 더하는 CNN(합성곱) 연산과 완전히 똑같아집니다. 이 커널 $\bar{K}$를 수식으로 묶으면 이렇습니다.

$$\bar{K} = (C\bar{B}, C\bar{A}\bar{B}, C\bar{A}^2\bar{B}, \dots, C\bar{A}^L\bar{B})$$
$$y = x * \bar{K}$$

즉, 학습할 때는 과거의 모든 데이터를 RNN처럼 순차적으로 계산할 필요 없이, **커널 $\bar{K}$를 미리 계산해 두고 Transformer처럼 전체 데이터에 한 번에 빵! 하고 병렬 곱셈(Convolution)**을 해버립니다. 그래서 학습 속도가 엄청나게 빠른 것이죠.

(정확히는 “LTI SSM에서는 recurrence를 convolution kernel로 전개할 수 있어서, training 시 병렬 계산이 가능하다.”)


💡 정리

수식을 보면 SSM은 학습할 때는 CNN(합성곱)처럼 병렬로 빠르게 처리하고, 추론할 때는 RNN처럼 메모리를 적게 쓰면서 하나씩 가볍게 뽑아내는 야누스 같은 매력을 가진 모델입니다.

'인공지능' 카테고리의 다른 글

개념정리 : SSM 기반 LLM  (0) 2026.03.26
개념정리 : S4 : Structured State Space Model  (0) 2026.03.25
개념 정리 : Linear Recurrence  (0) 2026.03.25
개념정리 : Sparse Rate Reduction  (0) 2026.03.25
개념 정리 : LayerNorm  (0) 2026.03.16