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