콘텐츠로 바로가기

RNN & Sequential Data Physics

시간의 흐름이나 배열의 순서가 중요한 시계열 데이터의 상태를 기억하고 전달하며, 과거의 수리적 흐름으로부터 미래를 예측하는 순환 신경망의 물리적 역동성을 다룹니다.

sys.entry
M

Me

hyunyoun's Blog

posts7 min read

1. Overview

RNN 및 순차 데이터 물리학(RNN & Sequential Data Physics, RDP)은 데이터의 정적인 형태를 넘어 '시간(tt)'이라는 수리적 축을 따라 변화하는 정보의 궤적을 물리적으로 추적하고 기억하는 '동적 상태 지형 물리학'입니다.

학습자는 현재의 입력과 과거의 상태를 수리적으로 합성하여 순환시키는 **RNN(Recurrent Neural Network)**의 물리적 수순과, 긴 시간의 강물을 따라 중요한 수치만 흘려보내는 LSTM/GRU의 기억 관리 기제를 배웁니다. 특히, 시간 축을 따라 오차가 거슬러 올라가는 **BPTT(Backpropagation Through Time)**의 수리적 복잡성을 익힙니다. 이를 통해 주가 예측부터 음성 인식까지 시간에 종속된 물리 현상을 수치적으로 지배하는 하이엔드 시퀀스 거버넌스 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • Recurrent Dynamics: 은닉 상태(Hidden State)를 통한 과거 정보의 물리적 보존 및 수리 업데이트
  • Gating Mechanisms: 데이터의 물리적 중요도에 따라 정보를 '잊거나(Forget)' '기억하는(Input)' 수리 필터링
  • Sequence Modeling: 하나에서 다수(1), 다수에서 하나(N<1>), 다수에서 다수(N)의 물리적 연결 구조
  • Vanishing/Exploding Grad in Time: 시간 축이 물리적으로 길어질 때 발생하는 수리적 기울기 불안정성 제어
  • Time-Series Forecasting: 과거의 수치 시퀀스로부터 물리적 미래값을 도출하는 수순

Out-of-Scope

  • 데이터의 공간적 구조를 훑는 정적 합성곱 연산 (11-02-02 CVM 영역에서 분담)
  • 순서를 무시하고 전체 문맥을 한꺼번에 참고하는 병렬 연산 (11-02-04 MAT 영역에서 분담)

Boundaries

  • RDP vs. Classical Time-Series: ARIMA와 같은 고전 통계가 선형적 수리 공식에 의존한다면, RDP는 신경망의 비선형 물리 레이어를 통해 데이터의 복잡한 '문맥(Context)'을 스스로 학습한다는 점에 집중하여 구분합니다.

3. Counterexample

  • 단순히 "날짜 데이터를 넣는다"라 설명하는 것은 RDP 학습이 아닙니다. 왜 일반 신경망은 시간의 순서를 무시하는 독립성 가설에 갇혀 있는지 증명할 수 있어야 하며, LSTM의 '셀 상태(Cell State)'가 왜 정보의 손실 없는 수리적 고속도로(Highway) 역할을 수행하여 장기 의존성 문제를 물리적으로 해결하는지 논증하지 못한다면 순환 지능의 본질을 이해하지 못한 것입니다.

4. Prerequisites

  • Neural Network Foundations (Basic): 11-02-01의 역전파 및 활성화 함수 개념 이해가 필수입니다.
  • Calculus & Linear Algebra (Basic): 02-06-XX의 벡터 수열 연산 이해가 필수입니다.

5. Learning Map

  1. The Loop of Memory: 현재의 결과가 다음 연산의 입력으로 물리적으로 돌아오는 '순환'을 이해합니다.
  2. Battling Time Loss: 시간의 흐름 속에 흐릿해지는 수리적 기울기를 보존하는 기억 기제를 익힙니다.
  3. Selective Awareness: 수만 개의 정보 중 무엇을 버리고 무엇을 물리적으로 간직할지 수치적으로 결정합니다.
  4. Temporal Governance: 시간의 물리적 인과 관계를 수리적으로 모델링하여 미래의 지류를 예측하는 하이엔드 시스템을 완성합니다.

6. Learning Topics

Basic

Core: 순환 구조와 은닉 상태 (Recurrence Physics)

  • Why to Learn: 이전 시점의 정보가 현재의 판단에 물리적으로 영향을 주는 '연속적 지능'을 구현하기 위해서입니다.
  • What to Learn:
    • Hidden State (hth_t): 과거의 모든 정보를 수리적으로 압축하여 들고 있는 물리적 메모리
    • Recurrent Update Rule: 현재 입력(xtx_t)과 이전 상태(ht1h_{t-1})의 수리적 결합 수순
    • Shared Weights Across Time: 모든 시점에서 동일한 수리 파라미터를 사용하여 하드웨어 자원을 절약하는 물리 기제
  • How to Learn:
    • 글자 세 개를 입력하면 다음 글자를 수리적으로 맞히는 'Character RNN'의 물리적 동작 확인 실습
    • 시퀀스 길이가 수치적으로 늘어날 때, 하드웨어 메모리가 왜 기하급수적으로 소모되는지(BPTTBPTT) 분석
  • Implement: 현재 입력과 이전 상태를 가중 합산하여 새로운 상태를 출력하는 기초 RecurrentUnit

