Part 5 · Context and Sequential Models - Toward a Better Language Model

더 나은 언어 모델을 위한 새로운 접근이 필요했다

RNN은 자연어 처리의 발전에 중요한 전환점이 되었지만, 긴 문장을 처리하는 데에는 여전히 구조적인 한계를 가지고 있었습니다. 연구자들은 기억력을 개선한 다양한 모델을 개발했지만, 문장을 처음부터 끝까지 차례대로 처리해야 하는 방식 자체는 그대로 남아 있었습니다. 언어를 더 잘 이해하려면 이전 정보를 단순히 전달하는 것만으로는 부족했습니다. 문장을 읽는 동안 필요한 정보를 언제든지 효과적으로 활용할 수 있는 새로운 구조가 요구되었고, 이러한 고민은 자연스럽게 다음 세대의 모델인 Self-Attention으로 이어지게 됩니다.

The Problem Returns

RNN이 문장을 읽을 수 있게 되었는데, 왜 또 문제가 생겼을까?

다음 문장을 읽는다고 생각해 보겠습니다.

철수는 어제 공원에서 친구와 함께 놀다가 발견한 작은 강아지를 오늘 병원에 데려갔다.

마지막의 “데려갔다”를 제대로 이해하려면, 앞에서 나온 “강아지”가 무엇을 가리키는지 기억해야 합니다.

철수는→ 어제→ 공원에서→ 친구와→ 강아지를→ 오늘→ 데려갔다
단순 RNN에서는 정보가 여러 단계를 거치는 동안 계속 섞입니다. 문장이 길어질수록 앞부분의 중요한 정보가 약해질 수 있습니다.
중요한 정보만 골라 오래 기억하게 만들 수는 없을까?
First Attempt · LSTM

첫 번째 생각: 모든 정보를 기억하지 말고, 중요한 것만 남기자

사람도 하루 동안 본 모든 장면을 똑같이 기억하지 않습니다. 약속 시간이나 중요한 이름은 남기고, 필요 없는 세부 사항은 잊습니다.

?
이전 정보를 확인 지금까지 기억한 정보 가운데 무엇이 필요한지 판단합니다.
−
불필요한 정보는 줄임 현재 문맥에 덜 중요한 내용은 약하게 만들거나 버립니다.
+
중요한 정보는 유지 뒤에서도 필요할 가능성이 높은 정보는 기억 통로에 남깁니다.
이것이 LSTM의 핵심 발상입니다. 복잡한 수식보다 먼저 기억을 선택적으로 관리하는 RNN이라고 이해하면 됩니다.
How LSTM Thinks

LSTM의 게이트는 기억을 관리하는 문과 같다

이전 기억지금까지의 정보
무엇을 잊을까?Forget Gate
무엇을 새로 넣을까?Input Gate
무엇을 꺼내 쓸까?Output Gate

Cell State

중요한 정보를 비교적 오래 전달하기 위한 별도의 기억 통로입니다. 모든 것을 그대로 저장하는 창고가 아니라, 게이트가 선택한 정보가 지나가는 통로입니다.

Hidden State

현재 시점에서 실제 계산과 출력에 사용할 문맥 표현입니다. Cell State의 내용 중 지금 필요한 부분이 반영됩니다.

LSTM이 사람처럼 의미를 판단하는 것은 아닙니다. 무엇을 유지하고 버릴지는 학습된 Weight가 수치적으로 결정합니다.
A Simpler Version · GRU

두 번째 생각: 같은 목표를 더 단순하게 만들자

LSTM은 효과적이지만 구조가 복잡합니다. 그래서 비슷한 기억 관리 기능을 더 적은 구성 요소로 구현한 GRU가 제안되었습니다.

LSTM

여러 게이트와 별도의 Cell State를 사용합니다.

장점: 기억을 세밀하게 제어

특징: 구조와 계산이 비교적 복잡

→

GRU

이전 정보와 새 정보를 더 단순한 게이트 구조로 조합합니다.

장점: 구조가 단순하고 계산량이 줄 수 있음

목표: 중요한 기억을 오래 유지

LSTM과 GRU는 서로 완전히 다른 목표를 가진 모델이 아닙니다. 둘 다 RNN이 오래된 정보를 잃는 문제를 줄이려는 시도입니다.
Training Stability

기억만의 문제가 아니었다: 학습이 폭주할 수도 있었다

RNN을 역전파할 때 Gradient가 지나치게 커지면, Weight가 한 번에 너무 크게 바뀌어 학습이 불안정해질 수 있습니다.

Gradient가 너무 큰 경우

18.7

Weight가 갑자기 크게 바뀌어 Loss가 흔들릴 수 있습니다.

→

