LSTM

지울 것과 남길 것을 문으로 고르는 순환 신경망

핵심 정리
  • LSTM (Long Short-Term Memory, 장단기 메모리)은 순환 신경망에 오래 남는 기억 한 줄기를 따로 붙인 구조예요.
  • 매 차례 문 세 개가 열리고 닫혀요. 무엇을 지울지, 무엇을 새로 적을지, 무엇을 꺼내 보여 줄지를 각각 정해요.
  • 이 기억 줄기는 손대지 않으면 그대로 흘러가요. 그래서 문장 첫머리에 나온 말도 끝까지 살아남을 수 있어요.
  • 학습할 때 되짚어 가는 신호도 이 줄기를 타고 흐르기 때문에 긴 글에서도 앞부분을 배울 수 있어요.
  • 문을 여닫는 기준을 사람이 정하지 않아요. 무엇을 남길지 자체를 학습으로 익혀요.
목차

1비유로 이해하기

조금 전 귓속말 놀이에 공책 한 권을 놓아 줬어요. 줄을 따라 사람들 앞으로 나란히 흘러가는 공책이에요. 이제 사람마다 새 마디를 들으면 세 가지를 정해요. 공책에서 이제 필요 없어진 줄을 지울지, 방금 들은 것 중 무엇을 새로 적을지, 그리고 옆 사람에게 속삭일 때 공책에서 무엇을 꺼내 읽어 줄지.

공책에 적힌 말은 아무도 손대지 않는 한 그대로 남아요. 그래서 맨 앞에서 나온 "오늘"도 지우지만 않으면 마지막 사람 앞까지 또렷하게 도착해요. 옆으로 넘기는 속삭임은 여전히 짧고 금세 뭉개지지만, 오래 붙들어야 할 것은 공책이 대신 맡아 줘요.

2자세히 알아보기

공책과 속삭임, 두 줄기가 흘러요

보통의 순환 신경망은 차례마다 요약 하나만 넘겨요. LSTM은 여기에 줄기를 하나 더 얹어요. 하나는 옆 사람에게 바로 건네는 속삭임이고, 다른 하나는 줄을 따라 길게 흐르는 공책이에요.

속삭임은 지금 당장 필요한 내용이에요. 다음 마디를 예상하거나 답을 내놓을 때 곧바로 쓰여요. 공책은 나중에 필요할지도 모르는 내용을 담아 둬요. 지금 쓰지 않더라도 계속 들고 가요.

두 줄기가 지나가는 길도 달라요. 속삭임은 차례마다 새로 계산돼 완전히 갈아엎어지지만, 공책은 지우고 적는 손질만 받아요. 이 차이가 LSTM의 핵심이에요.

지우는 문: 필요 없어진 것을 덜어내요

첫 번째 문은 공책을 훑으며 지울 곳을 정해요. 새 마디를 듣고 나면 앞에서 적어 둔 것 중 쓸모가 없어진 대목이 생기거든요. 이야기의 주인공이 바뀌었다면 앞 주인공을 붙들고 있을 이유가 없어요.

지운다고 해서 통째로 비우는 건 아니에요. 줄마다 얼마나 남길지를 0에서 1 사이 값으로 정해요. 그대로 두기도 하고, 절반쯤 흐리게 만들기도 하고, 완전히 지우기도 해요.

적는 문: 새로 들은 것 중 남길 것만

두 번째 문은 방금 들은 마디에서 무엇을 공책에 적을지 고르는 문이에요. 들은 것을 전부 적으면 공책이 금세 꽉 차니까, 나중에 쓸모 있을 만한 것만 골라요.

이 문은 두 부분으로 나뉘어요. 한쪽은 적을 내용을 만들고, 다른 한쪽은 그 내용을 얼마나 진하게 적을지를 정해요. 두 값을 곱한 만큼이 공책에 더해져요. 앞 단계에서 지우고 남은 자리에 이 내용이 얹히면서 공책이 한 차례 갱신돼요.

