LSTM (장단기 메모리)

컴퓨터과학·AI
한 줄 정의: 순환 신경망이 먼 과거의 정보를 잊어버리는 문제를 해결하기 위해, 기억을 오래 유지할지 지울지를 스스로 조절하는 문(게이트) 장치를 추가한 신경망 구조입니다.

쉽게 풀면

긴 소설을 읽는다고 생각해봅시다. 100페이지 전에 나온 등장인물의 이름을 지금도 기억하려면, 중요한 정보만 골라 계속 머릿속에 남겨두고 나머지는 잊어버려야 합니다. 일반 순환 신경망(RNN)은 문장이 길어지면 앞부분의 정보가 점점 희미해져서 이런 일을 잘 못합니다. LSTM은 이 문제를 풀기 위해 "기억을 얼마나 남길지", "새 정보를 얼마나 받아들일지", "지금 무엇을 출력할지"를 각각 결정하는 세 개의 문(입력 게이트, 망각 게이트, 출력 게이트)을 둡니다. 이 문들이 켜지고 꺼지는 정도를 학습하면서, 필요한 정보는 오래 간직하고 불필요한 정보는 걸러내는 것입니다.

왜 중요한가

LSTM은 등장 이후 오랫동안 순서가 있는 데이터를 다루는 표준적인 방법으로 자리 잡았기 때문에, 자연어 처리, 음성인식, 시계열 예측 등 순차 데이터를 다루는 수많은 논문에서 기본 모델 또는 비교 대상으로 등장합니다. 일반 순환 신경망이 겪는 기울기 소실 문제를 게이트 구조로 완화했다는 점에서, 딥러닝이 긴 문맥을 다룰 수 있게 된 중요한 전환점으로 평가됩니다. 트랜스포머가 널리 쓰이는 지금도, 자원이 제한적이거나 순차적 처리가 자연스러운 응용에서는 여전히 LSTM이 활용됩니다.

논문에서는 이렇게 쓰입니다

"장기 의존성 문제를 완화하기 위해 LSTM 기반 순환 신경망을 사용하여 시계열 데이터를 학습하였다."

이 문장은 "데이터의 앞부분과 뒷부분이 멀리 떨어져 있어도 그 관계를 놓치지 않도록, 게이트 구조를 가진 LSTM으로 순서가 있는 데이터를 학습시켰다"는 뜻입니다.

"본 연구에서는 양방향 LSTM을 이용해 문장 내 단어의 품사를 태깅하는 모델을 구성하였다."

자연어 처리 분야에서, 문장을 앞에서 뒤로만이 아니라 뒤에서 앞으로도 함께 읽어 앞뒤 문맥을 모두 반영하도록 LSTM을 두 방향으로 겹쳐 사용했다는 뜻입니다.

"센서로부터 수집된 다변량 시계열 데이터의 이상 탐지를 위해 LSTM 오토인코더 구조를 적용하였다."

설비나 장비에서 수집한 여러 종류의 센서 신호를 LSTM으로 압축하고 복원하는 과정에서, 평소와 다른 패턴이 나타나는 구간을 이상 신호로 탐지했다는 의미입니다.

조금 더 깊게 보면

LSTM의 핵심은 셀 상태(cell state)라는 별도의 정보 통로를 두어, 입력 게이트·망각 게이트·출력 게이트가 이 통로에 정보를 얼마나 더하고 지우고 내보낼지를 조절한다는 점입니다. 이 구조 덕분에 정보가 여러 시점을 거치는 동안에도 기울기가 크게 줄어들지 않고 비교적 잘 전달될 수 있습니다. LSTM을 단순화해 게이트 수를 줄인 GRU(Gated Recurrent Unit) 같은 변형도 널리 쓰이며, 계산량을 줄이면서도 비슷한 성능을 내는 것을 목표로 합니다.

주의할 점

LSTM은 게이트 구조 때문에 일반 순환 신경망보다 기울기 소실 문제에 강하지만, 계산해야 할 파라미터가 많아 학습 속도는 더 느립니다. 또한 최근에는 트랜스포머 계열 모델이 등장하면서 아주 긴 시퀀스를 다루는 작업에서는 LSTM보다 더 나은 성능을 보이는 경우가 많다는 점도 함께 언급됩니다.

관련 용어