쌍곡 신경망 (Hyperbolic Neural Network) (Part.1)

쌍곡 심층 학습 (Hyperbolic Deep Learning)

요즘 제가 풀고 싶은 문제가 Scene Graph Generation 에서의 Long Tail Distribution 문제 입니다. Logng Tail 문제에서 결국 Head Distribution에서는 Coarse Grained 형태의 데이터가 많이 존재하고 Tail Distribution에는 Fine-Grained 데이터가 많이 존재하게 됩니다.

이 때 Long tail을 좀 완화하기 위해서는 Head 에서 Tail로 넘어가는 계층적 관계를 모델링 하는 것이 굉장히 중요하다고 볼 수 있습니다. 즉, Hierarchy를 모델링 하는 것이 핵심인데, 여기에는 LLM을 쓰거나, 계층적 군집화를 하는 등 다양한 접근 방법이 있습니다.

하지만 제가 관심을 가지고 있는 건 최근 들어 주목받고 있는 Hyperbolic Deep Learning 입니다.

기존의 Visual Representation을 위해서는 Euclidean Space가 일반적인 Manifold 입니다. 하지만 데이터가 격자에 표현되는 Euclidean Space 에서는 계층적 구조 (tree, graph, ontology, taxonomy)를 모델링 하기에는 최적이 아니라는 연구가 많이 존재했습니다. 이에 Euclidean Space 아닌 Hyperbolic Space에서 데이터를 표현하는 Hyperbolic Deep Learning이 등장하기 시작했고 이는 limited Sample, Uncertainty, Robustness, Hierarchy 등 다양한 강점을 가지게 된다고 합니다.

Hyperbolic Deep Learning을 이해하기 위해서는 반드시 Hyperbolic Geometry에 대한 깊은 이해가 선행되어야 합니다. Hyperbolic Space에서는 Inner Product, Distance Metric이 아예 다르게 정의되기 때문이죠.

따라서 오늘 글에서는 논문 리뷰가 아닌 비유클리드 기하학의 일종인 쌍곡 기하학에 대해서 간단하게 알아보고 다음 리뷰 때 쌍곡 기하학을 이용한 쌍곡 심층학습에 대해서 알아보도록 하겠습니다.

비유클리드 기하학 (Non Euclidean Geometry)

인류 역사상 가장 많이 인쇄된 책은 성경이라고 합니다. 하지만 학술서 중 가장 많이 인쇄된 책은 유클리드의 원론 (The Elements)이라고 합니다. 원론의 저자 유클리드는 기원전 300년 당시 세계 지식의 허브 였던 알렉산드리아 대도서관에서 활동했던 수학자 입니다. 저희가 고등학교 때 배운 수학은 모두 유클리드의 원론을 기반으로 유클리드 기하학 내에서 정의되는 수학적 공리와 정리를 배워왔습니다.

과학학습콘텐츠

유클리드의 원론은 점의 정의로부터 시작하여 최초의 체계적인 수학 교과서 였으며 시대와 국경을 넘어 전 세계의 수학 교과서로 퍼져나갔다고 하네요. 원론의 진정한 위대함은 10개의 공리만을 가지고 13권에 수록된 465개의 정리를 아우르고 있다는 점 입니다.

참고로 공리 (axiom)란 논리학이나 수학 등의 이론체계에서 가장 기초적인 근거가 되는 명제라고 보시면 됩니다. 이는 증명할 필요가 없이 자명한 진리이자 다른 명제들을 증명하는 데 전제가 되는 원리로서 가장 기본적인 가정을 가리킨다고 보시면 됩니다. 그리고 정리 (theorem)는 증명이 필요한 명제 중 증명이 완료된 명제를 정리라고 합니다.

유클리드의 원론에 있는 10개의 공리는 사실 저희도 이미 거의 다 알고 있는 내용들 입니다.

이 중 5개는 연산과 대소에 관한 공리입니다.

  1. A=B이고, A=C이면 B=C 이다.
  2. A=B이면, A+C=B+C 이다.
  3. A=B이면, A-C=B-C 이다.
  4. 서로 포개어지는 것들은 같다.
  5. 전체는 부분보다 크다.

그리고 나머지 5개는 기하에 관한 공리입니다.

  1. 한 점과 다른점을 연결하는 직선은 하나뿐이다. (학창 시절 때 배우는 직선의 결정 조건)
  2. 선분을 연장하면 하나의 직선이 된다.
  3. 임의의 점을 중심으로, 임의의 길이를 반지름으로 하는 원을 그릴 수 있다.
  4. 모든 직각은 서로 같다.
  5. 한 직선 l이 다른 두 직선 m,n과 만날 때, 같은 쪽 내각의 합이 180도 보다 작으면 m,n은 서로 만난다.
