
순서를 읽는 기술에서 시간의 구조를 다루는 기술로
인공지능이 텍스트를 이해하고, 음성을 처리하고, 사용자의 행동을 예측하고, 추천을 수행하려면 반드시 풀어야 하는 문제가 있습니다. 바로 순서와 시간입니다. 어떤 정보가 먼저 들어왔고, 무엇이 나중에 들어왔는지, 앞에서 벌어진 사건이 뒤의 판단에 어떤 영향을 미치는지, 그리고 그 영향이 얼마나 오래 남아 있어야 하는지를 설명해야 하기 때문입니다.
이 때문에 시퀀스 모델(Sequence Model)은 인공지능의 역사에서 매우 중요한 축을 차지해왔습니다. 시퀀스 모델의 진화는 단순히 새로운 알고리즘이 차례로 등장한 과정이 아닙니다. AI가 시간 위의 정보를 어떻게 기억하고, 어떻게 압축하고, 어떻게 다시 꺼내 쓰는지를 계속 바꿔온 과정입니다. 그리고 이 흐름을 따라가다 보면, 오늘날 왜 많은 연구와 산업 시스템이 단순한 문맥 처리만이 아니라 내부 상태와 전이 구조를 더 중요하게 보게 되었는지도 자연스럽게 이해할 수 있습니다.
시퀀스 모델이 어떤 문제의식에서 출발했는지, RNN(Recurrent Neural Network)과 LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit), 어텐션(Attention), 트랜스포머(Transformer), 그리고 최근 다시 주목받는 상태 공간 모델(State Space Model, SSM) 계열까지 어떤 기술적 전환이 있었는지를 하나의 흐름으로 정리해보겠습니다.
시퀀스 문제는 왜 특별한가
이미지 분류처럼 입력 하나를 보고 답 하나를 내는 문제와 달리, 시퀀스 문제는 현재 입력만으로는 충분히 설명되지 않습니다. 자연어 문장에서 한 단어의 의미는 앞 단어와 뒤 단어에 따라 달라지고, 음성 신호는 바로 직전 프레임의 흐름과 이어져야 하며, 추천 시스템에서는 지금의 클릭 하나가 수십 번의 이전 탐색 행동 위에서 발생합니다.
예를 들어 사용자가 쇼핑 서비스에서 특정 운동화를 클릭했다고 해보겠습니다. 이 행동은 단독으로 보면 단순한 관심 표현처럼 보입니다. 하지만 바로 직전에 여러 브랜드를 비교하고 있었는지, 같은 운동화를 며칠째 반복해서 보고 있었는지, 장바구니에 관련 상품을 이미 담아두었는지에 따라 의미가 완전히 달라집니다. 어떤 경우에는 탐색 중일 수 있고, 어떤 경우에는 구매 직전일 수 있습니다. 결국 시퀀스 문제는 개별 이벤트를 맞히는 문제라기보다, 이벤트들 사이의 연결 구조와 시간적 누적을 읽어내는 문제입니다.
이 때문에 시퀀스 모델은 오래전부터 두 가지 과제를 동시에 안고 있었습니다. 첫째는 앞뒤 관계를 얼마나 잘 반영할 것인가입니다. 둘째는 시간이 지나도 어떤 정보는 계속 남고 어떤 정보는 사라져야 하는데, 그 선택을 어떻게 할 것인가입니다. 시퀀스 모델의 진화는 결국 이 두 과제를 점점 더 정교하게 풀어가는 과정이었습니다.
시퀀스 모델 이전: 규칙과 고정 길이 문맥의 한계
딥러닝 이전에도 시퀀스를 다루는 방법은 있었습니다. 대표적으로 언어 모델에서는 n-gram 같은 방식이 널리 쓰였습니다. n-gram은 바로 앞의 몇 개 단어를 보고 다음 단어를 예측하는 방식입니다. 예를 들어 직전 두 단어만 보는 trigram 모델이라면, 세 단어 수준의 지역 문맥은 잡을 수 있습니다. 하지만 문장이 조금만 길어져도 훨씬 앞쪽의 정보는 전혀 반영하지 못합니다.
이런 방식은 계산은 단순하지만 한계가 분명했습니다. 문맥 창(window)이 고정되어 있기 때문에 긴 의존성을 설명할 수 없었고, 데이터에 없는 조합은 일반화하기 어려웠습니다. 사용자 행동 로그에서도 마찬가지입니다. 최근 세 번의 행동만 보는 모델은 그 이전의 장기 패턴을 반영하지 못합니다. 그래서 더 유연하게, 더 길게 시간을 다룰 수 있는 구조가 필요해졌고, 여기서 순환 신경망이 등장합니다.
RNN: 시간을 모델 안으로 처음 끌어들인 구조

