ott-jax/ott

Optimal transport tools implemented with the JAX framework, to solve large scale matching problems of any flavor.

何を解決するか

2つの点群(点の集合)間のマッチング問題を、一方の集合の点をもう一方の集合の点に低コストで関連付ける方法を見つけることで、スケーラブルな解決策を提供します。伝統的なアルゴリズム(ハンガリアン法)の非効率性(大規模データセットでは遅すぎる)を克服し、異なるサイズの重み付き集合や部分的なマッチングを扱える高速なソルバーを提供します。

動作方法

JAXに基づいて構築されており、特にSinkhornアルゴリズムを実装しています。スケジューリング、モーメンタム、低ランク拡張を用いてアクセラレータ上で最適化されています。また、Gromov-WassersteinやWassersteinバリアンツといった高度な問題にも対応しています。さらに、ソース測度とターゲット測度間の最適輸送マップを近似するためのニューラルネットワークアプローチも提供します。

対象ユーザー

大規模な点群のマッチングや最適輸送理論を用いたデータセット比較を必要とする、科学および最適化分野の研究者や開発者。

特徴

  • アクセラレータ上で高性能実行を可能にするJAX駆動。
  • 複数の高速化テクニックを備えたSinkhornアルゴリズムの実装。
  • Gromov-WassersteinやWassersteinバリアンツといった複雑な問題に対応。
  • 最適輸送マップのニューラルネットワークベースの近似を含む。
  • カスタムコスト関数や目的関数に対する柔軟なサポート。

関連

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