Notice
Recent Posts
Recent Comments
«   2025/04   »
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 29 30
Archives
Today
Total
관리 메뉴

SYDev

[캡스톤 디자인] LSTM(with Example을 통한 동작 과정 이해) 본문

4학년 1학기 전공/캡스톤디자인

[캡스톤 디자인] LSTM(with Example을 통한 동작 과정 이해)

시데브 2025. 3. 29. 23:51
  • LSTM(Long Short-Term Memory): RNN(Recurrent Neural Network)의 한 종류로, RNN의 장기 의존성 문제(long-term dependencies)를 해결하기 위해서 나온 모델
    • 직전 데이터 뿐만 아니라, 좀 더 거시적으로 과거 데이터를 고려하여 미래 데이터를 예측

-> 6개의 파라미터와 4개의 게이트로 구성

 

Cell State

  • 작은 linear interaction만을 적용시키면서 전체 체인을 계속 구동
  • 정보가 전혀 바뀌지 않고 그대로만 흐르게 하는 부분
  • Gate라 불리는 구조에 의해서 정보 추가 or 제거
    • Gate는 Training을 통해서 어떤 정보를 유지하고 버릴지 학습

 

Forget Gate

  • 1이면 보존, 0이면 폐기
  • previous Cell State에서 어떤 정보를 유지하고, 어떤 정보를 버릴지 결정
  • W_f, b_f는 가중치와 편향

Input Gate

  • 현재 input에서 어떤 정보를 Cell State에 추가할지 결정
  • i_t: cell state에 추가할 정보의 비율
    • 1이면 모두 추가, 0이면 추가 X
  • C_t: 새로운 정보 후보값(-1 ~ +1)
    • tanh를 사용하는 이유? -> 너무 큰 값을 반영하면 cell state가 과도하게 변화될 수 있음 
    • 안정적 학습을 목표로 함

Cell State Update

  • f_t를 반영하여 이전 t-1의 cell state로부터 정보를 얼마나 잊어버릴지 결정 + 새로운 Cell State 후보를 얼마나 적용할지 결정

Output Gate Layer

  • o_t: 현재 cell state로부터 얼마만큼을 output으로 내보낼지 결정
  • h_t: Cell State 정보의 일부

 

 

Example을 통해 동작 방식 이해

캡스톤 디자인 발표자료 기반

-> f_t = 0.73 -> t-1의 cell state를 0.73만큼 반영한다는 의미

-> 새로운 후보값인 C_t를 -1~+1 사이의 값으로 스케일 축소시킨 다음, 해당 정보를 0.73만큼 반영

-> forget gate, input gate에서 정한 값들을 기반으로 cell stae update

-> output gate에서는 장기 기억 정보인 hidden state 결정

LSTM 종류

  • Bidirectional LSTM(BiLSTM): 순방향 + 역방향 LSTM을 결합하여 더 정확한 예측 수행
    • 장점: 과거 데이터 뿐만 아니라, 양방향에서 패턴 학습 가능 -> 미래 정보도 활용할 수 있어 패턴 예측이 정확
    • 단점: 실시간 예측에는 부적합(미래 값을 알아야 함), 계산량 2배 증가 -> 학습 속도 저하
  • Attention-based LSTM: LSTM + Attention Mechanism -> 중요한 시간대에 집중하여 예측 성능 향상
    • LSTM이 모든 과거 데이터를 동일하게 반영하는 문제 해결
    • 장점: 시계열 데이터의 특정 패턴(특정 시간대의 급격한 변동) 학습에 유리
    • 단점: 일반 LSTM보다 연산량이 많음, 데이터가 부족한 경우 과적합 위험
  • Temporal Convolutional LSTM(TCN-LSTM): Conv1D 기반 Temporal Convlutional Network + LSTM
    • CNN의 패턴 인식 능력과 LSTM의 시계열 모델링 능력을 결합
    • 멀티스텝 예측(미래 여러 타임스텝 예측)에서 강력한 성능
    • LSTM이 장기 의존성을 학습하는 동안, CNN이 짧은 시퀀스 내에서 지역적 패턴을 감지
    • 장점: 일반 LSTM보다 병렬 처리 가능 -> 학습 속도 빠름
    • 단점: 구조가 복잡해 튜닝이 어려움, 학습 시간이 상대적으로 길 수 있음, 과적합 위험이 높음 -> 충분한 데이터 필요
  • LSTM Autoencoder(LSTM-AE): LSTM을 활용한 시퀀스 기반 이상 탐지 및 예측 모델
    • encoder: 입력 시퀀스를 낮은 차원의 벡터로 압축, decoder: 압축된 벡터를 다시 원래 시퀀스로 복원
    • 정상적 패턴을 학습하고, 이상 징후가 발생하면 높은 재구성 오류(Reconstruction Error) 발생
    • 장점: 이상 탐지(Anomaly Detection)에 강력함 -> 예측 뿐만 아니라 비정상적 트래픽 패턴 탐지 가능
    • 단점: 일반 LSTM보다 더 많은 데이터 필요(정상 패턴 학습이 필수), 멀티스텝 예측보다는 이상 탐지에 적합

 

