통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

입력 임베딩과 포지셔널 인코딩

마일스톤 학습법으로 단계별 완전 정복
LLM
포지셔널 인코딩
Positional Encoding
위치 임베딩
Transformer
Self-Attention
RoPE
sin/cos
이 개념 직접 실험하기 — 위치 벡터가 더해지는 표 실측
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • Self-Attention이 집합 연산이라 순서를 모른다는 사실 이해
  • • 입력 = 토큰 임베딩 + 포지셔널 인코딩의 합성 구조 파악
  • • 같은 단어라도 자리에 따라 입력 벡터가 달라지는 원리 이해
심화 학습
  • • sin/cos 인코딩 공식을 작은 차원에서 직접 손계산
  • • 파장이 기하급수적으로 달라지는 다중 스케일 설계의 이유 이해
  • • 고정형(sin/cos)과 학습형(BERT) 위치 임베딩의 장단점 비교
실무 적용
  • • 절대 위치 방식의 한계와 상대 위치 인코딩의 문제의식 이해
  • • RoPE가 덧셈 대신 회전으로 상대 위치를 어텐션에 싣는 원리 개관
  • • 위치 인코딩 선택이 긴 문맥 처리·모델 설계에 미치는 영향 파악
한눈에 보기

포지셔널 인코딩은 순서를 모르는 Self-Attention에 각 토큰의 위치 정보를 명시적으로 주입하는 장치로, 토큰 임베딩에 위치 벡터를 더해 Transformer의 실제 입력을 만든다.

이 내용은 넘스탯의 위치 벡터가 더해지는 표 실측에서 직접 실험으로 확인할 수 있습니다.

학습 로드맵

각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다

기초 이해
개념 정의와 기본 원리
15
클릭
심화 학습
공식 유도와 다양한 예시
35
클릭
실무 적용
실제 케이스와 고급 응용
50

학습 진도 (완료한 단계)

0%

기초 이해순서를 모르는 모델에게 자리 번호 주기

기초 이해: 순서를 모르는 모델에게 자리 번호 주기

난이도 2/5
약 15분

Self-Attention은 문장 안의 모든 토큰 쌍을 한꺼번에 비교하는 계산입니다. 그런데 이 계산에는 "몇 번째"라는 개념이 없습니다. 토큰들을 순서 없이 모아 놓은 집합처럼 다루기 때문에, 단어의 순서를 바꿔도 계산 결과의 내용이 달라지지 않아요. 언어에서 순서는 뜻을 좌우하므로("개가 사람을 문다" 대 "사람이 개를 문다"), 각 토큰이 몇 번째 자리에 있는지를 알려주는 위치 정보를 입력에 명시적으로 더해 줘야 합니다. 이것이 포지셔널 인코딩입니다.

단어 임베딩 — 의미를 벡터로 담는다의미가 비슷한 단어는 가까이, 관계는 벡터 방향으로 — “왕 − 남자 + 여자 ≈ 여왕”같은 방향 = 같은 관계(성별→왕족)남자여왕여자사과바나나※ 코사인 유사도로 의미 근접성 측정(검색·추천) · 트랜스포머는 문맥적 임베딩으로 다의어 구분
핵심 포인트
  • Self-Attention은 집합 연산 — 순서를 바꿔도 스스로는 차이를 모른다
  • 위치 정보를 벡터로 만들어 토큰 임베딩에 원소별로 더한다 (입력 = 토큰 임베딩 + 위치 인코딩)
  • 원조 Transformer는 sin/cos 함수로 위치 벡터를 계산했다 (학습 없이 공식으로 생성)
  • BERT처럼 위치 벡터 자체를 학습하는 방식(학습형 위치 임베딩)도 있다
간단한 예시

문장: "고양이 가 물고기 를 먹었다" 토큰 임베딩만 보면: {고양이, 가, 물고기, 를, 먹었다} — 순서 없는 집합과 같음 → "물고기 가 고양이 를 먹었다"와 구분 불가! 위치 인코딩을 더하면: 입력[0] = 임베딩(고양이) + 위치벡터(0) 입력[1] = 임베딩(가) + 위치벡터(1) 입력[2] = 임베딩(물고기) + 위치벡터(2) ... 같은 단어 "고양이"라도 0번 자리와 2번 자리에서는 다른 입력 벡터가 되어, 모델이 "누가 먹었고 무엇이 먹혔는지"를 구분할 수 있습니다.

이해도 확인하기

정답: Self-Attention은 모든 토큰 쌍을 순서와 무관하게 비교하는 집합 연산이어서, 입력 토큰의 순서를 바꿔도 스스로는 그 차이를 알지 못하기 때문입니다. 어순이 뜻을 바꾸는 언어를 다루려면 위치 정보를 입력에 명시적으로 넣어야 합니다.

정답: 토큰 임베딩 벡터와 그 토큰의 위치 인코딩 벡터를 같은 차원에서 원소별로 더해 만듭니다. 즉 입력 = 토큰 임베딩 + 포지셔널 인코딩입니다.

정답: 아닙니다. 토큰 임베딩은 같지만 자리마다 위치 인코딩이 다르므로, 더한 결과인 입력 벡터는 자리마다 달라집니다. 이 차이 덕분에 모델이 순서를 구분합니다.

LLM 이론 페이지로 돌아가기