RNN은 시퀀스 모델의 본격적인 출발점으로 자주 언급됩니다. 이유는 간단합니다. 이전까지의 일반적인 신경망은 입력 하나를 처리하면 그 순간 계산이 끝났지만, RNN은 현재 입력을 처리할 때 이전 시점의 내부 요약값을 함께 사용합니다. 즉, 모델 내부에 시간이 흐르며 전달되는 hidden state가 존재합니다.
이 hidden state는 일종의 압축된 기억입니다. 현재 단어를 해석할 때 바로 직전 단어만 보는 것이 아니라, 이전까지 읽은 정보가 요약된 상태를 함께 참고합니다. 그래서 RNN은 텍스트, 음성, 시계열처럼 순차 정보가 중요한 문제를 처음으로 자연스럽게 처리할 수 있는 구조가 되었습니다.
기술적으로 보면 RNN의 장점은 명확했습니다. 네트워크 구조를 시간축으로 반복 적용할 수 있고, 입력 길이가 달라져도 같은 셀 구조를 계속 사용할 수 있습니다. 덕분에 시퀀스 길이에 유연하고, 당시 기준으로는 매우 자연스러운 시간 모델이었습니다.

하지만 RNN은 곧 강한 한계에 부딪혔습니다. 시퀀스가 길어질수록 과거 정보가 점점 사라진다는 점입니다. 학습 과정에서 멀리 떨어진 시점의 정보는 현재 손실과 연결되는 경로가 너무 길어지고, 그 결과 앞부분의 중요한 단서가 잘 전달되지 못했습니다. 이를 기울기 소실(vanishing gradient) 문제라고 부릅니다. 반대로 특정 조건에서는 기울기 폭주(exploding gradient)도 발생했습니다. 결과적으로 RNN은 짧은 문맥이나 국소 패턴에는 어느 정도 작동했지만, 긴 문장이나 장기 행동 흐름에서는 안정적으로 학습되기 어려웠습니다.
RNN은 시간을 도입했다는 점에서는 중요한 전환이었지만, 긴 시간을 제대로 기억하는 데에는 구조적 약점이 있었습니다.
LSTM: 기억을 전달하는 것에서 기억을 관리하는 것으로

RNN의 가장 큰 문제는 정보가 그냥 흘러간다는 데 있었습니다. 중요한 정보인지, 이미 쓸모없어진 정보인지 구분하지 못한 채 다음 시점으로 넘기다 보니, 시간이 길어질수록 기억은 흐려졌습니다. 이 문제를 해결하기 위해 등장한 구조가 LSTM입니다.
LSTM의 핵심은 기억을 단순히 보존하는 것이 아니라 선택적으로 관리하는 것입니다. 이를 위해 여러 개의 게이트가 도입됩니다. 어떤 정보는 잊고, 어떤 정보는 새로 받아들이고, 어떤 정보는 지금 당장 출력에 반영합니다. 즉 모델이 상태를 수동적으로 전달하는 것이 아니라, 내부적으로 정보의 유입과 유지와 배출을 제어하게 됩니다.
이 구조는 시퀀스 모델에서 매우 큰 전환이었습니다. RNN이 시간 흐름을 처음 표현했다면, LSTM은 시간 위의 정보 흐름을 제어하는 방법을 제시했습니다. 덕분에 문장의 앞부분에 나온 중요한 정보가 더 오래 유지될 수 있었고, 장기 의존성이 필요한 문제에서 성능이 크게 향상되었습니다. 자연어 처리, 음성 인식, 시계열 예측, 추천 등에서 LSTM이 오랫동안 표준처럼 사용된 이유도 여기에 있습니다.