평행선 공준 - 위키백과, 우리 모두의 백과사전

그런데 여기서 5번 공리는 직관적으로 봤을 때는 맞는 말이지만, 공리라고 하기에는 조금 애매합니다. 뭔가 증명이 필요할 거 같죠? 5번 공리는 정리인데 유클리드가 증명을 하지 못해 그냥 공리라고 해버린 듯한 느낌이 있는 것이죠.

이후 2000년간 많은 수학자들이 5번 공리에 대해 증명을 시도해보았지만 번번히 실패하고 말았습니다. 이 때 1795년 수학자 플레이페어 (1748~1819 영국)는 5번 공리와 동치인 평행선 공리 (한 직선 l과 그 외부의 점 P에 대하여 P를 지나고 l과 평행한 직선은 오직 하나뿐이다)를 발견합니다. 사실 상 5번 공리와 평행선 공리가 동치라는 것을 증명한 것이죠. 직관적으로는 평행선 공리가 더욱 이해하기는 쉬웠지만 이 역시 증명 하기에는 부족했고, 엄밀함을 좋아하는 수학자들은 의심하기 시작합니다.

수학자들은 5번 공리 (평행성 공리)를 증명하기 위해 우선 세 가지의 가설을 세웁니다.

  1. 한 직선의 외부에 있는 점을 지나면서 평행한 직선은 오직 하나다.
  2. 한 직선의 외부에 있는 점을 지나면서 평행한 직선은 존재 하지 않는다.
  3. 한 직선의 외부에 있는 점을 지나면서 평행한 직선은 적어도 둘 이상 존재한다.

여기서 2번 명제와 3번 명제가 모순이라는 것을 증명한다면 1번 명제 (평행선 공리)가 참이라 볼 수 있죠. 귀류법의 과정이라고 볼 수 있습니다. 당시 이를 증명하던 이탈리아의 수학자 사케리 (Saccheri)는 아쉽게도 증명에 실패하였지만, 수학의 왕 가우스 (Gauss)가 사케리의 연구에 동참하면서 아주 놀라운 사실을 알아냅니다.

바로 유클리드 기하학의 5번 공리를 “한 직선의 외부에 있는 점을 지나면서 평행한 직선은 “적어도 둘 이상 존재한다”로 대체해도 유클리드 기하학의 세계는 무너지지 않는다는 것 입니다. 즉, 평행선의 개수가 하나가 아니고 여러개가 존재해도 아무런 모순이 발생하지 않는다는 것이죠.

그렇게 가우스는 유클리드 기하학의 5번 공리를 대체하여 비유클리드 기하학의 초석을 설립합니다. 여기서 더 나아가 가우스의 제자였던 리만 (Riemann)은 곡률 개념을 추가하여 비유클리드 기하학을 타원 기하학 (Elliptic Geometry)과 쌍곡 기하학 (Hyperbolic Geometry)으로 분류 및 확장 시킵니다.

비유클리드 기하학을 이해하기 위해서 가장 핵심이 되는 개념은 곡률 (curvature)입니다. 곡선이 굽어진 정도를 곡률이라 볼 수 있습니다.

수학자 리만은 곡률을 곡률반경의 역수 (k=\frac{1}{R})로 정의하였습니다. 여기서 곡률 반경이란 곡선에서 임의의 점에 대한 아주 짧은 구간을 호로써 근사하는 접촉원의 반지름을 의미합니다.

직관적으로 곡선의 구부러짐이 심하면 곡률이 크다고 생각하시면 편할 거 같네요. 그렇다면 두 가지 상황에서의 곡률을 한번 생각해보도록 하겠습니다.

원에서 어떤 점을 잡아도 항상 곡률은 일정합니다. 어떤 짧은 구간을 잡아도 동일한 접촉원을 가지기 때문에 원의 곡률은 그저 반지름의 역수입니다. 그리고 원은 항상 양의 곡률을 가지게 됩니다.

직선의 곡률은 어떨까요? 직관적으로 보면 직선은 구부러짐이 없으니 곡률이 0으로 나올 거 같은데, 실제로 직선의 경우는 접촉원을 그릴 수 없습니다. 따라서 접촉 반경이 양의 무한대로 나오기 때문에 곡률은 그의 역수인 0, k=\frac{1}{\infin}=0 , 으로 정의되는 것이죠.

