geoopt/geoopt

Riemannian Adaptive Optimization Methods with pytorch optim

해결하는 문제

Geoopt는 PyTorch 생태계 내에서 리만 최적화를 위한 도구를 제공합니다. 표준 딥러닝 최적화는 일반적으로 평탄한(유클리드) 공간을 가정하지만, 많은 머신러닝 문제는 구면, 쌍곡 공간, 대칭 양의 정부호 행렬과 같이 곡면이나 특정 기하학적 제약 조건에 자연스럽게 존재하는 데이터를 다루어야 합니다.

작동 방식

이 라이브러리는 "다양체를 인식하는(manifold-aware)" 특수 텐서 및 매개변수 클래스를 도입하여 PyTorch를 확장합니다. 다양한 다양체 구현(예: Poincare ball, Lorentz, Stiefel)과 SGD 및 Adam과 같은 표준 최적화 알고리즘의 리만 버전을 제공합니다. 이러한 도구를 사용하면 투영, 지수 사상, 기울기 변환과 같은 작업을 다양체 위에서 직접 수행할 수 있어, 학습 중에 모델 매개변수가 원하는 기하학적 제약 조건을 유지하도록 보장합니다.

대상 사용자

이 프로젝트는 기하학적 딥러닝, 쌍곡 신경망 또는 비유클리드 다양체에서의 최적화가 필요한 작업을 수행하는 연구원 및 머신러닝 엔지니어를 위해 설계되었습니다.

주요 특징

  • 다양체를 인식하는 PyTorch 텐서 및 매개변수 버전 제공.
  • 널리 사용되는 최적화 알고리즘(SGD 및 Adam)의 리만 구현 포함.
  • Poincare balls, Lorentz 모델, Stiefel 다양체를 포함한 다양한 다양체 지원.
  • 리만 확률적 기울기 랑주뱅 동역학(Riemannian Stochastic Gradient Langevin Dynamics) 및 해밀턴 몬테카를로(Hamiltonian Monte-Carlo)를 위한 특수 샘플러 제공.
  • 실험적 레이어 모듈을 통해 기존 PyTorch 워크플로우와 원활하게 통합.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트