Gradient Clipping

최대 5.0으로 제한

수정 폭이 지나치게 커지지 않도록 막습니다.

Gradient Clipping은 기억력을 높이는 방법이 아닙니다. 학습이 폭주하지 않도록 제어하는 안전장치에 가깝습니다.
The Remaining Problem

기억을 잘하게 만들었는데도 문제가 끝나지 않았다

LSTM과 GRU는 단순 RNN보다 오래된 정보를 더 잘 유지할 수 있었습니다. 하지만 문장을 읽는 기본 방식은 그대로였습니다.

토큰 1→ 토큰 2→ 토큰 3→ ...→ 토큰 100

순서대로 기다려야 한다

100번째 토큰을 계산하려면 99번째 상태가 먼저 필요합니다. 앞 계산이 끝나지 않으면 뒤 계산을 시작하기 어렵습니다.

정보가 긴 경로를 지나야 한다

첫 번째 토큰의 정보가 마지막 토큰에 영향을 주려면 여러 Hidden State를 차례로 통과해야 합니다.

중요한 정보를 끝까지 전달하지 말고, 필요할 때 원래 위치를 직접 보면 안 될까?
A New Idea · Attention

생각을 바꾸다: 기억을 전달하는 대신 필요한 곳을 직접 보자

Attention은 RNN의 기억을 조금 더 개선한 구조가 아닙니다. 문제를 바라보는 방식을 바꾸었습니다.

RNN 계열의 생각

앞의 정보를 Hidden State에 담아 다음 단계로 계속 전달합니다.

animal→ didn't→ cross→ street→ it
→

Attention의 생각

현재 단어가 입력의 여러 위치를 다시 살펴보고 관련된 정보를 골라 참고합니다.

animal
0.82
street
0.14
cross
0.04
Attention의 핵심은 모든 정보를 하나의 상태에 압축하는 대신, 현재 필요한 정보가 있는 위치를 직접 찾아 참고하는 것입니다.
From Attention to Self-Attention

그렇다면 문장 안의 단어들이 서로를 직접 보면 어떨까?

초기 Attention은 주로 Decoder가 Encoder의 여러 상태를 참고하는 방식으로 사용되었습니다. 이후 이 생각을 같은 문장 내부로 확장했습니다.

일반 Attention

출력 문장을 만드는 쪽이 입력 문장의 여러 위치를 참고합니다.

Self-Attention

문장 안의 각 토큰이 같은 문장 안의 다른 모든 토큰을 참고합니다.

RNN기억 전달
LSTM·GRU기억 선택
Attention필요한 위치 참고
Self-Attention토큰끼리 서로 참고
Transformer문장 전체 관계 계산
다음 장에서는 Self-Attention이 각 토큰 사이의 관련성을 어떻게 계산하는지 살펴봅니다.
Interactive Story

문제와 해결 방법을 연결해 보기

연결되는 해결 시도

남아 있는 문제:

Common Questions

자주 생기는 의문

LSTM과 GRU의 게이트를 모두 외워야 하는가?
이 교재의 흐름에서는 세부 수식보다 중요한 정보를 선택적으로 유지한다는 핵심 발상을 이해하는 것이 우선입니다.
Attention이 등장하면서 RNN은 바로 사라졌는가?
아닙니다. Attention은 처음에는 RNN Encoder–Decoder 구조와 함께 사용되었습니다. 이후 Self-Attention을 중심으로 한 Transformer가 등장하면서 자연어 처리의 중심 구조가 바뀌었습니다.
Attention은 기억하지 않는가?
관련 정보를 전혀 저장하지 않는다는 뜻은 아닙니다. 핵심 차이는 현재 필요한 정보를 하나의 마지막 상태에만 의존하지 않고 여러 위치에서 직접 조합한다는 점입니다.
Summary

학습 내용 정리

  • 단순 RNN은 문장이 길어질수록 앞부분의 중요한 정보를 잃기 쉬웠습니다.
  • LSTM은 기억할 정보와 버릴 정보를 선택적으로 관리하도록 설계되었습니다.
  • GRU는 비슷한 목표를 더 단순한 구조로 구현했습니다.
  • Gradient Clipping은 기억 구조가 아니라 Gradient 폭주를 줄이는 학습 안정화 기법입니다.
  • LSTM과 GRU도 여전히 토큰을 순서대로 처리해야 했습니다.
  • Attention은 기억을 끝까지 전달하는 대신 필요한 입력 위치를 직접 참고하는 방식으로 문제를 바꾸었습니다.
  • Self-Attention은 같은 문장 안의 모든 토큰이 서로를 참고하도록 확장한 방식입니다.
  • 이 흐름이 Transformer로 이어집니다.