어텐션 메커니즘은 NLP에서 “문장을 하나의 벡터로 압축하던 시대”를 끝내고, 필요할 때 필요한 정보에 동적으로 집중하는 시대를 열었습니다.

1. 전통적 Seq2Seq의 한계

RNN 기반 Seq2Seq는 다음 흐름으로 동작합니다.

  1. 인코더가 입력 문장을 고정 길이 컨텍스트 벡터로 압축
  2. 디코더가 그 벡터 하나로 출력 문장 생성

이 구조의 핵심 문제:

  • 정보 병목(Information Bottleneck): 긴 문장일수록 핵심 정보 손실
  • 장기 의존성 문제: 앞부분 정보가 뒤에서 희미해짐
  • 비효율적 문맥 사용: 모든 시점에서 같은 컨텍스트만 참조

2. 어텐션의 아이디어

핵심 전환:

“하나의 벡터에 다 넣지 말고, 디코더가 매 시점마다 입력 전체에서 필요한 정보를 직접 조회하자.”

즉, 디코더가 출력 단어를 만들 때마다 입력의 관련 부분에 가중치를 다르게 부여합니다.

3. Query-Key-Value 작동 원리

디코더 타임스텝마다 다음을 수행합니다.

  1. Query: 현재 디코더 상태가 “지금 필요한 정보”를 질의
  2. Keys: 인코더 각 시점 은닉 상태를 참조 키로 사용
  3. Score 계산: Query와 각 Key의 관련도 계산
  4. Softmax: 관련도를 확률 가중치(Attention Weight)로 변환
  5. Context 생성: Value(보통 인코더 상태)들의 가중합으로 맞춤 컨텍스트 생성

이 컨텍스트를 활용해 현재 출력 단어를 예측합니다.

4. 어텐션이 만든 변화

  • 긴 문장 처리 성능 개선
  • 장기 의존성 완화
  • 동적 문맥 선택 가능
  • 어텐션 맵 시각화를 통한 해석 가능성 향상

즉, 모델이 “무엇을 보고 판단했는지”를 분석할 수 있게 됐습니다.

5. 트랜스포머로의 확장

어텐션의 성공은 결국 “순차 RNN 없이도 된다”는 결론으로 이어졌고,
Self-Attention 중심의 트랜스포머 아키텍처가 등장했습니다.

이후 BERT, GPT 같은 현대 LLM의 핵심 기반은 모두 어텐션 메커니즘입니다.

결론

어텐션은 Seq2Seq의 보조 장치를 넘어 NLP 패러다임 자체를 바꾼 핵심 혁신입니다.
기계가 문맥을 동적으로 선택해 이해하도록 만든 이 아이디어가, 오늘날 생성형 AI 시대의 출발점이 되었습니다.