LSTM이란? RNN의 장기 기억 문제를 해결하는 세 가지 게이트

지난 글에서는 RNN이 은닉 상태를 다음 시점으로 전달하며 문장과 시계열처럼 순서가 있는 데이터를 처리한다는 것을 알아봤습니다. 하지만 기본 RNN은 단계가 길어질수록 오래전 정보가 희미해지는 장기 의존성 문제를 겪을 수 있습니다.

이 문제를 완화하기 위해 고안된 대표적인 구조가 LSTM(Long Short-Term Memory, 장단기 메모리)입니다. LSTM은 무엇을 잊고, 무엇을 새로 기억하며, 어떤 정보를 밖으로 내보낼지 조절합니다.

LSTM은 선택적으로 기억하는 RNN입니다

기본 RNN은 현재 입력과 이전 은닉 상태를 하나의 계산으로 갱신합니다. LSTM은 여기에 셀 상태(Cell State)와 여러 게이트(Gate)를 추가합니다.

셀 상태는 긴 시간 동안 중요한 정보를 운반하는 기억 통로입니다. 게이트는 0에서 1 사이의 값으로 정보가 얼마나 통과할지 조절하는 문과 비슷합니다. 0에 가까우면 대부분 막고, 1에 가까우면 대부분 통과시킵니다.


LSTM 셀의 전체 흐름

LSTM은 현재 입력과 이전 은닉 상태를 함께 살펴본 뒤 세 가지 질문을 처리합니다.

  1. 기존 기억 중 무엇을 잊을까?
  2. 현재 정보 중 무엇을 새로 기억할까?
  3. 갱신된 기억 중 무엇을 출력할까?

각 질문을 담당하는 것이 망각 게이트, 입력 게이트, 출력 게이트입니다. 이 계산을 거쳐 새로운 셀 상태와 은닉 상태가 다음 시점으로 전달됩니다.


1. 망각 게이트: 불필요한 기억 지우기

망각 게이트(Forget Gate)는 이전 셀 상태에서 유지할 정보와 줄일 정보를 결정합니다. 문장의 주제가 바뀌거나 오래된 정보가 더 이상 필요하지 않다면 해당 기억의 영향력을 낮출 수 있습니다.

망각은 기억 실패가 아니라 필요한 정보에 집중하기 위한 선택입니다. 모든 내용을 계속 보관하면 오히려 현재 판단에 방해가 될 수 있습니다.

2. 입력 게이트: 새로운 정보 기록하기

입력 게이트(Input Gate)는 현재 입력에서 어떤 정보를 셀 상태에 새로 추가할지 정합니다. 현재 입력과 이전 은닉 상태로 새로운 기억 후보를 만든 뒤, 입력 게이트가 그중 실제로 기록할 양을 조절합니다.

예를 들어 문장에서 새로운 인물이나 중요한 조건이 등장하면 그 정보를 기억 통로에 반영할 수 있습니다.

3. 출력 게이트: 필요한 기억 꺼내기

출력 게이트(Output Gate)는 갱신된 셀 상태 가운데 현재 단계의 출력과 다음 은닉 상태에 사용할 정보를 선택합니다. 셀 상태가 내부 장기 기억이라면 은닉 상태는 현재 시점에서 밖으로 드러내는 요약이라고 볼 수 있습니다.

문장을 읽는 예로 이해하기

“민수는 제주도에 갔다. 그는 바다를 보았다”라는 문장을 처리한다고 생각해보겠습니다. LSTM은 앞 문장의 ‘민수’를 기억하고, 다음 문장의 ‘그는’과 연결하는 데 활용할 수 있습니다.

  • 망각 게이트는 불필요해진 세부 정보를 줄입니다.
  • 입력 게이트는 ‘제주도’나 ‘바다’처럼 새로 등장한 정보를 기록합니다.
  • 출력 게이트는 현재 단어를 이해하는 데 필요한 기억을 꺼냅니다.

실제 LSTM이 단어를 사람처럼 이해하거나 규칙을 직접 입력받는 것은 아닙니다. 학습 과정에서 예측 오차를 줄이도록 게이트의 가중치가 조정됩니다.

LSTM이 기본 RNN보다 유리한 이유

셀 상태에는 정보가 비교적 곧은 경로로 전달되고, 게이트가 필요한 변화를 선택적으로 적용합니다. 덕분에 기본 RNN보다 먼 시점의 정보를 유지하고 학습 신호를 전달하기 쉬워집니다.

다만 LSTM이 모든 장기 기억 문제를 완전히 해결하는 것은 아닙니다. 데이터가 매우 길면 여전히 어려움이 생길 수 있고, 게이트가 많아 기본 RNN보다 계산이 복잡합니다. 시간 순서대로 처리해야 하므로 병렬 처리에도 제약이 있습니다.

LSTM은 어디에 활용될까?

  • 문장 분류와 언어 모델링
  • 음성 및 필기 인식
  • 센서·수요·기온 같은 시계열 분석
  • 음악이나 동작처럼 순서가 있는 데이터 처리

오늘날에는 문제에 따라 GRU나 Transformer를 선택하기도 합니다. LSTM은 여전히 순차 데이터와 게이트 기반 기억 구조를 이해하는 데 중요한 모델이며, 데이터 크기와 목적에 따라 적합성이 달라집니다.

RNN과 LSTM의 차이

  • 기본 RNN: 하나의 은닉 상태를 반복해서 갱신하는 비교적 단순한 구조입니다.
  • LSTM: 셀 상태와 세 게이트로 기억의 삭제·추가·출력을 조절합니다.

LSTM도 RNN 계열입니다. 완전히 다른 신경망이라기보다 기본 RNN의 기억 방식을 더 정교하게 만든 구조라고 이해하면 됩니다.

한눈에 정리하기

  • LSTM은 기본 RNN의 장기 의존성 문제를 완화하기 위한 구조입니다.
  • 셀 상태는 중요한 정보를 긴 시간 동안 전달하는 기억 통로입니다.
  • 망각 게이트는 버릴 정보, 입력 게이트는 저장할 정보, 출력 게이트는 꺼낼 정보를 조절합니다.
  • 기본 RNN보다 복잡하고 순차 계산의 제약은 여전히 남습니다.

다음 글에서는 RNN 계열을 넘어, 입력의 어느 부분에 집중할지 직접 계산하는 Attention(어텐션)의 원리를 알아보겠습니다.

댓글

이 블로그의 인기 게시물

AI의 학습 과정

AI란 무엇일까?

머신러닝 - AI는 어떻게 스스로 규칙을 찾을까?