위치 인코딩: 두 판 사이의 차이

IT 위키
(새 문서: 위치 인코딩(位置encoding, Positional Encoding)은 트랜스포머(Transformer) 아키텍처에서 입력 시퀀스의 토큰 순서를 모델이 인식할 수 있도록 추가하는 벡터 표현이다. 순환 신경망(RNN)이나 합성곱 신경망(CNN)과 달리, 트랜스포머의 어텐션 메커니즘은 토큰 간의 순서를 직접적으로 고려하지 않기 때문에 위치 정보를 별도로 주입해야 한다. ==개요== 트랜스포머는 입력 시퀀...)
 
(차이 없음)

2025년 9월 24일 (수) 12:37 기준 최신판

위치 인코딩(位置encoding, Positional Encoding)은 트랜스포머(Transformer) 아키텍처에서 입력 시퀀스의 토큰 순서를 모델이 인식할 수 있도록 추가하는 벡터 표현이다. 순환 신경망(RNN)이나 합성곱 신경망(CNN)과 달리, 트랜스포머의 어텐션 메커니즘은 토큰 간의 순서를 직접적으로 고려하지 않기 때문에 위치 정보를 별도로 주입해야 한다.

개요[편집 | 원본 편집]

트랜스포머는 입력 시퀀스를 병렬적으로 처리하므로, 입력의 순서 정보를 자연스럽게 학습할 수 없다. 따라서 각 토큰 임베딩에 위치 인코딩 벡터를 더하거나(concatenation 대신 보통 덧셈 사용), 다른 방식으로 결합하여 모델이 토큰의 상대적/절대적 위치를 인식하도록 한다.

방식[편집 | 원본 편집]

  • 고정 위치 인코딩(Fixed Positional Encoding)
    • 원 논문에서 제안된 방식으로, 사인(sin)과 코사인(cos) 함수를 이용해 위치를 주기적으로 표현한다.
    • 모든 길이에 대해 일반화가 가능하며, 추가 학습 파라미터가 필요 없다.
  • 학습 가능한 위치 임베딩(Learnable Positional Embedding)
    • 각 위치에 대해 임베딩 벡터를 학습하는 방식.
    • BERT 등 여러 모델에서 사용된다.
    • 최대 길이가 사전에 정해져야 한다는 제약이 있다.
  • 상대적 위치 인코딩(Relative Positional Encoding)
    • 토큰 간 절대적 위치가 아니라 상대적 거리를 반영하는 방식.
    • Transformer-XL, T5, DeBERTa 등에서 사용되며, 긴 문맥 학습에 유리하다.
  • 로터리 위치 임베딩(RoPE, Rotary Positional Embedding)
    • 벡터 공간에서 회전을 통해 상대적 위치를 반영하는 방식.
    • LLaMA, GPT-NeoX 등 최신 대규모 언어 모델에서 널리 쓰인다.

필요성[편집 | 원본 편집]

  • RNN은 순차적으로 입력을 처리하므로 순서 정보가 자연스럽게 내재되어 있다.
  • 반면 트랜스포머의 어텐션은 입력을 집합처럼 다루므로, 위치 정보가 없으면 "나는 밥을 먹었다"와 "먹었다 밥을 나는"이 동일하게 취급된다.
  • 따라서 위치 인코딩을 통해 순서를 명시적으로 제공해야 문장의 의미를 올바르게 학습할 수 있다.

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
  • Shaw, P., Uszkoreit, J., Vaswani, A. (2018). Self-Attention with Relative Position Representations. NAACL-HLT.
  • Su, J., Lu, Y., Pan, S., Wen, Y., Liu, Y., Wang, T., Qi, Q., & Sun, M. (2021). RoFormer: Enhanced Transformer with Rotary Position Embedding. ACL.

각주[편집 | 원본 편집]