Core: LSTM과 정보 고속도로 (Memory Mechanics)

  • Why to Learn: 아주 먼 과거의 수리적 단서가 현재의 물리적 정답을 결정하는 '장기 의존성' 문제를 풀기 위함입니다.
  • What to Learn:
    • Cell State (CtC_t): 정보를 수정하지 않고 물리적으로 쭉 전달하는 수리적 컨베이어 벨트
    • Forget Gate: 과거 수치 중 불필요한 것을 0에 가까운 물리적 폐기값으로 수량 제어
    • Input & Output Gates: 새로운 수치를 심고, 외부에 내놓을 물리 정보를 결정하는 수리적 잠금 장치
  • How to Learn:
    • 긴 문장의 문맥을 파악할 때 바닐라 RNN은 왜 앞부분을 잊어버리고 LSTM은 수치적으로 기억해 내는지 대조 실습
    • hth_tCtC_t 사이의 물리적 상호작용이 수리적 기울기 폭발을 어떻게 물리적으로 억제하는지 연구
  • Implement: 덧셈과 곱셈 게이트를 통해 정보를 보존하는 LSTMCore_Engine

Practical

Core: GRU 및 시계열 응용 (Practical Sequence Ops)

  • Why to Learn: LSTM의 복잡한 수리 구조를 하드웨어 성능에 맞춰 물리적으로 간소화하여 실무 효율을 높이기 위해서입니다.
  • What to Learn:
    • GRU (Gated Recurrent Unit): Reset과 Update 게이트만으로도 물리 성능을 유지하는 수리적 최적화
    • Bidirectional RNN: 과거뿐만 아니라 미래의 정보까지 수리적으로 참조하여 물리적 문맥 완성
    • Many-to-Many Architecture: 번역과 같이 입출력의 물리적 길이가 다른 시퀀스를 다루는 수순
  • How to Learn:
    • 주식 가격 데이터에서 '과거 며칠'의 수치를 입력으로 줄지(WindowWindow SizeSize) 물리적으로 결정하는 튜닝 실습
    • 시계열 데이터의 정상성(Stationarity) 수치가 RNN 하드웨어 학습 안정성에 미치는 영향 연구
  • Implement: LSTM 대비 파라미터 수치를 줄인 효율적인 GRU_Cell

Advanced

Core: BPTT의 역학적 한계와 대안 (Temporal Calculus)

  • Why to Learn: 수천 단계의 시간 흐름을 가진 거대 데이터셋에서도 수리적 정합성을 유지하며 학습시키기 위함입니다.
  • What to Learn:
    • Backpropagation Through Time: 시간 축을 물리적으로 펼쳐서(Unroll) 수행하는 거대 수리 미분 공정
    • Truncated BPTT: 하드웨어 한계를 넘지 않도록 시간 전파를 수리적으로 중간에 뚝 끊는 물리 전략
    • Echo State Networks: 순환층을 물리적으로 학습시키지 않고 출력층만 수리 튜닝하는 특수한 역학
  • How to Learn:
    • 시간 축에 따른 기울기의 고유값(EigenvalueEigenvalue) 수치를 분석하여, 왜 물리적으로 발산이 일어나는지 수학적 유도 실습
    • **기울기 클리핑(Grad Clipping)**이 시계열 학습의 수치적 널뛰기를 물리적으로 어떻게 진정시키는지 훈련
  • Implement: 정해진 길이만큼만 기울기를 거슬러 올라가 수정하는 Windowed_BPTT_Trainer

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Hidden State 시퀀스의 과거 정보가 수리적으로 응축된 물리적 벡터로, 매 시점마다 업데이트되며 정보를 전달합니다. 기본 핵심 변수 Memory / Vector Cell State 단순 출력값이 아닌 '상태'임 P1:CS2023 core
LSTM 세 개의 게이트 수리 시스템을 통해 장기적인 과거를 물리적으로 기억하도록 설계된 고성능 순환 유닛입니다. 추천 성능 표준 Gate / Highway GRU RNN의 한계를 극복함 P1:CS2023 core
BPTT 시간 축으로 펼쳐진 수백만 개의 수리 연산을 거슬러 올라가 가중치를 수정하는 시계열 기반 역전파 공정입니다. 추천 학습 로직 Backprop / Unroll SGD 노드가 많아지면 메모리 폭증 P1:CS2023 core
Teacher Forcing 학습 시 모델의 수리 정답을 다음 시점의 물리적 입력으로 강제 투입하여 학습 속도를 높이는 기제입니다. 실무 학습 최적화 Training / Target Evaluation 추론 시에는 쓰면 안 됨 P1:CS2023 core

8. References

Primary

Secondary

  • [Sequence Learning] Sun, L. — Overview of sequential patterns.
  • [Long Short-Term Memory] Hochreiter & Schmidhuber — The seminal research paper.

Industry

  • [PyTorch Docs: torch.nn.LSTM] — Practical sequence API.
  • [TensorFlow Documentation: Time series forecasting] — Industrial implementation examples.

9. Final Checklist

Primary

  • '순환 신경망'이 데이터의 '인과적 선후 관계'를 수리적으로 어떻게 은닉 상태에 물리 압축하는지 설명 가능한가? (P1)
  • 'LSTM'의 '포겟 게이트(Forget Gate)' 수치가 0일 때 과거 정보가 물리적으로 어떻게 소멸하는지 기술할 수 있는 가? (P1)

Secondary

  • '장기 의존성(Long-term dependency)' 문제가 하드웨어 메모리의 물리적 한계가 아닌 수리적 기울기 소실에서 옴을 소통 가능한가?
  • GRU가 LSTM보다 파라미터 수치가 적어 하드웨어 효율에 갖는 물리적 이점을 논증할 수 있는 가?

Industry

  • 실무 주가 시계열 데이터에서 '윈도우 사이즈' 수치를 정하여 하드웨어가 예측할 물리 범위를 제안할 수 있는 가? (SFIA)
  • BPTT 중 발생한 'Gradient Explosion' 수치를 감지하여 물리적으로 학습을 중단하거나 수치를 클리핑할 수 있는 가?