통계 실험실 차트
넘스탯 로고
넘스탯
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은 모든 토큰 쌍을 순서와 무관하게 비교하는 집합 연산이어서, 입력 토큰의 순서를 바꿔도 스스로는 그 차이를 알지 못하기 때문입니다. 어순이 뜻을 바꾸는 언어를 다루려면 위치 정보를 입력에 명시적으로 넣어야 합니다.

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

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

딥러닝 이론 페이지로 돌아가기