PythonOT/POT
POT : Python Optimal Transport
해결하는 문제
POT (Python Optimal Transport)는 최적 운송(Optimal Transport, OT)과 관련된 최적화 문제를 위한 포괄적인 솔버 세트를 제공합니다. 확률 분포 간의 거리와 매핑을 효율적으로 계산하는 문제를 해결하며, 이는 신호 처리, 이미지 처리, 기계 학습 작업에 필수적입니다.
작동 방식
이 라이브러리는 정확한 선형 프로그래밍(예: 네트워크 심플렉스 솔버)에서부터 정규화된 버전(예: 엔트로피 정규화를 위한 Sinkhorn Knopp)에 이르기까지 다양한 OT 솔버를 구현합니다. 서로 다른 공간의 분포를 비교하기 위한 Gromov-Wasserstein 거리, 질량이 다른 분포를 위한 비균형 및 부분적 OT, 고차원 데이터를 위한 슬라이스 Wasserstein 거리 등 다양한 OT 공식을 지원합니다. 유연성과 성능을 보장하기 위해 PyTorch, JAX, TensorFlow, NumPy, CuPy 등의 다양한 백엔드와 통합됩니다.
대상 사용자
분포 간 거리를 측정하거나 도메인 적응 및 부분 공간 학습을 수행해야 하는 기계 학습, 신호 처리, 이미지 처리 분야의 연구자 및 실무자에게 적합합니다.
주요 특징
- 다양한 솔버 세트: 정확한 선형 OT, 엔트로피 및 2차 정규화 OT, Gromov-Wasserstein 변형 포함.
- ML 통합: 도메인 적응, 매핑 추정, 그래프 신경망(GNN) 레이어를 위한 전용 솔버 제공.
- 바리센터 계산: 고정 및 자유 지원에 대한 Wasserstein 및 GW 바리센터 지원.
- 다중 백엔드 지원: PyTorch, JAX, TensorFlow, NumPy, CuPy 배열과 호환되어 딥러닝 파이프라인에 원활하게 통합 가능.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트