중대한 업무가 주어졋다.
LSTM 모델 만들기...
LSTM 모델
: 과거의 장기적인 정보를 효과적으로 학습하고 기억하여, 시계열 데이터처럼 순서가 있는 데이터의 장기 의존성 문제를 해결하는 RNN에 장/단기 기억을 가능하게 설계한 신경망의 구조
- 망각 게이트(Forget Gate) : 이전 시점의 셀 상태에서 어떤 정보를 잊을지
- 입력 게이트(Input Gate) : 새로운 입력 정보 중 어떤 것을 셀 상태에 저장할지
- 출력 게이트(Output Gate) : 셀 상태의 정보를 기반으로 어떤 정보를 출력할지
시계열 예측, NLP, 음성인식 등에 사용
-> 우리는 카드사 데이터가 있어서, 시계열 예측을 해보기로 했다
네트워크 구조

RNN 은 Neural Network 모듈을 반복시키는, 체인과 같은 형태
입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델로, 시간적으로 상관관계가 있는 데이터에서 주로 사용된다.
시간을 많이 거슬러 올라갈 수록 경사를 소실하는 문제가 있다. (Gradient Vanishing 문제)
또한 출력과 먼 위치에 있는 정보를 기억할 수 없다. (Long-Term Dependencies Problem)
시퀀스가 있는 문장에서 문장 간의 간격이 커질수록, FNN은 두 정보의 맥락을 파악하기 어려워진다.
=> 한참 전의 데이터도 함께 고려하여 출력을 만들어보는 것이 LSTM 의 목적이다.
+ Gradient Vanishing (기울기 소멸)
: 역전파 과정에서 입력층으로 갈수록 기울기가 점차적으로 작아지는 현상
역전파 과정 중에 시그모이드를 미분한 값을 계속 곱해주면서 Gradient 값이 앞 단의 layer로 올수록 0에 수렴하는 현상
기울기가 거의 0으로 소멸되어 버리면 네트워크의 학습은 매우 느려지고, 학습이 다 이루어지지 않은 상태에서 멈춘다.
시그모이드 함수와 같은 경우 출력 값이 1 아래이기 때문에 기울기 소멸 문제가 빠르게 일어난다.
(0보다 작은 수끼리 계속 곱하면서 연산했을 때 0에 가까워진다.)
LSTM은 똑같이 체인 구조를 가지고 있지만, 4개의 레이어가 특별한 방식으로 서로 정보를 주고 받도록 되어 있음

6개의 파라미터와 4개의 게이트로 구성된다.
Cell State

컨베이어 벨트와 같아서, 작은 Linear interaction 만을 적용시키면서 전체 체인을 계속 구동시킨다.
정보가 전혀 바뀌지 않고 그대로 흐르는 부분
State 가 오래 경과해도 Gradient 가 잘 전파된다.
Gate 에 의해 정보가 추가되거나 제거되며, Gate 는 Training 을 통해 어떤 정보를 유지하고 버릴지 학습
1. Forget Gate : 과거 정보를 잊을지 말지 결정하는 과정

과거의 정보를 버릴지 말지 결정하는 과정
현재 시점 t의 x 값과 이전 시점 t-1의 은닉 상태가 시그모이드 함수를 지난다.
이때 0과 1 사이의 값이 나오게 되는데, 이 값이 곧 삭제 과정을 거친 정보의 양이다 (ex. 0.2 라면 20%만큼 기억해)
forget gate의 연산으로 나온 f(t)는 '과거 정보에 대해 얼마나 잊었냐, 기억하냐를 가지고 있는 값'
2. Input Gate : 현재 정보를 저장할지 결정하는 과정

현재 정보를 기억하기 위한 게이트
현재 시점 t의 x 값과 입력 게이트로 이어지는 가중치 W(xi)를 곱한 값과, 이전 시점 t-1의 은닉 상태가 입력 게이트로 이어지는 가중치 W(hi)를 곱한 값을 더해 시그모이드 함수를 지나는데, 이를 i(t)라고 한다.
현재 시점 t의 x값과 입력 게이트로 이어지는 가중치 W(xi)를 곱한 값과, 이전 시점 t-1의 은닉 상태가 입력 게이트로 이어지는 가중치 W(hg)를 곱한 값을 더하여 하이퍼볼릭탄젠트 함수를 지나는데, 이를 g(t)라고 한다.
i(t)는 0~1 사이의 값이 나오고, 이는 0에 가까울 수록 많은 정보를 삭제하는 것을 의미한다.
g(t)는 -1~1 사이의 값이 나오고, 나중에 현재 정보를 cell state 에 얼마나 더할지를 결정하는 역할을 한다.
3. Update : 과거 cell sate를 새로운 state 로 업데이트하는 과정 [장기 상태]

과거 Cell State를 새로운 State로 업데이트 하는 과정
입력 게이트에서 구한 i(t), g(t)에 대해 원소별 곱을 진행한다.
f(t)○C(t-1)의 계산을 통해 이전 시점의 cell 정보를 얼마나 유지할지를 구한다.
i(t)○g(t)를 통해 현재 기억할 정보를 구한다.
'과거에서 유지할 정보' + '현재에서 유지할 정보'를 통해 현재 시점의 cell state를 업데이트 한다.
이 값은 다음 t+1 시점의 LSTM 셀로 넘겨진다.
=> 일반적인 RNN은 곱하기로만 이루어져 있는데, LSTM은 더하기로 잇고 있다. 따라서 Gradient Vanishing 문제가 없는 것이다. 이는 ReLU를 사용하지 않고, tanh 를 사용하고도 순환 신경망에서 해당 문제를 해결할 수 있는 핵심적인 부분이라고 볼 수 있다.
4. Output Gate : 어떤 출력값을 출력할지 결정하는 과정

Cell 상태에 기반을 두지만 Filtered 된버전
시그모이드층을 동작해서 어떤 부분을 출력할지 결정한다.
그 후 -1~1 사이 값을 갖도록 cell 을 tanh 에 넣는다.
tanh와 sigmoid 출력 게이트와 곱한다.
최종적으로 얻어진 Cell State 값을 얼마나 빼낼지 결정하는 역할이다.
참고자료
i) LSTM
## LSTM이란 LSTM은 RNN의 한 종류로, RNN의 장기 의존성 문제(long-term dependencies)를 해결하기 위해서 나온 모델입니다. 따라서 직전 데이터 뿐…
wikidocs.net
https://ddukbbok-kang.tistory.com/34
LSTM 기본 개념 및 구조
LSTM이란? 순환 신경망(RNN)의 구조에 장/단기 기억을 가능하게 설계한 신경망의 구조 RNN의 Gradient Vanishing/Exploding Gradient를 해결하기 위해 고안 기억셀을 추가하여 경사 소멸 문제를 해결 LSTM이 RNN
ddukbbok-kang.tistory.com
'1일1티스토리' 카테고리의 다른 글
| 260320 - MongoDB Query Explain Plan (0) | 2026.03.20 |
|---|---|
| 251003 - Overlap / Covering constraints (0) | 2025.10.03 |
| 251001 - 30개의 1일1티스토리를 쓰며 (0) | 2025.10.01 |
| 250929 - 기능 요구사항과 비기능 요구사항 (0) | 2025.09.29 |
| 250928 - Weak Entities (0) | 2025.09.28 |