Logarithm & Exponential

지수 함수와 로그 함수는 Lie 군Lie 대수의 맥락에서 SLAM 전반에 걸쳐 등장합니다. 익숙한 스칼라 형태를 넘어서, 이들의 행렬 버전은 회전(최적화하기 어려운 대상)과 벡터(최적화하기 쉬운 대상) 사이를 잇는 다리 역할을 합니다.

스칼라 함수 복습

지수 함수 ex=k=0xkk!e^x = \sum_{k=0}^{\infty} \frac{x^k}{k!}와 그 역함수인 로그 함수 log(x)\log(x)는 이들을 유용하게 만드는 다음 항등식을 만족합니다.

ea+b=eaeb,log(ab)=loga+logbe^{a+b} = e^a e^b, \qquad \log(ab) = \log a + \log b

로그 항등식은 확률론에서 이미 그 가치를 입증합니다: 우도는 작은 수 여러 개의 이므로 부동소수점 언더플로우가 발생합니다. 로그를 취하면 곱이 수치적으로 안정적인 으로 바뀝니다---이것이 추정기가 우도 자체를 최대화하는 대신 음의 로그 우도(negative log-likelihood)를 최소화하는 이유입니다.

회전의 문제점

회전 행렬 RSO(3)R \in SO(3)은 벡터 공간이 아닙니다---두 회전을 더해서는 회전을 얻을 수 없으므로, 여기에 일반적인 그래디언트 하강법을 그대로 적용할 수 없습니다. 하지만 그 Lie 대수 so(3)\mathfrak{so}(3)(항등원에서의 접선 공간)은 벡터 공간입니다: 그 원소는 그저 3-벡터 ϕ\boldsymbol{\phi}(축-각도)이며, 왜대칭 행렬 [ϕ]×[\boldsymbol{\phi}]_\times로 표기됩니다.

지수 사상과 로그 사상

행렬 지수는 스칼라 지수와 동일한 거듭제곱 급수 exp(A)=k=0Akk!\exp(A) = \sum_{k=0}^{\infty} \frac{A^k}{k!}로 정의되며, 왜대칭 인자에 대해서는 이 급수가 닫힌 형태로 축약됩니다.

exp([ϕ]×)=I+sinθ[n^]×+(1cosθ)[n^]×2\exp([\boldsymbol{\phi}]_\times) = I + \sin\theta\,[\hat{\mathbf{n}}]_\times + (1 - \cos\theta)\,[\hat{\mathbf{n}}]_\times^2

이것이 Rodrigues 공식입니다---단위 왜대칭 행렬의 거듭제곱이 순환한다는 사실([n^]×3=[n^]×[\hat{\mathbf{n}}]_\times^3 = -[\hat{\mathbf{n}}]_\times)에서 얻어지는 행렬 지수 급수의 닫힌 형태입니다.

작은 회전에 대해서는 1차 항만 남기면 다음과 같은 흔히 쓰이는 근사식을 얻습니다.

exp([ϕ]×)I+[ϕ]×(ϕ가 작을 때)\exp([\boldsymbol{\phi}]_\times) \approx I + [\boldsymbol{\phi}]_\times \qquad (\|\boldsymbol{\phi}\| \text{가 작을 때})

이는 회전 섭동에 대한 잔차의 야코비안을 유도할 때 사용하는 선형화와 정확히 동일합니다.

동일한 구성이 완전한 강체 포즈로도 확장됩니다: exp\expse(3)\mathfrak{se}(3)(6-벡터: 이동 + 회전)을 SE(3)SE(3)(동차 변환 행렬)로 사상하며, log\log는 그 역방향으로 사상합니다.

스칼라 직관이 여전히 도움이 되는 이유

익숙한 항등식들은 그 정신을 그대로 이어받습니다: 지수는 덧셈을 합성으로 바꾸고(교환 가능한 인자에 대해 ea+b=eaebe^{a+b} = e^a e^b), 로그는 합성을 다시 가산적인 것으로 바꿉니다. 이는 정확히 최적화에 필요한 것입니다: 작은 보정을 벡터 ξ\boldsymbol{\xi}로 표현하고, 이를 TTexp(ξ^)T \leftarrow T\cdot\exp(\hat{\boldsymbol{\xi}})처럼 곱셈적으로 적용하며, 포즈 오차를 log(T11T2)\|\log(T_1^{-1}T_2)\|로 측정합니다.

기억해 둘 만한 주의사항 하나: 행렬의 경우 eA+B=eAeBe^{A+B} = e^A e^BAABB가 교환 가능할 때만 성립합니다---그리고 서로 다른 축에 대한 회전들은 교환되지 않습니다. 바로 이 비교환성 때문에 3D 회전은 단순한 벡터 덧셈이 아니라 Lie 이론을 필요로 합니다.

흔한 함정

SLAM에서의 의미

로그와 지수는 회전과 포즈를 “선형화”하여 그래디언트 기반 최적화에 적용할 수 있게 해줍니다---모든 현대 SLAM 백엔드(g2o, GTSAM, 매니폴드 매개변수화를 사용하는 Ceres)는 지수 사상을 통해 포즈를 업데이트하며, 포즈 그래프 오차는 로그 사상을 통해 정의됩니다. 지금 exp/log\exp/\log에 익숙해지면 레벨 2에서 Lie 군을 제대로 배울 때 곧바로 도움이 됩니다.

관련 문서