PythonOT/POT

POT : Python Optimal Transport

解決する課題

このライブラリは、最適輸送 (OT) 問題を解決するための包括的なソルバー群を提供します。OT は確率分布間の距離を測定するための数学的フレームワークであり、ドメイン適応、データセットの比較、生成モデルの学習といった機械学習タスクにおいて非常に有用です。

仕組み

正確な線形計画法ソルバー(Earth Mover's Distance など)から、より高速な正則化近似(Sinkhorn アルゴリズムなど)まで、幅広いアルゴリズムを実装しています。このライブラリはハードウェアに依存しない設計となっており、NumPy、PyTorch、JAX、TensorFlow、CuPy とシームレスに統合されるバックエンドを提供し、CPU と GPU の両方で計算を実行可能です。

対象ユーザー

信号処理、コンピュータビジョン、またはディープラーニングに取り組む研究者や機械学習エンジニアを対象としており、Wasserstein 距離や OT ベースの損失関数をモデルに組み込む必要がある場合に最適です。

特徴

  • 豊富な OT ソルバー:Gromov-Wasserstein、Fused Gromov-Wasserstein、非平衡 OT、部分 OT などを含みます。
  • マルチバックエンドサポート:PyTorch、JAX、TensorFlow、NumPy 配列とネイティブに連携します。
  • ML 対応:ドメイン適応、Wasserstein 重心、グラフニューラルネットワーク (GNN) レイヤー用の事前構築済みモジュールを提供します。
  • パフォーマンス最適化:大規模データセット向けの安定化された Sinkhorn 実装や確率的ソルバーが含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト