# Positional Encoding

처음 Transformer가 나왔을 때는 Cos, Sin을 이용하여 위치를 나타내었다.

![https://www.scaler.com/topics/nlp/positional-encoding/](https://upload.cafenono.com/image/slashpagePost/20241217/180054_8Scps0fEgb1hUvd7Nz?q=80&s=1280x180&t=outside&f=webp)

최근에는 좀 더 다양한 방법론이 존재한다.

1. Rotary Position Embedding (RoPE)
1. RoPE는 회전 행렬을 사용하여 절대적 위치를 인코딩하고, 셀프 어텐션 공식에 상대적 위치 종속성을 통합하는 방법이다. 이 방법은 시퀀스 길이 유연성을 가지고 있으며, 상대적 거리가 증가함에 따라 토큰 간 종속성이 감소한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20241217/180226_1zopQq0CV1ltiqe0tn?q=80&s=1280x180&t=outside&f=webp)

2. Contextual Position Encoding (CoPE)
2. CoPE는 위치를 문맥에 따라 조건부로 설정하는 새로운 방법이다. 이 방법은 특정 토큰에서만 위치를 증가시켜 문맥에 따라 위치를 조절할 수 있으며, 이는 언어 모델링과 코딩 작업의 복잡성을 개선할 수 있다. CoPE는 일반적인 위치 인코딩 방법보다 더 높은 수준의 위치 추상화를 나타낼 수 있습니다.

![Image](https://upload.cafenono.com/image/slashpagePost/20241217/180253_KTvQmWnFZocwPbXmvG?q=80&s=1280x180&t=outside&f=webp)

3. Conditional Positional Encoding (CPE)
3. CPE는 비전 트랜스포머(Vision Transformers)에서 사용되는 새로운 접근 방식이다. 이 방법은 트레이닝과 인퍼런스에서 해상도 크기가 달라도 동적으로 적응할 수 있으며, 상대적 위치 인코딩의 이론을 가져가면서도 절대적 위치의 능력을 유지한다. 이는 이미지 해상도 변경에 따른 동적 변화를 처리할 수 있다는 장점이 있다.

![Image](https://upload.cafenono.com/image/slashpagePost/20241217/180325_jESbkL8cryB6TOyBlw?q=80&s=1280x180&t=outside&f=webp)

4. Relative Position Encoding
4. Relative Position Encoding은 상대적 위치 정보를 학습 가능한 임베딩 층을 통해 처리하는 방법이다. 이 방법은 각 위치 정보를 학습하여 lookup table 형식으로 신경망에 전달하며, 상대적 위치를 알게 된 정보를 이용하여 임베딩 테이블을 만들어 주는 방식을 사용한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20241217/180405_ei1TvX4ijkEZRacvkF?q=80&s=1280x180&t=outside&f=webp)

For the site tree, see the [root Markdown](https://slashpage.com/all-about-tika.md).