하지만 LSTM에도 분명한 한계가 있었습니다. 가장 큰 문제는 여전히 순차 처리라는 점입니다. t시점 계산이 끝나야 t+1시점으로 갈 수 있기 때문에 병렬화가 어렵습니다. 시퀀스가 길어질수록 계산 시간이 늘어나고, GPU 병렬 처리의 장점을 충분히 살리기 어렵습니다. 또한 상태를 계속 하나의 벡터 안에 압축해야 하므로, 복잡한 정보가 많아질수록 병목이 생길 수밖에 없습니다.
LSTM은 기억 유지 문제를 크게 개선했지만, 긴 시퀀스를 대규모로 빠르게 다루는 문제는 여전히 해결하지 못했습니다.
GRU: 구조를 단순화하면서 효율을 높인 절충안

GRU는 LSTM의 철학을 유지하면서 구조를 더 간결하게 만든 모델입니다. 기억을 선택적으로 유지하고 갱신하는 방식은 비슷하지만, 셀 상태와 hidden state를 별도로 두지 않고 게이트 수를 줄여 더 가볍게 설계되었습니다.
실무적으로 GRU의 장점은 분명했습니다. LSTM보다 파라미터 수가 적고 계산량도 줄어들기 때문에, 비슷한 문제에서 더 빠르게 학습되거나 더 단순하게 배포될 수 있었습니다. 특히 데이터 규모가 아주 크지 않거나, 모델 크기와 속도가 중요한 환경에서는 GRU가 꽤 실용적인 선택지였습니다.
그러나 GRU 역시 RNN 계열의 본질을 벗어나지는 못했습니다. 여전히 순차적으로 계산되고, 여전히 긴 시퀀스에서는 병렬화가 어려우며, 상태를 하나의 연속된 벡터로만 끌고 가야 한다는 한계가 남아 있었습니다. GRU는 LSTM의 효율 개선판이지, 시퀀스 모델의 패러다임을 바꾼 구조는 아니었습니다.
Seq2Seq와 인코더-디코더 구조: 시퀀스에서 시퀀스로
RNN 계열이 발전하면서 자연스럽게 등장한 중요한 응용 구조가 시퀀스 투 시퀀스(Seq2Seq) 모델입니다. 번역처럼 입력 시퀀스를 받아 다른 출력 시퀀스로 바꾸는 문제에서 많이 사용되었습니다. 이 구조는 인코더가 입력 전체를 하나의 벡터 표현으로 압축하고, 디코더가 그 표현을 바탕으로 출력 시퀀스를 생성합니다.
이 방식은 매우 중요한 진전이었지만, 또 다른 병목을 드러냈습니다. 입력 시퀀스 전체를 하나의 고정 길이 벡터로 압축해야 한다는 점입니다. 짧은 문장에서는 어느 정도 작동하지만, 문장이 길어질수록 정보 손실이 커지고, 입력 초반 정보가 충분히 보존되지 않는 문제가 발생했습니다. 이러한 문제를 해결하기 위해 어텐션이 등장합니다.
어텐션: 모든 과거를 동일하게 압축하지 않고 필요할 때 꺼내 보기
어텐션은 시퀀스 모델 발전에서 매우 결정적인 아이디어입니다. 요약하면, 입력 전체를 하나의 벡터에 우겨 넣지 말고, 출력 시점마다 지금 필요한 입력 부분을 직접 참조하자는 발상입니다. 번역 문제라면 어떤 단어를 생성할 때 원문 전체 중 어느 위치가 중요한지를 동적으로 계산합니다.
아이디어는 시퀀스 모델의 철학을 바꾸었습니다. 이전에는 과거를 하나의 압축 상태로만 들고 왔다면, 이제는 필요에 따라 과거의 특정 부분을 선택적으로 다시 바라볼 수 있게 되었습니다. 기억은 단일 벡터가 아니라, 여러 위치에 분산된 정보들로 바뀌기 시작했습니다.
이 흐름이 극단적으로 확장된 구조가 바로 트랜스포머입니다.
Transformer: 순서를 따라가는 모델에서 관계를 한 번에 계산하는 모델로

