Adventure Time - Finn 3
본문 바로가기
AI/ML

LSTM(1)

by hyun9_9 2026. 4. 14.

기본 RNN 의 한계

일반적으로 기본 순환층은 긴 시퀀스를 학습하기 어렵다.

시퀀스가 길수록 순환되는 은닉상태에 담긴 정보가 희석되기 때문 따라서 멀리 떨어져 있는 단어 정보를 인식하는데 어려울수 있다.

이를 위해 LSTM과 GRU셀이 등장했다

SimpleRNN 보다 훨씬 계산이 복잡하지만 성능이 뛰어나다

장기 의존성 문제

가장 중요한 정보가 시점의 앞쪽에 위치할 수도 있다.

''모스크바에 여행을 왔는데 건물도 예쁘고 먹을 것도 맛있었어. 그런데 글쎄 직장 상사한테 전화가 왔어. 어디냐고 묻더라구 그래서 나는 말했지. 저 여행왔는데요. 여기 ___''

다음 단어를 예측하기 위해서는 장소 정보가 필요하다. 하지만 장소 정보에 해당되는 단어인 모스크바는 앞에 위치하고 있고 RNN이 충분한 기억력을 가지고 있지 못한다면 다음 단어를 엉뚱하게 예측한다.

이를 장기 의존성 문제 (the problem of Long-Term Dependencies)라고 한다.

이를 극복하기 위해 다양한 RNN 변형이 등장했고 LSTM 이 그중 하나 이다.

LSTM 구조

Long Short-Term Memory : 단기기억을 오래 기억 하기 위해 고안됨

기본 순환신경망과 기본 개념은 동일하지만

LSTM은 입력과 가중치(weight)를 곱하고 절편(bias) 를 더해 활성화 함수를 통과시키는 구조를 여러개 가지고 있다.

이러한 계산 결과는 다음 스텝에 재사용된다.

LSTM의 은닉상태(hidden state) 만드는 방법

1. 은닉상태는 입력과 이전 타임스텝의 은닉상태 h 를 가중치 W 에 곱한푸 활성화 함수를 통과 시켜 다음 은닉 상태를 만든다

이때 기본 순환층과는 달리 시그모이드 활성화 함수 를 사용

2. tanh 활성화 함수를 통과한 어떤 값과 곱해져서 (x)은닉 상태를 만든다.

셀상태(cell state)

LSTM에는 순환되는 상태가 2개이다.

은닉상태와 셀상태

셀 상태는 은닉상태와 달리 다음 층으로 전달 되지 않고 LSTM 셀에서 순환만 되는 값

입력과 은닉상태를 또다른 가중치 wf에 곱한다음 시그모이드 함수 통과

이전 타임스텝의 셀상태 C 와 곱하여 새로운 셀상태를 만듬

이 셀상태 C가 tanh 함수를 통과하여 새로운 은닉상태를 만드는데 기여

LSTM에는 총 4개의 셀을 가지고 있다

2개의 작은 셀이 더추가 되어 셀상태를 만드는데 기여한다

입력과 은닉 상태를 각기 다른 가충치에 곱한다음 하나는 시그모이드를 통과 또 다른 하나는 tanh통과하여

두결과를 곱하고 이전셀상태와 더한다.

삭제 게이트 입력게이트 출력게이트

삭제 게이트 : 셀상태에 있는 정보를 제거하는 역할

입력게이트 : 새로운 정보를 셀상태에 추가하는 역할

출력게이트 : 이셀상태가 다음 은닉 상태로 출력


Ct=ft⊙Ct−1+it⊙C

 

출력 게이트는 삭제랑 역할이 다름:

  • 삭제 게이트 → 과거 기억 정리
  • 입력 게이트 → 새 정보 추가
  • 출력 게이트 → 지금 뭘 밖으로 보여줄지 선택