Post

Deep Learning Long Short-Term Memory

Deep Learning Long Short-Term Memory

순환신경망(RNN)은 시퀀스 형태의 데이터를 처리하는 대표적인 구조이지만, 시간이 길어질수록 정보를 안정적으로 전달하기 어렵습니다. 특히 기울기 소실과 기울기 폭발 문제로 인해 장기 의존성을 학습하기 힘들다는 한계가 있습니다. 이러한 한계를 극복하기 위해 LSTM 구조가 제안되었으며, 정보가 여러 시점에 걸쳐 안정적으로 보존되도록 설계된 점에서 중요한 의미를 갖습니다.

RNN의 기본 개념과 한계

RNN의 기본 구조

RNN은 이전 시점의 은닉상태와 현재 입력을 이용해 새로운 은닉상태를 계산합니다. 이 구조는 시점 간 정보를 연결할 수 있다는 장점이 있지만, 여러 단계가 반복되면서 역전파 시 기울기가 연속적으로 곱해지는 문제가 발생합니다.

기울기 소실과 기울기 폭발

시그모이드, tanh와 같은 활성화 함수는 출력 구간이 제한되어 있고 기울기가 1보다 작은 경우가 대부분이기 때문에, 여러 시점을 거치며 기울기가 매우 작아져 소실되기 쉽습니다. 반대로 가중치가 일정 조건을 만족하면 기울기가 연속 곱셈을 통해 매우 크게 커지는 폭발 문제도 발생할 수 있습니다.

기본 해결 전략

  • 기울기 클리핑처럼 폭발만 완화하는 기법
  • 활성화 함수를 변경하거나 잔차 연결 구조를 사용
  • RNN 전체 구조를 수정하는 접근 마지막 접근이 LSTM으로 이어집니다.

LSTM의 핵심 구조

LSTM은 RNN의 구조 위에 셀 상태를 추가하여, 정보가 장기간 유지될 수 있도록 설계되었습니다. 셀 상태는 시점 간에 선형적으로 전달되기 때문에, 기울기가 급격히 줄어드는 현상이 완화됩니다.

게이트 구조

LSTM은 네 가지 게이트를 가지고 있으며, 각각 다른 역할을 수행합니다.

  • 입력 게이트: 새로운 정보를 셀 상태에 얼마나 반영할지 결정합니다.
  • 망각 게이트: 이전 셀 상태를 얼마나 유지할지 또는 얼마나 지울지 결정합니다.
  • 출력 게이트: 셀 상태를 외부로 얼마나 드러낼지 조절합니다.
  • 후보 게이트: 셀 상태에 새롭게 추가될 정보를 생성합니다.

이 게이트들은 모두 시그모이드 또는 tanh 함수로 만들어지며, 셀 상태 업데이트는 다음과 같이 이루어집니다.

\[c_t = f ⊙ c_{t-1} + i ⊙ g\] \[h_t = o ⊙ tanh(c_t)\]

여기서 셀 상태는 이전 상태가 직접 반영되는 형태이기 때문에, 기울기가 시점마다 크게 줄지 않고 비교적 안정적으로 전달됩니다.

LSTM의 기울기 흐름

셀 상태는 불필요한 행렬 곱셈 없이 이전 상태가 선형 형태로 전달되므로, 역전파 시 기울기가 크게 변하지 않고 연결됩니다. 이 특성 덕분에 긴 시퀀스에서도 중요한 정보를 보존할 수 있으며, RNN보다 장기 의존성 문제를 훨씬 더 잘 처리할 수 있습니다.

예를 들어 망각 게이트가 1에 가깝고 입력 게이트가 0에 가까운 조합이 학습된다면, 특정 정보는 오랜 시간 동안 거의 변화 없이 유지됩니다.

LSTM의 한계와 특징

LSTM은 RNN보다 명확한 장점을 제공하지만 다음과 같은 점을 이해할 필요가 있습니다.

  • 기울기 소실 문제가 완전히 사라지는 것은 아닙니다.
  • 게이트 조합을 안정적으로 학습하지 못하면 여전히 장기 의존성을 학습하기 어렵습니다.
  • LSTM은 구조가 복잡하고 연산량이 많아 학습 비용이 높습니다.

그럼에도 자연어 처리, 음성 처리, 시계열 분석 등 다양한 분야에서 매우 효과적으로 사용되어 왔습니다.

맺음말

LSTM은 RNN의 구조적 한계를 보완하면서 장기 의존성을 학습할 수 있게 만든 중요한 모델입니다. 셀 상태와 게이트 조절을 통해 기울기 흐름을 안정적으로 유지하는 특성을 갖고 있으며, 긴 시퀀스 데이터 처리에 적합한 구조로 널리 사용되고 있습니다. 문제를 근본적으로 해결하는 것은 아니지만, 실질적인 성능 향상과 안정성을 제공합니다.

This post is licensed under CC BY 4.0 by the author.