반응형
안녕하세요! 😄 이번에는 트랜스포머가 문장의 "순서"를 어떻게 기억하는지를 알려주는 핵심 기술, 포지션 인코딩(Position Encoding) 에 대해 쉽게 설명드릴게요.
1. 트랜스포머의 치명적인 단점?!
트랜스포머는 문장을 한 번에 전체로 받아들이기 때문에 단어의 순서 정보를 모릅니다!
예: "나는 밥을 먹었다" vs "밥을 나는 먹었다"
두 문장은 단어가 같지만 순서가 다르면 의미가 달라지죠.
그래서 포지션 인코딩이 필요해요.
2. 포지션 인코딩이란?
"이 단어는 몇 번째에 있는 단어야" 라는 정보를 **숫자(벡터)**로 만들어서 단어 임베딩에 더해주는 것!
트랜스포머는 이 벡터를 보고 순서를 유추합니다.
3. 비유로 쉽게 이해해보기
- 트랜스포머는 사람 얼굴은 잘 기억하지만, 그 사람이 언제 왔는지는 모르는 친구 같아요.
- 그래서 사람마다 도착 시간표를 붙여주는 것이 포지션 인코딩입니다!
4. 어떻게 만들까? (2가지 방식)
✅ 1) 고정형(sinusoidal) 포지션 인코딩
- 논문 "Attention is All You Need"에서 제안한 방식
- 사인, 코사인 함수를 이용해서 규칙적인 위치 벡터 생성
- 모델이 훈련되지 않아도 수학적으로 위치 정보가 보장됨
✅ 2) 학습형 포지션 인코딩
- 위치 정보를 나타내는 벡터를 모델이 직접 학습함
- BERT, GPT 등 많은 모델이 이 방식 사용
5. 시각적으로 이해해보기
[나는] → 단어벡터 + 위치벡터(0번째)
[오늘] → 단어벡터 + 위치벡터(1번째)
[학교에] → 단어벡터 + 위치벡터(2번째)
이렇게 더해진 결과를 기반으로 트랜스포머는 "단어 간의 관계"와 "순서 정보"를 동시에 이해할 수 있어요.
6. 왜 중요한가요?
- 트랜스포머는 자연어의 문맥과 순서를 동시에 이해해야 제대로 동작합니다.
- 포지션 인코딩이 없다면, "문장 전체를 본다"는 장점이 오히려 단점이 될 수 있어요!
7. 핵심 요약
개념설명
| 포지션 인코딩 | 단어의 위치를 숫자로 알려주는 기술 |
| 왜 필요함? | 트랜스포머는 순서를 모르기 때문 |
| 방식 | 사인/코사인 함수 또는 학습으로 벡터 생성 |
8. 다음 편 예고 ✨
다음 포스팅에서는 트랜스포머 모델의 다양한 변형 모델(BERT, GPT, T5) 들을 비교해보며, 어떤 모델이 어떤 상황에서 더 잘 쓰이는지 알아보겠습니다!
오늘도 끝까지 읽어주셔서 감사합니다 💙
반응형
'02. 딥러닝' 카테고리의 다른 글
| 00012. [AI 쉽게 이해하기 시리즈] Hugging Face Transformers로 직접 써보자! (입문자를 위한 실습 가이드) (0) | 2025.04.03 |
|---|---|
| 00011. [AI 쉽게 이해하기 시리즈] BERT vs GPT vs T5 – 언제 어떤 모델을 써야 할까? (0) | 2025.04.03 |
| 00009. [AI 쉽게 이해하기 시리즈] 트랜스포머 구조 완전 정복! (그림으로 이해하는 AI) (0) | 2025.04.03 |
| 00008. [AI 쉽게 이해하기 시리즈] 어텐션 메커니즘이 뭐예요? 초간단 설명 들어갑니다! (0) | 2025.04.03 |
| 00007. [AI 쉽게 이해하기 시리즈] RNN과 트랜스포머의 차이, 진짜 쉽게 설명해드립니다! (0) | 2025.04.03 |