장단기 메모리(LSTM)는 기존 RNN의 한계인 기울기 소실 문제를 해결하기 위해 도입된 순환 신경망(RNN)의 한 유형입니다. 표준 RNN과 달리 LSTM 유닛은 셀 상태와 세 가지 게이트 메커니즘(입력 게이트, 출력 게이트, 망각 게이트)을 포함하여 임의의 시간 간격에 걸쳐 정보 흐름을 조절합니다. 이 설계는 LSTM 네트워크가 수천 개의 타임스텝에 걸쳐 의존성을 유지할 수 있게 하여 음성 인식, 기계 번역, 시계열 예측과 같은 시퀀스 학습 작업에 효과적입니다. 이름은 20세기 초부터 연구된 인지 심리학의 장기 및 단기 메모리 개념에 대한 비유를 반영합니다.
LSTM의 간격 길이에 대한 상대적 둔감성은 다른 RNN, 은닉 마르코프 모델 및 대체 시퀀스 학습 방법보다 우위를 제공합니다. 이 아키텍처는 1997년 Sepp Hochreiter와 Jürgen Schmidhuber가 제안했으며, 이후 특히 트랜스포머 기반 모델의 부상 이전에 딥러닝의 기초 구성 요소가 되었습니다.
동기
고전적인 RNN은 이론적으로 임의의 장기 의존성을 포착할 수 있지만, 실제로는 역전파 중 기울기 소실 문제를 겪습니다. 역전파로 훈련할 때, 많은 타임스텝에 걸쳐 전파되는 기울기는 지수적으로 줄어들 수 있어 네트워크가 효과적으로 학습을 중단하게 됩니다. LSTM 유닛은 셀 상태를 통해 기울기가 거의 감쇠 없이 흐르도록 허용하여 이 문제를 완화하지만, 여전히 기울기 폭발 문제가 발생할 수 있습니다.
LSTM의 직관은 언제 정보를 기억하고 언제 잊을지 학습하는 모듈을 만드는 것입니다. 네트워크는 시퀀스에서 나중에 필요할 가능성이 있는 정보와 더 이상 관련이 없어지는 시점을 학습합니다. 예를 들어, 자연어 처리에서 "Dave, as a result of his controversial claims, is now a pariah"라는 문장을 처리하는 LSTM은 주어 "Dave"의 문법적 성별과 수를 기억하여 대명사 "his"를 올바르게 해석하고, 동사 "is" 이후에 해당 정보를 버릴 수 있습니다.
아키텍처
LSTM 유닛은 셀과 세 개의 게이트로 구성됩니다. 셀은 임의의 시간 간격에 걸쳐 값을 기억합니다. 망각 게이트는 이전 상태와 현재 입력을 0과 1 사이의 값으로 매핑하여 이전 상태에서 어떤 정보를 버릴지 결정하며, 1은 유지, 0은 버림을 의미합니다. 입력 게이트는 유사한 메커니즘을 사용하여 셀 상태에 저장할 새 정보를 결정합니다. 출력 게이트는 이전 및 현재 상태를 모두 고려하여 0과 1 사이의 값을 사용해 현재 셀 상태의 어떤 부분을 출력할지 제어합니다.
수학적으로, 망각 게이트가 있는 LSTM 셀의 순방향 전달은 벡터 표기법으로 설명할 수 있습니다. \(x_t\)를 시간 단계 \(t\)의 입력, \(h_{t-1}\)을 이전 은닉 상태, \(c_{t-1}\)을 이전 셀 상태라고 하겠습니다. 게이트는 다음과 같이 계산됩니다:
- 망각 게이트: \(f_t = \sigma_g(W_f x_t + U_f h_{t-1} + b_f)\)
- 입력 게이트: \(i_t = \sigma_g(W_i x_t + U_i h_{t-1} + b_i)\)
- 출력 게이트: \(o_t = \sigma_g(W_o x_t + U_o h_{t-1} + b_o)\)
- 후보 셀 상태: \(\tilde{c}_t = \tanh(W_c x_t + U_c h_{t-1} + b_c)\)
- 셀 상태 업데이트: \(c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t\)
- 은닉 상태: \(h_t = o_t \odot \tanh(c_t)\)
여기서 \(\sigma_g\)는 시그모이드 활성화 함수, \(\tanh\)는 하이퍼볼릭 탄젠트, \(\odot\)는 요소별 곱셈을 나타냅니다. 가중치 행렬 \(W_q\)와 \(U_q\)(여기서 \(q\)는 \(i\), \(o\), \(f\), 또는 \(c\)일 수 있음)는 각각 입력 및 순환 연결을 포함합니다.
변형 및 확장
LSTM의 여러 변형이 성능을 개선하거나 특정 작업에 적응하기 위해 개발되었습니다. 가장 일반적인 변형은 망각 게이트가 있는 LSTM으로, 현재 표준입니다. 다른 주목할 만한 변형은 다음과 같습니다:
- 게이트 순환 유닛(GRU): 입력 게이트와 망각 게이트를 단일 업데이트 게이트로 결합하여 계산 복잡성을 줄인 단순화된 아키텍처입니다.
- 양방향 LSTM: 시퀀스를 순방향과 역방향 모두로 처리하여 과거와 미래의 맥락을 모두 포착합니다.
- 피홀 연결: 게이트가 셀 상태에 직접 접근할 수 있게 하여 타이밍과 정밀도를 개선합니다.
이러한 변형은 Deep learning 응용 프로그램, Large language model 및 Neural network 기반 시스템에서 널리 채택되었습니다.
응용
LSTM 네트워크는 분류, 데이터 처리, 시계열 분석, 음성 인식, 기계 번역, 음성 활동 감지, 로봇 제어, 비디오 게임, 의료, 에너지 예측을 포함한 다양한 작업에 적용되었습니다. 2010년대 초반, LSTM 기반 모델은 음성 인식과 기계 번역에서 최첨단 결과를 달성하여 현대 Artificial intelligence 시스템의 길을 열었습니다.
2017년 Transformer (architecture) 아키텍처의 등장으로 LSTM의 시퀀스 처리에서의 지배력은 특히 대규모 Generative AI 모델에서 감소했습니다. 그러나 LSTM은 제한된 계산 자원이 있거나 임베디드 시스템 및 실시간 제어와 같이 순차 처리가 본질적인 많은 응용 프로그램에서 여전히 관련성이 있습니다.
한계
장점에도 불구하고 LSTM에는 한계가 있습니다. 추가 게이트로 인해 단순 RNN보다 계산 비용이 더 많이 듭니다. 기울기 클리핑과 같은 기술이 도움이 되지만 여전히 기울기 폭발 문제가 발생할 수 있습니다. 또한 LSTM은 시퀀스를 순차적으로 처리하므로 타임스텝 간 병렬화가 어렵습니다. 이는 대규모 모델에서 트랜스포머가 선호되는 주요 이유입니다. 그럼에도 불구하고 LSTM의 간격 길이에 대한 상대적 둔감성으로 장기 의존성을 모델링하는 능력은 Machine learning 도구 상자에서 여전히 가치 있는 도구로 남아 있습니다.