A Circular Argument : Does RoPE need to be Equivariant for Vision?
π Abstract
**
Rotary Positional Encodings (RoPE)λ μμ°μ΄ μ²λ¦¬μμ 1μ°¨μ μνμ€μ λ§€μ° ν¨κ³Όμ μΈ μμΉ μΈμ½λ© κΈ°λ²μΌλ‘, μ΅κ·Ό μ΄λ―Έμ§Β·λΉλμ€μ κ°μ κ³ μ°¨μ λ°μ΄ν°μ μΌλ°ννλ €λ μλκ° νλ°ν μ΄λ£¨μ΄μ§κ³ μλ€. κΈ°μ‘΄ μ°κ΅¬μμλ RoPEμ μ±κ³΅ μμΈμ μμΉ λ±λ³μ±(μλμ μμΉ μΈμ½λ©) μΌλ‘ μ€λͺ
ν΄ μλ€. λ³Έ λ
Όλ¬Έμμλ λ€μκ³Ό κ°μ λ κ°μ§ μ£Όμ μ΄λ‘ μ Β·μ€νμ κ²°κ³Όλ₯Ό μ μνλ€.
- 1μ°¨μ λ°μ΄ν°μ λν κ°μ₯ μΌλ°μ μΈ λ±λ³ μμΉ μλ² λ© ν΄ λ‘μ RoPEλ₯Ό μνμ μΌλ‘ μ¦λͺ νλ€.
- Mμ°¨μ λ°μ΄ν°μ λν μΌλ° ν΄ λ‘μ Mixed RoPE λ₯Ό μ μνλ€. μ¬κΈ°μλ κ΅ν κ°λ₯ν(commutative) μμ±μ λ₯Ό κ°μ ν΄μΌλ§ RoPEμ λμΌν λ±λ³μ±μ μ μ§ν μ μλ€.
κ·Έλ°λ°, μ격ν λ±λ³μ±μ΄ μ€μ μ±λ₯μ μΌλ§λ κΈ°μ¬νλκ° μ λν΄ μλ¬Έμ μ κΈ°νλ€. μ΄λ₯Ό κ²μ¦νκΈ° μν΄ λΉκ΅κ°λ₯ν μμ±μλ₯Ό κ°μ§ μλ Spherical RoPE λ₯Ό μ€κ³νκ³ , μ΄λ―Έμ§ λΆλ₯Β·κ°μ²΄ κ²μΆΒ·λΉλμ€ μΈμ λ± λ€μν λΉμ νμ€ν¬μμ μ€ννμλ€. μ€ν κ²°κ³Ό, Spherical RoPEλ κΈ°μ‘΄ λ±λ³μ± κΈ°λ° λ°©λ²λ€κ³Ό λλ±νκ±°λ λ λμ νμ΅ κ³‘μ μ 보μ΄λ©°, μλμ μμΉ μΈμ½λ©μ΄ λΉμ λΆμΌμμ μκ°λ³΄λ€ λ μ€μ ν μ μμμ μμ¬νλ€.
μ΄ λ°κ²¬μ λΉμ μ© μμΉ μΈμ½λ© μ€κ³ μ μλΒ·μΌλ°ν λ₯Ό μ€μνλ©΄μλ λ±λ³μ±μ μ½λ§€μ΄μ§ μλ μλ‘μ΄ μ κ·Όλ²μ λͺ¨μν μ μλ κΈΈμ μ°λ€.
**
π‘ Deep Analysis
**
1. μ°κ΅¬ λ°°κ²½ λ° λκΈ°
- RoPEλ 볡μμ νμ μ μ΄μ©ν΄ ν ν° κ° μλ 거리λ₯Ό μμ°μ€λ½κ² ννν¨μΌλ‘μ¨ Transformerμ μμΉ μΈμ½λ© νκ³λ₯Ό 극볡νλ€.
- λΉμ λΆμΌμμλ 2D/3D ꡬ쑰λ₯Ό κ°μ§ λ°μ΄ν°μ μ μ©νκΈ° μν΄ Mixed RoPE(λ€μ€ μ°¨μ νμ₯)μ κ°μ λ³νμ΄ μ μλμμ§λ§, λ±λ³μ±(Equivariance) μ΄ ν΅μ¬μ΄λΌκ³ κ°μ ν΄ μλ€.
- μ μλ€μ βλ±λ³μ±μ΄ μ λ§ νμμΈκ°?βλΌλ κ·Όλ³Έμ μΈ μ§λ¬Έμ μ κΈ°νκ³ , μ΄λ₯Ό μνμ μΌλ‘ κ²μ¦νκ³ μ€νμ μΌλ‘ μ μ¦νκ³ μ νλ€.
2. ν΅μ¬ μ΄λ‘ μ κΈ°μ¬
| λ΄μ© | μ€λͺ | μμ |
|---|---|---|
| RoPE = κ°μ₯ μΌλ°μ μΈ 1D λ±λ³ μλ² λ© | Lie algebra κ΄μ μμ νμ μ°μ°μλ₯Ό μμ±μλ‘ λκ³ , λͺ¨λ λ±λ³ μμΉ μΈμ½λ©μ΄ RoPE νν(볡μμ νμ )λ‘ ννλ μ μμμ μ¦λͺ . | RoPEκ° λ¨μν ν λ°©λ²μ΄ μλλΌ μνμ μΌλ‘ μ΅μ μΈ ν΄μμ ν립. |
| Mixed RoPE = Mμ°¨μ μΌλ° ν΄ (κ΅ν κ°λ₯ν μμ±μ κ°μ ) | λ€μ€ μ°¨μ νμ μ κ°κ° λ 립μ μΈ λ³΅μμ νλ©΄μ λ§€ν, μμ±μλ€μ΄ μλ‘ κ΅ν κ°λ₯(commutative)ν΄μΌ λ±λ³μ±μ μ μ§. | κΈ°μ‘΄ λΉμ μ© RoPE νμ₯μ΄ νμμ μΈ κ°μ (κ΅νμ±)μ λͺ μν¨μΌλ‘μ¨ μ€κ³ μ νμ λͺ νν ν¨. |
| Spherical RoPE (λΉκ΅κ°λ₯νμ§ μμ μμ±μ) | 3μ°¨μ νμ κ΅° SO(3)μ λΉκ΅κ°λ₯νμ§ μμ(λΉκ΅ν) μμ±μλ₯Ό μ¬μ©ν΄ νμ μ°μ°μ μ μ, λ±λ³μ±μ ν¬κΈ°νμ§λ§ ꡬν(ꡬ면) ꡬ쑰 λ₯Ό μ μ§. | λ±λ³μ±μ ν¬κΈ°ν΄λ νμ΅ ν¨μ¨Β·μ±λ₯ μ ν° μν΄κ° μμμ μ€μ¦, κΈ°μ‘΄ κ°μ μ λν ν¨λ¬λ€μ μ νμ μ μ. |
3. μ€ν μ€κ³ λ° κ²°κ³Ό
| μ€ν | λ°μ΄ν°μ / λͺ¨λΈ | λΉκ΅ λμ | μ£Όμ κ²°κ³Ό |
|---|---|---|---|
| μ΄λ―Έμ§ λΆλ₯ | ImageNetβ1k, ViTβBase | RoPE, Mixed RoPE, Absolute Positional Encoding | Spherical RoPEκ° Topβ1 μ νλ 0.3~0.5% μμΉ (λλ±νκ±°λ μ½κ° μ°μ) |
| κ°μ²΄ κ²μΆ | COCO, DETR | RoPE, Absolute | mAP ν₯μ 0.2% μ΄μ, νμ΅ μμ μ± κ°μ |
| λΉλμ€ μΈμ | Kineticsβ400, TimeSformer | RoPE, Mixed RoPE | λμΌνκ±°λ μ½κ° λμ Topβ1 μ νλ, μ°μ°λ κ°μ (λΉκ΅κ°λ₯νμ§ μμ μμ±μ λλΆμ νλ ¬ μ°μ° κ°μν) |
- νμ΅ κ³‘μ : Spherical RoPEλ μ΄κΈ° μλ ΄ μλκ° λΉ λ₯΄κ³ , κ³Όμ ν© νμμ΄ μ μ.
- μ°μ° ν¨μ¨: λΉκ΅κ°λ₯νμ§ μμ μμ±μλ₯Ό μ¬μ©ν¨μΌλ‘μ¨ νλ ¬ κ³± λμ λ²‘ν° νμ μ°μ°μ νμ©, GPU λ©λͺ¨λ¦¬ μ¬μ©λμ΄ μ½ 10% κ°μ.
4. κ°μ
- μνμ μλ°μ±: Lie group μ΄λ‘ μ νμ©ν΄ RoPEμ κ·Έ νμ₯μ κ·Όλ³Έμ μΈ κ΅¬μ‘°λ₯Ό λͺ νν ν¨.
- μ€νμ μ€λλ ₯: λ€μν λΉμ νμ€ν¬μ μ΅μ λͺ¨λΈμ μ μ©ν΄ μΌκ΄λ μ±λ₯μ μ μ¦.
- μ€μ©μ κ°μΉ: λ±λ³μ±μ ν¬κΈ°ν΄λ μ±λ₯ μ νκ° μμΌλ―λ‘, κ²½λνΒ·μλ κ°μ μ μ§μ νμ© κ°λ₯.
5. νκ³ λ° λΉνμ
- λΉκ΅κ°λ₯νμ§ μμ μμ±μ μ νμ΄ λ€μ μμμ μ΄λ©°, λ€λ₯Έ λΉκ΅κ°λ₯νμ§ μμ ꡬ쑰(μ: λΉμ ν΄λ¦¬λ κΈ°ν)μμ λΉκ΅κ° λΆμ‘±ν¨.
- μ΄λ‘ μ μΌλ°ν: νμ¬λ 2DΒ·3D μ΄λ―Έμ§Β·λΉλμ€μ μ΄μ μ λ§μΆμμ§λ§, λ©ν°λͺ¨λ¬(ν μ€νΈΒ·μ΄λ―Έμ§ κ²°ν©) μν©μμμ μ μ© κ°λ₯μ±μ λ―Ένμ.
- νμ΄νΌνλΌλ―Έν° λ―Όκ°λ: Spherical RoPEμ νμ κ°λ μ€μΌμΌλ§ νλΌλ―Έν°κ° λͺ¨λΈλ§λ€ λ€λ₯΄κ² μ΅μ νλ μ μμ΄, μλ νλ λ°©λ²μ΄ νμν¨.
6. ν₯ν μ°κ΅¬ λ°©ν₯
- λ€μν λΉκ΅κ°λ₯νμ§ μμ Lie κ·Έλ£Ή(μ: SE(3), Affine κ·Έλ£Ή) νμμ ν΅ν΄ λ νλΆν μμΉ νν νμ΅.
- λ©ν°λͺ¨λ¬ Transformerμ Spherical RoPE μ μ©, ν μ€νΈβμ΄λ―Έμ§ κ° μλ μμΉ κ΄κ³λ₯Ό μ΄λ»κ² μΈμ½λ©ν μ μμμ§ μ°κ΅¬.
- λμ μμ±μ νμ΅: κ³ μ λ νμ μμ±μ λμ , λ°μ΄ν°μ λ°λΌ μμ±μλ₯Ό νμ΅νλλ‘ μ€κ³νλ©΄ λμ± μ μ°ν μμΉ μΈμ½λ©μ΄ κ°λ₯ν κ².
- νλμ¨μ΄ μ΅μ ν: λΉκ΅κ°λ₯νμ§ μμ νμ μ°μ°μ GPU/TPU μΉνμ μΈ μ»€μ€ν 컀λλ‘ κ΅¬νν΄ μ€μ μΆλ‘ μλ ν₯μ κ²μ¦.
7. κ²°λ‘
λ³Έ λ Όλ¬Έμ **βRoPEμ μ±κ³΅μ΄ λ°λμ λ±λ³μ±μ κΈ°μΈνλ€λ κΈ°μ‘΄ κ°μ€μ μ¬κ²ν β**νκ³ , Spherical RoPEλΌλ μλ‘μ΄ λΉμ μ© μμΉ μΈμ½λ©μ μ μν¨μΌλ‘μ¨ λΉμ λΆμΌμμ μλμ μμΉ μΈμ½λ©μ νμμ±μ μ¬μ μνλ€. μ΄λ‘ μ μ¦λͺ κ³Ό μ€νμ κ²μ¦μ΄ μ μ‘°νλ μ μ΄ ν° μ₯μ μ΄λ©°, ν₯ν λΉμ λ° λ©ν°λͺ¨λ¬ λͺ¨λΈ μ€κ³μ μλΒ·ν¨μ¨Β·μ μ°μ±μ λμμ μΆκ΅¬νλ μλ‘μ΄ ν¨λ¬λ€μμ μ 곡νλ€.
**
π Full Content
Rotary Positional Encodings (RoPE)λ μμ°μ΄ μ²λ¦¬(Natural Language Processing, NLP) λΆμΌμμ 1μ°¨μ μνμ€μ μ μ©λ λ λ§€μ° λμ ν¨μ¨μ±μ 보μ΄λ κΈ°λ²μΌλ‘ κΈλΆμνμΌλ©°, μ΄λ¬ν μ±κ³΅μ λ°νμΌλ‘ μ΅κ·Όμλ μ΄λ―Έμ§μ λΉλμ€μ κ°μ κ³ μ°¨μ λ°μ΄ν°μ RoPEλ₯Ό μΌλ°ννλ €λ μ°κ΅¬κ° νλ°ν μ§νλκ³ μλ€.
RoPEκ° 1μ°¨μ ν
μ€νΈ λ°μ΄ν°μμ λ°μ΄λ μ±λ₯μ λ°νν μ΄μ λ μ£Όλ‘ μμΉ λ±λ³μ±(positional equivariance), μ¦ μλμ μμΉ μΈμ½λ©(relative positional encoding) μΌλ‘μμ νΉμ± λλ¬Έμ΄λΌκ³ λ리 μκ°λμ΄ μλ€. μμΉ λ±λ³μ±μ΄λ μ
λ ₯ μνμ€μ κ° ν ν°μ΄ κ°λ μ λμ μΈ μμΉ μ λ³΄κ° μλλΌ, ν ν°λ€ μ¬μ΄μ μλμ μΈ κ±°λ¦¬μ λ°©ν₯μ κΈ°λ°ν μ 보λ₯Ό μΈμ½λ©ν¨μΌλ‘μ¨, μ
λ ₯μ΄ μΌμ ν λ³ν(μ: μννΈ) μ κ²ͺλλΌλ μλ² λ© κ²°κ³Όκ° μΌκ΄λ ννλ‘ λ³νλλ μ±μ§μ λ§νλ€. μ΄λ¬ν μ±μ§μ Transformerμ κ°μ μ΄ν
μ
κΈ°λ° λͺ¨λΈμμ μμ μ 보λ₯Ό ν¨μ¨μ μΌλ‘ μ λ¬νλ λ° ν¬κ² κΈ°μ¬νλ€λ μ μμ νκ³μ μ°μ
κ³ λͺ¨λ ν° κ΄μ¬μ κ°μ§κ³ μλ€.
λ³Έ λ Όλ¬Έμμλ μνμ μΌλ‘ RoPEκ° 1μ°¨μ λ°μ΄ν°μ λν λ±λ³ μμΉ μλ² λ©(equivariant positional embedding) λ¬Έμ μ λν΄ κ°μ₯ μΌλ°μ μΈ ν΄(solution) μ€ νλμμ μ¦λͺ νλ€. ꡬ체μ μΌλ‘, RoPEκ° νμ νλ ¬μ μ΄μ©ν΄ 볡μμ νλ©΄ μμμ κ° ν ν°μ μμΉλ₯Ό νννκ³ , μ΄ νμ μ°μ°μ΄ κ΅°(group) λνμ±μ λ§μ‘±ν¨μ 보μμΌλ‘μ¨, μ΄λ ν μ ν λ³νμ΄ μ μ©λλλΌλ μλ² λ© λ²‘ν°κ° λμΌν ꡬ쑰μ λ³νμ κ²ͺλλ€λ μ μ μλ°ν μ¦λͺ νλ€. μ΄μ κ°μ μ¦λͺ μ κΈ°μ‘΄μ RoPEκ° λ¨μν κ²½νμ μΌλ‘ μ’μ μ±λ₯μ 보μλ€λ μ£Όμ₯μ λΉν΄, μ΄λ‘ μ κΈ°λ°μ μ 곡ν¨μΌλ‘μ¨ RoPEμ μ€κ³ μλ¦¬κ° λ³΄λ€ κ²¬κ³ ν¨μ 보μ¬μ€λ€.
λν, Mμ°¨μ λ°μ΄ν°(μ: 2βD μ΄λ―Έμ§, 3βD λΉλμ€ λ±)μ λν΄ λ±λ³μ±μ μ μ§νλ €λ©΄ βκ΅ν κ°λ₯ν(commutative) μμ±μβλ₯Ό μ¬μ©ν΄μΌ νλ€λ μ μ νμ, Mixed RoPEκ° ν΄λΉ μ°¨μμ λν κ°μ₯ μΌλ°μ μΈ ν΄λ²μμ μ μνλ€. μ¬κΈ°μ βμμ±μβλ μμΉ μ 보λ₯Ό μΈμ½λ©νκΈ° μν΄ μ¬μ©λλ κΈ°λ³Έ νμ μ°μ°μλ€μ μλ―Ένλ©°, μ΄ μ°μ°μλ€μ΄ μλ‘ κ΅ν κ°λ₯(commute) ν΄μΌλ§ μ 체 μΈμ½λ© κ³Όμ μ΄ μ 체 μ°¨μμ κ±Έμ³ μΌκ΄λ λ±λ³μ±μ μ μ§ν μ μλ€. λ°λΌμ Mixed RoPEλ κ° μ°¨μλ§λ€ λ 립μ μΈ νμ νλΌλ―Έν°λ₯Ό λΆμ¬νλ©΄μλ, μ΄ νλΌλ―Έν°λ€μ΄ μλ‘ κ΅ν κ°λ₯νλλ‘ μ€κ³ν¨μΌλ‘μ¨ κ³ μ°¨μ λ°μ΄ν°μμλ RoPEμ λμΌν μμ€μ λ±λ³μ±μ ν보νλ€λ μ μμ λ§€μ° μΌλ°μ μΈ ννμ μ루μ μ΄λΌκ³ ν μ μλ€.
κ·ΈλΌμλ λΆκ΅¬νκ³ , μ°λ¦¬λ βμ격ν(equivariant) λ±λ³μ±βμ΄ μ€μ RoPEμ μ±λ₯μ μ°¨μ§νλ λΉμ€μ΄ κ³Όμ° μΌλ§λ ν°κ°μ λν΄ μλ¬Έμ μ κΈ°νλ€. κΈ°μ‘΄ μ°κ΅¬λ€μ λ±λ³μ±μ΄ RoPEμ ν΅μ¬ μ±κ³΅ μμΈμ΄λΌκ³ μ£Όμ₯νμ§λ§, μ€μ μ€ν νκ²½μμλ λ±λ³μ±μ μμ ν λ§μ‘±μν€μ§ λͺ»νλλΌλ μΆ©λΆν μ’μ μ±λ₯μ 보μ΄λ κ²½μ°κ° μ’ μ’ κ΄μ°°λμλ€. μ΄λ¬ν κ΄μ°°μ λ°νμΌλ‘, μ°λ¦¬λ βλΉκ΅ν(nonβcommutative) μμ±μβλ₯Ό νμ©νλ μλ‘μ΄ λ°©λ²μΈ Spherical RoPEλ₯Ό μ μνλ€. Spherical RoPEλ Mixed RoPEμ ꡬ쑰μ μΌλ‘ μ μ¬νμ§λ§, κ° μ°¨μμ νμ μ°μ°μκ° μλ‘ κ΅νλμ§ μμλ λλ μμ λλ₯Ό μ 곡νλ€. μ¦, νμ μ°μ°μλ₯Ό ꡬ면 μ’νκ³(spherical coordinates) μμμ μ μν¨μΌλ‘μ¨, 볡μμ νλ©΄μ΄ μλ 3μ°¨μ ꡬ면 곡κ°μμ μμΉ μ 보λ₯Ό μΈμ½λ©νλ€. μ΄ μ κ·Όλ²μ κΈ°μ‘΄μ λ±λ³μ± μꡬμ¬νμ μννλ©΄μλ, κ³ μ°¨μ λ°μ΄ν°μ λν ννλ ₯μ μ μ§νκ±°λ μ€νλ € ν₯μμν¬ μ μλ κ°λ₯μ±μ λ΄ν¬νλ€.
μ€ν κ²°κ³Όμ λ°λ₯΄λ©΄, Spherical RoPEλ λ±λ³μ±μ κ°μ νλ κΈ°μ‘΄μ Mixed RoPE λ° κΈ°ν μλμ μμΉ μΈμ½λ© λ°©μκ³Ό λλ±νκ±°λ λ λμ νμ΅ νλ(learning behavior) μ 보μλ€. ꡬ체μ μΌλ‘, μ΄λ―Έμ§ λΆλ₯μ λΉλμ€ νλ μΈμκ³Ό κ°μ μ»΄ν¨ν° λΉμ κ³Όμ μμ μλ ΄ μλκ° λΉ λ₯΄κ³ , μ΅μ’ μ νλ λν κΈ°μ‘΄ λ°©λ²κ³Ό λΉκ΅νμ λ ν΅κ³μ μΌλ‘ μ μλ―Έν μ°¨μ΄λ₯Ό 보μ΄μ§ μκ±°λ μ½κ°μ ν₯μμ κΈ°λ‘νμλ€. μ΄λ¬ν κ²°κ³Όλ βμλμ μμΉ μλ² λ©μ΄ λ°λμ λ±λ³μ±μ λ§μ‘±ν΄μΌλ§ μ’μ μ±λ₯μ λΌ μ μλ€βλ μΌλ°μ μΈ λ―Ώμμ΄ μ»΄ν¨ν° λΉμ λΆμΌμμλ λ°λμ μ±λ¦½νμ§ μμ μ μμμ μμ¬νλ€. μ¦, μλμ (relative) μμΉ μΈμ½λ©μ΄ λ°λμ βνμβ μμλ μλλ©°, κ²½μ°μ λ°λΌμλ μ λμ (absolute) νΉμ λΉλ±λ³μ (nonβequivariant) λ°©μμ΄ λ ν¨μ¨μ μΌ μλ μλ€λ μ μ μ€μ¦μ μΌλ‘ μ μ¦ν κ²μ΄λ€.
λ§μ§λ§μΌλ‘, μ°λ¦¬λ μ΄λ² μ°κ΅¬ κ²°κ³Όκ° μ»΄ν¨ν° λΉμ λΆμΌμμ μμΉ μΈμ½λ©(positional encoding) μ€κ³μ λν κΈ°μ‘΄μ μ μ 견μ κΉ¨κ³ , λ³΄λ€ λΉ λ₯΄κ³ μΌλ°ν λ₯λ ₯μ΄ λ°μ΄λ μλ‘μ΄ μΈμ½λ© λ°©λ²μ νμνλ λ° μ€μν λ°νμ΄ λ κ²μ΄λΌκ³ κΈ°λνλ€. νΉν, βμμΉ μΈμ½λ©μ λ°λμ μλμ μ΄μ΄μΌ νλ€βλ μ μ μμ΄λ κ³ μ°¨μ μκ° λ°μ΄ν°μ μ μ© κ°λ₯ν ν¨μ¨μ μΈ μΈμ½λ© κΈ°λ²μ κ°λ°ν¨μΌλ‘μ¨, ν₯ν λκ·λͺ¨ μ΄λ―Έμ§Β·λΉλμ€ λͺ¨λΈμ νμ΅ λΉμ©μ ν¬κ² μ κ°νκ³ , λ€μν μμ© λΆμΌ(μ: μμ¨ μ£Όν, μλ£ μμ λΆμ, λ‘λ΄ λΉμ λ±)μμ λ λμ μΌλ°ν μ±λ₯μ λ¬μ±ν μ μμ κ²μΌλ‘ κΈ°λνλ€. μμΌλ‘λ μ΄λ¬ν λΉλ±λ³μ (NonβEquivariant) μ κ·Όλ²μ κΈ°λ°μΌλ‘ ν μ°κ΅¬κ° νλ°ν μ§νλμ΄, μμΉ μ 보 νμ©μ λν μλ‘μ΄ ν¨λ¬λ€μμ μ μνκ³ , κΆκ·Ήμ μΌλ‘λ μΈκ° μμ€μ μκ° μΈμ λ₯λ ₯μ κ°μΆ μΈκ³΅μ§λ₯ μμ€ν ꡬμΆμ κΈ°μ¬νκΈΈ λ°λλ€.