Attention 메커니즘
Attention은 Seq2Seq 모델의 성능을 개선하기 위해 등장한 방법이다.
Seq2Seq 모델은 Encoder와 Decoder 구조로 이루어져 있으며, 입력 문장을 하나의 고정된 벡터(context vector)로 압축하여 전달한다.
이 방식은 구조가 단순하지만 문장이 길어질수록 정보 손실이 발생하는 문제가 있다.
- 모든 정보를 하나의 벡터에 압축해야 함
- 문장이 길어질수록 중요한 정보가 손실됨
- 초반 단어 정보가 제대로 전달되지 않음
Attention이 해결하는 문제
Attention은 고정된 하나의 벡터에 의존하는 구조를 개선하기 위해 등장하였다.
디코더가 출력 단어를 생성할 때마다 입력 문장의 모든 정보를 다시 참고하도록 만든다.
- 출력 시마다 입력 전체를 참고
- 필요한 정보만 선택적으로 사용
- 정보 손실 문제를 완화
Attention의 동작 방식
디코더는 매 시점마다 Encoder의 모든 hidden state를 확인하고, 현재 출력에 중요한 단어를 선택한다.
- 각 단어의 중요도(Attention score) 계산
- 중요도를 가중치 형태로 변환
- 가중합을 통해 context vector 생성
이렇게 생성된 context vector를 사용하여 다음 단어를 생성한다.

Attention의 핵심 아이디어
모든 단어를 동일하게 보는 것이 아니라, 현재 필요한 정보에 집중하는 것이다.
- 중요한 단어에 높은 가중치 부여
- 덜 중요한 단어는 낮은 가중치 부여
- 문맥을 더 정확하게 반영 가능
Attention 적용 전과 후 비교
| 구분 | 기존 Seq2Seq | Attention 적용 |
|---|---|---|
| 정보 처리 | 하나의 벡터로 압축 | 전체 입력을 참고 |
| 문장 길이 영향 | 길어질수록 성능 저하 | 길이에 강건함 |
| 정보 손실 | 발생 | 감소 |
정리
Attention은 Seq2Seq의 고정된 context vector 구조에서 발생하는 정보 손실 문제를 해결하기 위해 등장한 방법이다.
출력 시마다 입력 전체를 참고하고 중요한 정보에 집중함으로써 더 정확한 결과를 생성할 수 있다.
'데이터 분석' 카테고리의 다른 글
| Hugging Face Transformers 라이브러리 개념과 기능 정리 (0) | 2026.04.19 |
|---|---|
| BERT와 GPT 차이 정리 (1) | 2026.04.19 |
| Transformer 모델과 Seq2Seq 구조의 차이 정리 (0) | 2026.04.10 |
| Word2Vec과 FastText (0) | 2026.04.06 |
| 텍스트 데이터 전처리 (0) | 2026.04.06 |