읽는 문: 지금 필요한 것만 꺼내요

세 번째 문은 공책에서 무엇을 꺼내 옆 사람에게 속삭일지를 정해요. 공책에 적힌 내용을 통째로 읽어 주지는 않아요. 지금 이 자리에서 필요한 대목만 골라서 내보내요.

덕분에 공책은 조용히 오래 기억하고, 속삭임은 매 차례 필요한 것만 짧게 전달하는 역할 분담이 생겨요. 겉으로 보이는 출력은 언제나 이 읽는 문을 거쳐 나온 값이에요.

왜 긴 글을 더 잘 버티나요

보통의 순환 신경망에서는 요약이 차례를 지날 때마다 계산에 통째로 휘말려요. 그 과정이 수십 번 겹치면 처음 내용이 남지 않아요. LSTM의 공책은 다르게 흘러요. 지우는 문이 열리지 않으면 앞 차례 값이 거의 그대로 다음 차례로 건너가요.

학습할 때도 마찬가지예요. 빗나간 양을 뒤에서 앞으로 되짚어 보낼 때 이 줄기가 지름길 노릇을 해서, 문장 첫머리까지 신호가 닿아요. 순환 신경망이 수십 마디를 넘기기 힘들어할 때 LSTM은 수백 마디를 다루며 오랫동안 번역과 음성 인식의 주력으로 쓰였어요.

다만 한계도 그대로예요. 여전히 한 마디씩 순서대로만 갈 수 있어서 계산을 몰아서 하기 어렵고, 문이 세 개나 붙은 만큼 한 차례 계산량도 늘어나요.

3조금 더 정확하게

LSTM은 셀 상태라는 별도의 벡터를 차례마다 이어 나르면서, 망각 게이트와 입력 게이트와 출력 게이트가 각각 얼마를 통과시킬지 0에서 1 사이 값으로 정하는 순환 신경망이에요. 셀 상태는 곱셈과 덧셈만 거치며 갱신되기 때문에 되짚어 가는 신호가 잘 줄어들지 않아요.

비유가 어긋나는 지점도 있어요. 공책은 글자로 적힌 문장이 아니라 숫자 묶음이라서 사람이 열어 봐도 읽을 수 없어요. 지우는 문도 특정 줄을 골라 지우는 게 아니라, 모든 자리에 대해 얼마나 남길지를 한꺼번에 정해요. 어떤 자리 하나가 주인공 이름을 맡고 있는 식으로 딱 나뉘지도 않아요.

문을 조금 줄여 더 가볍게 만든 변형도 널리 쓰여요. 문 개수와 줄기를 합치는 방식만 다를 뿐, 손대지 않으면 그대로 흐르는 줄기를 따로 둔다는 발상은 똑같아요. 문장을 앞에서 뒤로 한 번, 뒤에서 앞으로 한 번 훑어 두 결과를 합치는 방식과도 자유롭게 섞어 쓸 수 있어요.

4직접 해보기

5흔한 오해

  • LSTM이 앞의 내용을 전부 기억한다고 생각하기 쉽지만, 실제로는 담을 수 있는 크기가 정해져 있어서 남길 것을 계속 골라내야 해요.

  • 문 세 개를 사람이 규칙으로 정해 준다고 여기기 쉽지만, 실제로는 언제 열고 닫을지를 학습으로 스스로 익혀요.

  • LSTM은 순환 신경망과 완전히 다른 구조다라고 생각하기 쉽지만, 실제로는 같은 뼈대에 오래 남는 기억 줄기와 문을 덧붙인 것이에요.

7한 줄 요약

그러니까LSTM은 차례마다 지우고 적고 꺼내는 문 세 개로 오래 남는 기억 줄기를 관리해서, 긴 글에서도 앞부분을 놓치지 않는 순환 신경망이에요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02