트랜스포머는 시퀀스 모델의 가장 큰 분기점입니다. 핵심은 더 이상 시퀀스를 순차적으로 처리하지 않는다는 점입니다. 대신 입력 전체를 한 번에 보고, 각 토큰이 다른 모든 토큰과 어떤 관계를 맺는지를 계산합니다. 이것이 self-attention입니다.
이 구조가 중요한 이유는 세 가지입니다.
첫째, 병렬 계산이 가능합니다.
RNN 계열은 순서대로 읽어야 했지만, 트랜스포머는 전체 시퀀스를 동시에 계산할 수 있습니다. GPU 환경에서 대규모 병렬화가 가능해졌고, 모델 크기와 데이터 규모를 훨씬 키울 수 있게 되었습니다.
둘째, 긴 거리 의존성을 더 잘 다룰 수 있습니다.
멀리 떨어진 토큰이라도 직접 연결해 볼 수 있기 때문에, 문장 초반의 단어와 후반의 단어 관계를 더 잘 포착할 수 있습니다. 자연어 처리에서 문맥 이해 성능이 급격히 향상된 이유입니다.
셋째, 구조적으로 더 확장 가능했습니다.
대규모 사전학습과 결합했을 때, 트랜스포머는 일반적인 문맥 이해 능력을 크게 끌어올릴 수 있었습니다. 오늘날의 거대 언어 모델, 비전 트랜스포머, 멀티모달 모델이 모두 이 구조 위에 세워졌습니다.
트랜스포머는 결과적으로 시퀀스 모델의 중심 문제를 “시간 순서에 따라 상태를 전달하는 것”에서 “전체 관계를 얼마나 잘 계산하는가”로 이동시켰습니다. 이 전환은 엄청난 성공을 가져왔습니다.
트랜스포머는 ‘문맥’을 잘 다루는 것이지 ‘지속 상태’를 저장하는 구조는 아니었다
트랜스포머가 강력한 것은 사실이지만, 시간이 지나며 또 다른 한계도 분명해졌습니다. self-attention은 매우 뛰어난 관계 계산 도구이지만, 본질적으로는 그 순간 입력된 토큰들 사이의 중요도를 계산하는 연산입니다. 무엇을 볼지는 정하지만, 이전 계산의 결과를 지속적인 내부 상태로 축적하는 구조는 아닙니다.
차이는 문장 이해에서는 크게 문제 되지 않을 수 있습니다. 그러나 사용자 모델링이나 추천 시스템으로 오면 매우 중요해집니다. 사용자의 행동은 하루 이틀이 아니라 몇 달, 몇 년에 걸쳐 누적됩니다. 조회, 클릭, 장바구니, 구매, 반복 탐색, 관심 이동, 이탈 징후 등은 단지 토큰들 간 관계로만 보기 어려운 변화입니다.
트랜스포머는 이런 긴 이력을 입력 토큰으로 넣어 문맥 관계를 계산할 수는 있습니다. 하지만 시퀀스가 길어질수록 계산량은 급격히 커집니다. self-attention은 입력 길이에 따라 계산 비용이 빠르게 증가하기 때문에, 수천 개 이상의 행동 로그를 매번 다시 계산하는 것은 비효율적입니다. 게다가 매 요청마다 전체 시퀀스를 다시 넣어야 한다는 점도 문제입니다. 이전 상태가 지속적으로 유지되는 것이 아니라, 그때그때 다시 해석되기 때문입니다.
결국 트랜스포머는 문맥을 매우 잘 이해하지만, 내부 상태를 오랫동안 보존하고 점진적으로 업데이트하는 구조와는 다릅니다. 이 차이가 최근 다시 상태 중심 모델이 주목받는 배경 중 하나입니다.
긴 시퀀스를 효율적으로 처리하려는 시도들: Efficient Transformer 계열
트랜스포머의 한계가 드러나자, 긴 시퀀스를 더 효율적으로 다루기 위한 다양한 변형이 등장했습니다. Sparse Attention, Linear Attention, Performer, Longformer, Reformer 같은 모델들이 대표적입니다. 이들은 모두 self-attention의 계산량 문제를 줄이려는 시도입니다.
어떤 모델은 모든 토큰이 서로를 다 보지 않게 희소화했고, 어떤 모델은 attention 계산을 선형 근사로 바꾸었으며, 어떤 모델은 지역 윈도우와 전역 토큰을 섞어 장거리 참조와 효율 사이의 균형을 맞추었습니다.
이 흐름은 분명 의미가 있었습니다. 하지만 여기서도 핵심은 크게 달라지지 않았습니다. 여전히 중심 문제는 “긴 입력 안의 관계를 더 싸게 계산하는 것”이었습니다. 따라서 계산 효율은 개선했지만, 상태를 어떻게 유지하고 전이시킬 것인가라는 문제 자체를 새롭게 풀지는 못했습니다.
시퀀스 문제의 본질이 다시 드러나다
여기서 중요한 구분이 필요합니다. 시퀀스 모델은 사실 두 종류의 문제를 동시에 다뤄야 합니다.
하나는 관계 문제입니다.
어떤 입력이 어떤 입력과 관련되는지, 어떤 토큰이 지금 더 중요한지, 어떤 맥락 조합이 의미를 만드는지를 계산하는 문제입니다. 트랜스포머는 여기에 매우 강합니다.
다른 하나는 상태 문제입니다.
시스템 내부에 어떤 조건이 형성되어 있고, 그것이 시간에 따라 어떻게 변화하며, 현재 관측은 그 상태의 어떤 결과인지를 설명하는 문제입니다. 이것은 단순히 토큰들의 관계를 계산하는 것과는 다릅니다.
예를 들어 사용자 행동 로그에서 동일한 클릭 패턴이 나타났다고 해도, 어떤 경우에는 탐색 상태일 수 있고, 어떤 경우에는 구매 직전 확인 단계일 수 있습니다. 겉으로 보이는 이벤트는 비슷하지만 내부 상태는 다릅니다. 그리고 그 내부 상태는 시간이 흐르며 서서히 또는 급격히 이동합니다. 이런 변화는 단순 attention 계산만으로는 충분히 포착하기 어렵습니다.
상태 공간 모델(State Space Model, SSM): 관측과 내부 상태를 분리하는 관점

