일반적인 gradient descent 계열의 알고리즘들이 linear하게 그 optimum solution을 찾아갑니다 (참고. Optimization #1. Gradient-Descent 계열). 그러나 이것은 수렴속도가 느리기 그지 없지요. 그것을 좀 더 빠르게(예를 들면, cost function의 curvature를 고려한다거나 하는 등) 찾기 위해 여러가지 알고리즘이 제안 되었습니다. 그 중 대표적인 것이 Newton Method일텐데요.. 이건 나중에 시간이 날 때 정리할 계획입니다. Newton Method보다는 유명하지는 않지만, ICA를 알기위해서는 꼭 필요한 것이 바로 Natural Gradient 방법입니다. 오늘은 이 Natural-Gradient를 살펴보도록 하겠습니다.

Natural-Gradient는 Euclidean Geometry가 아니라 Riemannian Geometry를 고려한 optimization 방법입니다. 그럼 먼저 Euclidean Geometry와 Riemannian Geometry의 차이점을 알아야 하겠지요?

<Euclidean Geometry>

이건 모두가 잘 아는 직각좌표계입니다. 모 설명이 필요없죠? ^^ (설명이 필요하신분은 연락주시면 알려드릴께요. ^^ 솔직히 Riemannian Geometry는 어려워서 제가 적으면서도 또 뭔소리인가 싶을 것 같네요 ㅠㅠ) 한가지만 짚고 넘어가보면 직각좌표계에서는 두 점 사이의 최단 거리는 L-2 norm, 즉 로 표현됩니다. 다시 말하면 두 점 사이를 잇는 직선의 길이가 되겠네요. (그림 1 참조) 그런데 정말 우리가 살고 있는 이 세상의 모든 것들의 두 점 사이의 최단거리는 그 두 점을 잇는 직선의 거리일까요? ^^;

그림 1. Euclidean Geometry에서의 두 점간의 최단 거리

<Riemannian Geometry>

자 다음 그림 2는 Google Map에서 가져온 세계 지도 입니다. 자 Australia 에서 North America까지 여행을 간다고 하면, 이 때 최단 거리는 어떻게 될까요?

그림 2. 세계 지도 (from Google Maps)

Euclidean Geometry에서라면, 최단거리는 그림 3처럼 표시가 될 겁니다.

그림 3. Euclidean Geometry를 가정했을 때의 최단 거리.

그러나 우리 지구는 구의 형태라는 것을 잊으면 안됩니다. 지구본에 최단거리를 찍어본다고 하면 아마도 그림 4처럼 휘어진 곡선의 형태가 될 것입니다.

이러한 직각좌표계가 아닌 다른 좌표계를 Riemannian(or Differential) Geomety라고 한답니다. 이러한 Riemannian Geometry의 적용예는 많은 곳에서 찾아볼 수 있겠지요? ^^

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

+ Recent posts