일반적인 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의 적용예는 많은 곳에서 찾아볼 수 있겠지요? ^^
'딥러닝연구실' 카테고리의 다른 글
딥러닝 워크샾 후기 (4) | 2015.04.27 |
---|---|
기계학습 / 머신러닝 기초 ( Machine Learning Basics ) (27) | 2014.07.30 |
Maximum Likelihood Estimator (11) | 2010.08.15 |
[Optimization #2] Natural Gradient (1/3) – Riemannian Geometry (0) | 2010.06.11 |
Independent Vector Analysis (IVA) 를 유도해 보자. (0) | 2010.05.25 |
일반적인 Adaptive Filter와 Independent Component Analysis (ICA)와의 차이점 (1/2) (0) | 2010.05.24 |