상태 공간 모델은 이 문제를 다른 시각에서 접근합니다. 핵심은 보이는 데이터와 내부 상태를 분리하는 것입니다. 관측값은 우리가 실제로 보는 이벤트입니다. 예를 들어 단어, 클릭, 센서 신호, 구매, 체류시간 등이 여기에 해당합니다. 반면 상태는 직접 보이지 않지만 시스템 내부에 존재하는 잠재 변수입니다. 사용자 관심도, 피로도, 탐색 단계, 몰입도 같은 것을 떠올릴 수 있습니다.
현재 이벤트를 바로 다음 이벤트와 연결하는 대신, 현재 이벤트가 어떤 내부 상태의 결과였는지를 보고, 그 상태가 다음 시점에 어떻게 변하는지를 모델링합니다. 시퀀스의 중심이 이벤트의 나열이 아니라 상태의 전이가 됩니다.
이 접근의 장점은 명확합니다. 첫째, 관측이 불완전해도 내부 상태를 따로 추정할 수 있습니다. 둘째, 긴 이력을 매번 다 들고 다니는 대신 내부 상태를 업데이트하는 방식으로 처리할 수 있습니다. 셋째, 같은 관측이 서로 다른 상태에서 나왔을 가능성을 설명할 수 있습니다.
상태 공간 모델은 제어, 신호 처리, 시계열 분석 같은 분야에서 오래전부터 중요했습니다. 최근에는 딥러닝과 결합되며 다시 큰 주목을 받고 있습니다.
현대적 SSM의 부활: S4와 Mamba가 보여준 가능성
상태 공간 모델이 최근 다시 주목받는 데에는 구조화된 상태 공간 모델(Structured State Space Models) 계열의 발전이 큽니다. 대표적으로 S4는 연속 시간 시스템 관점과 장거리 의존성 처리를 결합해, 긴 시퀀스를 효율적으로 다룰 수 있음을 보여주었습니다. 이후 Mamba는 선택적 상태 공간 모델(Selective State Space Model) 구조를 제시하며, 입력에 따라 어떤 정보를 상태에 반영할지를 더 유연하게 조절했습니다.
중요한 것은 긴 시퀀스를 다룰 때 토큰 간 관계 전체를 매번 계산하는 대신, 상태를 중심으로 정보를 흡수하고 갱신하는 방식이 다시 경쟁력을 갖기 시작했다는 점입니다. 시퀀스 모델 발전의 축이 다시 “지속 상태를 어떻게 설계할 것인가” 쪽으로 이동하고 있는 것입니다.
RSSM: 상태를 추적하는 것에서 미래를 시뮬레이션하는 쪽으로

