6주차 - 최신 연구 따라잡기 (1)
Architecture

Table 6 investigates the effects of the architecture (block) and its inner SSM layer (Figure 3). We find that
- Among previous non-selective (LTI) SSMs, which are equivalent to global convolutions, performance is very similar.
- Replacing the complex-valued S4 variant from previous work with a real-valued one does not affect performance much, suggesting that (at least for LM) real-valued SSMs may be a better choice when accounting for hardware efficiency.
- Replacing any of these with a selective SSM (S6) significantly improves performance, validating the motivation of Section 3.
- The Mamba architecture performs similarly to the architecture (and seems slightly better when using a selective layer). We also investigate interleaving the Mamba block with other blocks such as MLP (a traditional architecture) MHA (a hybrid attention architecture) in Appendix E.2.2.
상태 공간(state space)을 설명하기 위해, 제어 이론에서 흔히 사용되는 선형 시스템의 상태 공간 표현을 예로 들어볼 수 있습니다. 선형 시스템은 다음과 같은 형태의 두 선형 방정식으로 표현됩니다: 상태 방정식 (State Equation):
여기서, 출력 방정식 (Output Equation):
여기서,
- 는 시간 에서의 출력 벡터
- 는 출력 행렬로, 상태가 출력에 어떻게 영향
- 는 직접 전달 행렬로, 입력이 출력에 직접적으로 미치는 영향
이러한 표현은 시스템의 현재 상태가 미래 상태와 출력에 어떻게 영향을 미치는지 설명 상태 벡터 는 시스템의 현재 상태를 요약하며, 입력(에 따라 시간이 지남에 따라 어떻게 변화하는지를 모델링 상태 공간 접근 방식은 시스템의 동적 행동을 이해하고 제어하는 데 매우 유용 이는 복잡한 시스템을 간결하게 표현하고, 시스템의 안정성, 제어 가능성, 관측 가능성과 같은 중요한 특성을 분석하는 데 사용
3.5 Properties of Selection Mechanisms
3.5.1 Connection to Gating Mechanisms
Theorem 1.
When , , , and softplus,
then the selective SSM recurrence
Topics Prerequisites Introduction to sequence models State space models
- Fast track math course: differential equations
- State space models
- Discretization
- Recurrent computation
- Convolutional computation
- From 1 dimension to multiple dimensions
- The importance of the A matrix
- The HIPPO matrix Mamba
- Motivation
- Selective Scan
- What is the scan operation?
- Parallel Scan
- Kernel Fusion
- Recomputation (of the activations)
- Model’s architecture
- Performance of the model
- Basics of calculus. High school mathematics will be enough.
- Basic understanding of the Transformer model (and neural networks in general)

State space models
미분 방정식을 푸는 것은 방정식의 양쪽 항을 같게 만드는 함수 를 찾는 것을 의미합니다. 그러나 대부분의 경우 미분 방정식의 해석적 해를 찾기가 어렵기 때문에, 우리는 미분 방정식의 해를 근사하는 방법을 사용합니다. 미분 방정식의 근사 해를 찾는 것은 시스템의 시간에 따른 진화를 설명하는 일련의 등의 수열을 찾는 것을 의미합니다. 따라서 를 찾는 대신, 우리는 를 찾고자 합니다. 여기서 는 우리의 단계 크기입니다.
오일러 메소드를 사용하여 근사 해, 즉 함수 를 찾아봅시다!
-
우선 토끼 개체 수 모델을 다시 써보겠습니다:
-
함수의 미분은 함수의 변화율을 의미
-
즉, 입니다.
-
따라서 작은 단계 크기 를 선택하면 극한을 제거할 수 있습니다: . 를 곱하고 항을 옮기면 다음과 같이 쓸 수 있습니다: 이 방법은 미분 방정식의 근사적 해를 계산하는 간단하면서도 효과적인 방법입니다. 오일러 방법은 미분 방정식의 해를 시간의 이산적인 단계로 나누어 계산하는 방법으로, 시간 간격 를 작게 설정하여 미분 방정식의 해를 점진적으로 근사합니다. 이를 통해, 시간에 따른 시스템의 변화를 이해하고 예측할 수 있습니다.
이산화(Discretization) 과정은 토끼 시나리오와 유사한 논리를 사용하여 상태 공간 모델도 이산화할 수 있음을 의미합니다. 이를 통해 반복적인 공식을 사용하여 시간에 따른 상태의 진화를 계산할 수 있습니다.
- 미분의 정의를 사용하면 다음과 같은 근사식을 얻을 수 있습니다
- 이것이 연속 상태 공간 모델입니다:
- 첫 번째 식에 상태 공간 모델을 대입하면 다음과 같은 식을 얻을 수 있습니다
여기서 $$ I는 단위 행렬을 나타냅니다.
이 공식은 연속적인 상태 공간 모델을 이산적인 형태로 변환한 것입니다. 즉, 시간 간격 $$ \Deltah(t)가 어떻게 변화하는지를 근사적으로 계산할 수 있습니다. 이 방식은 연속적인 시간 동안의 상태 변화를 이산적인 시간 단계로 나누어 계산함으로써, 실제 시스템을 모델링하고 분석하는 데 매우 유용합니다. 이를 통해 시간에 따른 시스템의 동적인 변화를 보다 쉽게 이해하고 예측할 수 있습니다.
Recurrent computation Now that we have our recurrent formula, how can we use it to calculate the output of the system for various time steps?
위의 수식은 이산 시간 상태 공간 모델을 확장하여, 각 시간 단계에서의 출력을 계산하는 방법을 보여줍니다. 이를 통해 우리는 각 시간 단계에서 시스템의 상태 와 출력 를 어떻게 계산할 수 있는지 이해할 수 있습니다.
상태 와 출력 에 대한 초기식은 다음과 같습니다:
이를 토대로 각 시간 단계의 상태와 출력을 확장해 봅시다:
\begin{aligned} h_0 &= \overline{B} x_0 \\ y_0 &= C \overline{h_0} = C \overline{B} x_0 \\ h_1 &= \overline{A} h_0 + \overline{B} x_1 = \overline{A} \overline{B} x_0 + \overline{B} x_1 \\ y_1 &= C \overline{h_1} = C(\overline{A} \overline{B} x_0 + \overline{B} x_1) = C \overline{A} \overline{B} x_0 + C \overline{B} x_1 \\ h_2 &= \overline{A} h_1 + \overline{B} x_2 = \overline{A}(\overline{A} \overline{B} x_0 + \overline{B} x_1) + \overline{B} x_2 = \overline{A}^2 \overline{B} x_0 + \overline{A} \overline{B} x_1 + \overline{B} x_2 \\ y_2 &= C h_2 = C(\overline{A}^2 \overline{B} x_0 + \overline{A} \overline{B} x_1 + \overline{B} x_2) = C \overline{A}^2 \overline{B} x_0 + C \overline{A} \overline{B} x_1 + C \overline{B} x_2 \\ y_k &= C \overline{A}^k \overline{B} x_0 + C \overline{A}^{k-1} \overline{B} x_1 + \cdots + C \overline{A} \overline{B} x_{k-1} + C \overline{B} x_k \end{aligned} $ 이러한 방식으로, 각 시간 단계에서의 입력 $ x_t $에 대한 상태 $ h_t $와 출력 $ y_t $를 계산할 수 있습니다. 이 과정은 시스템의 동적인 행동을 시간에 따라 분석하는 데 유용하며, 특히 제어 시스템이나 신호 처리 분야에서 중요한 응용을 찾을 수 있습니다. --- #### HIPPO in detail HIPPO(History-Indexed Polynomial Projection Operator) 이론에서는, 입력 신호를 지금까지 본 모든 것을 계수 벡터(르장드르 다항식을 나타내는)로 근사화하는 방식으로 $A$ 행렬을 구성합니다. 푸리에 변환과의 차이점은, 지금까지의 원본 신호를 완벽하게 구축하는 대신, 최근 신호를 매우 정확하게 구축하고, 오래된 신호는 지수적으로 감소시킨다는 것입니다(EMA와 같이). 따라서, 상태 $$h(t)$$는 더 오래된 토큰보다 최근에 본 토큰에 대한 정보를 더 많이 포착합니다. 간단히 말해, HIPPO 이론은 시간에 따라 변화하는 데이터를 처리할 때, 최근 데이터에 더 많은 중요성을 두는 방식으로 정보를 압축합니다. 이는 시간의 흐름에 따라 변화하는 신호나 시퀀스 데이터를 분석하고 처리하는 데 효과적인 방법으로, 특히 시간적으로 연속적인 데이터가 중요한 분야(예: 시계열 분석, 신호 처리)에서 유용합니다. 여기서 $$A$$ 행렬은 시간이 지남에 따라 입력 신호를 어떻게 변환할지를 결정하는 역할을 하며, 최근 데이터에 더 많은 가중치를 부여함으로써, 시간의 흐름에 따라 데이터의 중요도를 조절합니다. `HIPPO`(History-Indexed Polynomial Projection Operator) 이론은 시퀀스 데이터를 처리하는 새로운 방법론 중 하나입니다. 이 이론은 특히 시계열 데이터나 연속적으로 변화하는 데이터를 다루는 데에 중요한 의미를 가지며, 머신 러닝과 딥러닝 분야에서 주목받고 있습니다. HIPPO의 주요 개념과 특징은 다음과 같습니다: 1. **시퀀스 데이터의 압축**: HIPPO는 시간에 따라 변화하는 데이터를 효과적으로 압축하고 표현하는 방법을 제공합니다. 이는 특히 긴 시퀀스나 시계열 데이터를 다룰 때 유용합니다. 2. **르장드르 다항식(Legendre Polynomials)**: HIPPO는 르장드르 다항식을 사용하여 데이터를 다양한 계수로 표현합니다. 이 다항식은 데이터의 다양한 측면을 포착하고, 시계열 데이터의 중요한 특성을 유지하는 데 도움이 됩니다. 3. **최근 데이터에 더 큰 가중치**: HIPPO는 최근에 관측된 데이터에 더 큰 가중치를 부여합니다. 이는 오래된 데이터보다 최근 데이터가 더 중요하다고 가정하는 것으로, 많은 실제 시나리오에서 유용합니다. 4. **시간적 변화에 대한 민감성**: 이 방법론은 시간의 흐름에 따라 데이터가 어떻게 변화하는지를 더 잘 이해하고 분석할 수 있게 해줍니다. 시간에 따른 데이터의 동적인 변화를 포착하고 이를 기반으로 예측하거나 분석하는 데 중요한 역할을 합니다. 5. **머신 러닝 및 딥러닝에서의 적용**: HIPPO는 머신 러닝, 특히 딥러닝 모델에서 시퀀스 데이터를 처리하는 새로운 접근 방식을 제공합니다. 이는 RNN(Recurrent Neural Networks)이나 LSTM(Long Short-Term Memory)과 같은 전통적인 시퀀스 처리 방식과는 다른 관점을 제공하며, 특히 장기 의존성을 다루는 데 효과적일 수 있습니다. HIPPO는 시퀀스 데이터를 처리하는 현대적인 방법 중 하나로, 시간에 따른 데이터의 중요한 특성을 포착하고 이를 효율적으로 처리할 수 있는 방법을 제공 > 💡 [PAPER]** How to Train Your HiPPO: State Space Models with Generalized Orthogonal Basis Projections** > [https://openreview.net/pdf?id=klK17OQ3KB](https://openreview.net/pdf?id=klK17OQ3KB) > > SSM, **State Space Models** > 모델들은 원래 공학 및 통계학에서 사용되던 고전적인 모델이지만, 구조화된 상태 공간 시퀀스 모델(S4, Structured State Space sequence model)을 통해 머신 러닝에서의 잠재력이 드러났습니다. S4의 핵심 구성 요소 중 하나는 SSM의 상태 행렬을 특정 행렬, 즉 HiPPO(History-Indexed Polynomial Projection Operator) 행렬로 초기화하는 것입니다. 이 행렬은 S4가 긴 시퀀스를 처리하는 능력에 있어서 경험적으로 중요한 것으로 밝혀졌습니다. 그러나 S4가 사용하는 구체적인 행렬은 실제로 이전 작업에서 특정한 시간 변화하는 동적 시스템에 대해 유도된 것이며, 시간 불변 SSM으로서의 사용은 수학적 해석이 없었습니다. 따라서 S4가 장거리 의존성을 모델링하는 이론적 메커니즘은 여전히 설명되지 않았습니다. --- > **HiPPO: Recurrent Memory with Optimal Polynomial Projections** [https://velog.io/@jpseo99/HiPPO-Recurrent-Memory-with-Optimal-Polynomial-Projections](https://velog.io/@jpseo99/HiPPO-Recurrent-Memory-with-Optimal-Polynomial-Projections) --- > **Combining Recurrent, Convolutional and Continuous-time Models with Linear State-Space Layers** - [TSMixer: Lightweight MLP-Mixer Model for Multivariate Time Series Forecasting](/lecturenote/timeseries-analysis/슬로우페이퍼-시계열-개인용-1/6주차-최신-연구-따라잡기-1/tsmixer-lightweight-mlp-mixer-model-for-multivariate-time-series-forecasting)