본문 바로가기

02. 딥러닝

00010. [AI 쉽게 이해하기 시리즈] 포지션 인코딩이 뭐예요? 순서 모르는 트랜스포머의 기억법!

반응형

안녕하세요! 😄 이번에는 트랜스포머가 문장의 "순서"를 어떻게 기억하는지를 알려주는 핵심 기술, 포지션 인코딩(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) 들을 비교해보며, 어떤 모델이 어떤 상황에서 더 잘 쓰이는지 알아보겠습니다!

오늘도 끝까지 읽어주셔서 감사합니다 💙

반응형