상태 공간 모델의 흐름은 한 단계 더 나아가 RSSM(Recurrent State Space Model) 같은 구조로 확장됩니다. RSSM은 이름 그대로 순환 구조와 상태 공간 모델을 결합한 형태입니다. 쉽게 말하면 과거를 요약해 현재 상태를 유지하는 경로와, 불확실한 미래 가능성을 표현하는 확률적 경로를 함께 둡니다.
이 구조가 중요한 이유는 현실의 데이터가 항상 부분 관측이라는 점 때문입니다. 사용자의 마음, 의도, 주의 상태, 탐색 단계는 직접 보이지 않습니다. 우리는 클릭, 조회, 구매 같은 결과만 관측합니다. RSSM은 이런 불완전한 관측 속에서도 내부 상태를 추정하고, 그 상태가 앞으로 어떤 방향으로 이동할 수 있을지까지 함께 다룰 수 있습니다.
그래서 RSSM은 단순한 시퀀스 예측 모델이 아니라, 시간에 따라 변화하는 잠재 상태를 유지하고, 미래를 시뮬레이션하는 모델로 이해할 수 있습니다. 월드 모델(World Model)이나 모델 기반 강화학습(Model-based Reinforcement Learning)에서 RSSM이 중요한 이유도 여기에 있습니다.
앞으로의 시퀀스 모델은 어디로 가는가
앞으로의 시퀀스 모델은 더 긴 컨텍스트를 처리하는 것만으로는 충분하지 않을 가능성이 큽니다. 물론 긴 입력을 다루는 능력은 계속 중요할 것입니다. 하지만 실제 서비스에서는 긴 입력을 매번 다시 읽는 것보다, 그 안에서 무엇을 지속 상태로 축적할지 결정하는 것이 더 중요해집니다.
특히 사용자 모델링, 개인화 추천, 행동 예측, 멀티에이전트 상호작용 같은 문제에서는 다음과 같은 능력이 필요합니다.
- 관측된 이벤트를 바로 정답으로 해석하지 않는 능력
- 내부 상태를 분리해 유지하는 능력
- 장기 패턴과 단기 반응을 구분하는 능력
- 미래 상태 변화를 확률적으로 다루는 능력
- 긴 시퀀스를 전체 재계산 없이 업데이트하는 능력
요구를 만족시키기 위해 앞으로의 모델은 트랜스포머의 관계 모델링 능력과 상태 공간 모델의 지속 상태 처리 능력을 다양한 방식으로 결합하는 방향으로 갈 가능성이 큽니다. 실제로 최근 연구 흐름도 pure transformer와 pure recurrent, pure state-space가 경쟁하기보다는, 문제 특성에 따라 서로 다른 장점을 조합하는 방향으로 이동하고 있습니다.


Leave a comment