Attention for Time Series Prediction?

1. Attention

https://sypdevlog.tistory.com/162

 

[논문 리뷰] Attention Is All You Need

https://arxiv.org/abs/1706.03762 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder an

sypdevlog.tistory.com

  • Attention의 기본 아이디어
    • 기존 seq2seq 모델은 하나의 고정된 벡터의 모든 정보를 압축(context vector)하는 과정에서 정보 손실 발생
    • RNN 모델은 입력 문장이 길어질수록 gradient vanishing 문제로 번역 품질이 떨어짐
      • 이런 문제를 해결하기 위해 등장한 개념이 Attention
    • 디코더에서 출력 단어를 예측하는 매 시점(step)마다 인코더에서의 전체 입력 문장을 다시 한 번 참고
    • 이때, 문장을 모두 동일한 비율로 참고 X -> 해당 step에서 예측해야할 단어와 연관이 있는 입력 단어 부분을 더 집중(attention)
  • Attention(Q, K, V) = Attentionvalue
    • Q: Query
    • K: key
    • V: Value
  • Attention Function은 주어진 Query에 대해 모든 Key의 유사도를 구하고, 이 유사도를 key와 매핑된 각각의 Value에 반영
  • 이후, 유사도가 반영된 Value값을 모두 더해서 return -> Attention value 반환

https://wikidocs.net/22893

2. Attention-based LSTM

  • 기존 LSTM은 직전 time-step의 hidden state만 고려
  • Attention-based LSTM은 모든 시점 time-step의 hidden states 저장 -> H = [h1, h2, h3, ..., hT]
    • 중요한 시점의 정보 강조 가능 
    • but, 모든 시점을 비교해야 하기 때문에 연산량 증가(O(T^2))로, 시계열 데이터의 크기가 커질 수록 학습의 속도가 느리고 비효율적 -> 실무에서 사용하기 어려운 정도
    • NLP 외적으로 연구의 부족, 메모리 병목, 특정 지점에서의 제한점 등의 문제로 시계열 데이터에서 사용하기 어려울 것으로 예상

 


참고자료

 

Understanding LSTM Networks -- colah's blog

Posted on August 27, 2015 <!-- by colah --> Humans don’t start their thinking from scratch every second. As you read this essay, you understand each word based on your understanding of previous words. You don’t throw everything away and start thinking

colah.github.io

 

[개념정리] Attention Mechanism

Transformer의 기반이 되는 Attention 기법에 대해 정리한 글입니다.

velog.io

 

15-01 어텐션 메커니즘 (Attention Mechanism)

앞서 배운 seq2seq 모델은 **인코더**에서 입력 시퀀스를 컨텍스트 벡터라는 하나의 고정된 크기의 벡터 표현으로 압축하고, **디코더**는 이 컨텍스트 벡터를 통해서 출력 …

wikidocs.net

 

Time Forecasting에 있어 느낀, Attention의 한계

2021.04.19 - [논문으로 현업 씹어먹기] - LSTM Attention 이해하기 - 서론 LSTM Attention 이해하기 - 서론 BERT 서론 회사에서 TA관련한 프로젝트를 할 일이 생겼다. 내가 나중에 시간이 되면 올리겠지만, 이전

shyu0522.tistory.com