리만은 곡률의 개념을 가지고

  1. 곡률이 0으로 일정한 공간에서의 기하학 ⇒ 유클리드 기하학
  2. 곡률이 일반적으로 0이 아닌 공간에서의 기하학 ⇒ 비유클리드 기하학
    • 곡률이 양수로 일정 ⇒ 타원기하학
    • 곡률이 음수로 일정 ⇒ 쌍곡기하학

이렇게 정리하였습니다. 즉, 곡률의 상태에 따라 공간을 해석할 때 활용하는 기하학을 다르게 정의하는 것이죠. 곡선이 아닌 곡면에서의 곡률을 정의하기 위해서는 평균 곡률이나 가우스 곡률과 같은 개념이 필요하다고 하는데, 거기까지는 깊게 다루지 않도록 하겠습니다.

실제로 우리가 살고 있는 실세계는 유클리드 기하학으로는 설명할 수 없는 부분이 굉장히 많습니다. 타원 기하학의 부산물로는 인공위성의 궤도 계산, 통신 기술 같은 것들이 있고, 쌍곡 기하학의 예시는 아인슈타인의 상대성이론, 공간의 휘어짐 같은 것들이 있습니다.

All You Need To Know About Albert Einstein's General Theory Of Relativity,  100 Years Old Today

비유클리드 기하학의 등장은 사실 인공 위성 궤도 측정, 공간의 휘어짐 계산 등 실용적인 목적을 가지고 발전된 것이 아니라 수학자들의 호기심, 의구심으로 부터 시작하여 유클리드 기하학이 지배했던 수학의 패러다임 변화라고 볼 수 있습니다.

쌍곡 기하학 (Hyperbolic Geometry)

쌍곡 기하학은 가우스, 로바쳅스키, 볼리아이 등의 수학자들이 만든 기하학으로써 곡률이 음수로 일정한 공간에서 성립하는 기하학으로, 위구 (pseudosphere)와 같은 공간에서 성립한다. 다시 말해, “오목한 면에서 정의되는 기하학”이라고 쉽게 얘기하는데, 정확히는 쌍곡면(Hyperoloid) 위에서 정의되는 기하학 입니다.

쌍곡면은 아래의 그림과 같이 쌍곡선을 회전한 곡면 입니다.

쌍곡 기하학은 시각화하기 매우 어려운데, 중심의 원이 끝도 없이 큰 크기를 가지며 이 공간은 양쪽 끝 쪽으로 갈수록 점점 작아져서 그 간격이 0에 가까워집니다. 즉, 가운데로 갈수록 점점 그 간격이 무한대로 커지는 공간으로, 안으로 휘어진 공간입니다.

사실 쌍곡 기하학의 시각화는 저도 아직 완벽하게 이해하지 못해서 다음 리뷰때 좀 더 자세하게 다루는 것으로 하고 일단 쌍곡 기하학의 주요 개념 및 정의에 대해서만 오늘 정리하고 마무리 하도록 하겠습니다.

  1. 평행선 공준의 대체: 유클리드 기하학에서는 한 직선 외부의 한 점을 통해 그 직선과 평행한 직선이 오직 하나만 존재합니다. 쌍곡 기하학에서는 이러한 점을 통과하는 무수히 많은 평행선이 존재합니다.

2. 각의 합: 삼각형의 내각의 합이 180도보다 작습니다. 이는 삼각형의 내각의 합이 항상 180도인 유클리드 기하학과의 중요한 차이점입니다.

3. 면적: 삼각형의 면적은 내각의 합에 의해 결정되며, 내각의 합이 180도보다 작을수록 삼각형의 면적이 커집니다.

4. 곡률: 쌍곡 기하학의 공간은 음의 곡률을 가집니다. 이는 구면 기하학(positive curvature)과도 대비됩니다.

평행성 공리가 대체됨에 따라 쌍곡 기하학에서는 삼각형의 면적이나, 거리 계산 등이 다르게 정의 됩니다. 그리고 이는 쌍곡 기하학을 해석하는 모델마다도 조금씩 다르게 정의가 되는데 논문을 찾아보니 보통 Lorentz Model을 많이 활용하여 딥러닝을 진행한다고 하네요.

사실 개념적으로는 다 설명을 했는데 쌍곡 기하학의 시각화가 이미지로는 조금 나타내기에 어려운 부분이 있어서 리뷰를 읽는 여러분들이 완벽하게 이해하기는 조금 어려운 부분이 있을 거 같습니다.

이게 쌍곡 공간을 투영시킨 하나의 예시인데 굉장히 어지럽죠? 일단 저희가 기하학을 공부하려고 하는게 아니라 이를 활용하여 딥러닝을 사용하는 것이기 때문에 사실 쌍곡 기하학에서

  • 데이터 임베딩
  • 거리 계산
  • 쌍곡 활성화 함수

등등 만 제대로 알고 있으면 되긴 합니다. 다음 리뷰에서는 쌍곡 공간 (Hyperbolic Space) 에서의 임베딩, 거리 지표 (여기서는 측도라는 개념이 등장합니다.), 최적화가 어떻게 진행되는지 알아보고 가능하면 논문 리뷰도 간단하게 진행해보도록 하겠습니다.

Author: 임 근택

2 thoughts on “쌍곡 신경망 (Hyperbolic Neural Network) (Part.1)

  1. 안녕하세요 근택님, 좋은 리뷰 감사합니다.
    새로운 관점의 학습 기법이 있다는 것을 알게 되어 신기하면서도 유래부터 차근차근 알려주셔서 너무 흥미로웠습니다!
    Scene Graph Generation에서 Long Tail Distribution 문제가 존재하며, 이런 Long Tail 문제를 완화하기 위해선 Head와 Tail간의 연결성 즉 계층적인 관계(Hierarchy)를 모델링하는 것이 핵심 논점이라고 이해했습니다. 그리고 그것을 위해선 Hyperbolic DeepLearning 방식이 해결방식 중 하나가 될 수 있으며, 그 이유가 트리나 그래프 같은 계층적 구조를 기존의 유클리드 기하학보다 수학적으로 더 잘 표현해낼 수 있기 때문이라고 이해했습니다.

    그렇기에 리뷰 끝무리에 가볍게 언급해주신 쌍곡 기하학에서의 데이터 임베딩, 거리 계산, 쌍곡 활성화 함수 등이
    노드 간의 거리나 관계를 유클리드 방식보다 더 잘 반영/표현할 것 같고, 더 적절한 비선형성도 줄 수 있을 것 같은데,

    제가 이해하기로는 일전의 근택님의 세미나 등을 들었을 땐, Scene Graph Generation이 중점적으로 다루고 싶은 부분이 Open Vocabulary 태스크일 것 같아서 이 Open Vocabulary와 연관지어 궁금한 점이 생겼습니다!

    Scene Graph Generation에서 Hyperbolic Deep Learning 방식을 이용한 계층적 구조의 깊이에 대한 표현이 결국
    노드 간의 계층 관계와 데이터 임베딩을 더욱 자연스럽게(알맞게?) 표현될 수 있다면,
    기존의 유클리드 기하학으로 표현한 벡터 임베딩 스페이스보다 더 넓고 다채로운 임베딩 표현이 가능할 것 같고,
    이로 인해 contrastive learning같은 적대적 학습 방식에도 더 유리할 것 같습니다!
    그러면 Long Tail Distribution 문제와 더불어 Open Vocabulary에 있어서의 기존보다 더 좋은 성능향상을 보일 수도 있을까요? 아니면 무언가 제가 모르는 단점이 있는 건가요? 다음 리뷰가 궁금해집니다!

    조금은 장황하게 질문드리기도 했고 잘은 모르지만,, 이 Hyperbolic 방식까지 사용하면 Scene Graph Generation 방법론들이 생각보다 이상적인 방법론이 될 것 같다는 생각이 듭니다!
    감사합니다.

  2. 안녕하세요. 근택님!
    좋은 리뷰 감사드립니다.

    (1) 계층적 구조가 아닌 경우 Visual Representation을 위한 임베딩 공간으로서 Euclidean Space는 적절한 것인가요? 혹은 현재 진행되고 있는 연구에서 다른 공간으로의 투영에 대한 것이 더 유리하다는 언급이 있었는 지 궁금합니다!

    (2) 또한 단순한 궁금증입니다만, 곡률이 0이 아닌 공간으로 곡률이 양수일 경우에 해당하는 타원 공간과 곡률이 음수일 경우에 해당하는 쌍곡 공간이 존재한다고 이해를 했습니다. 또한 딥러닝의 응용 관점에서 벡터의 임베딩 공간으로서 쌍곡 공간 가치는 이해하였습니다. 그렇다면, 반대로 곡률이 양수에 해당하는 타원 공간으로의 벡터 임베딩에 대한 연구는 이루어지지 않고 있나요?

    감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다