JAXで双曲幾何の深層学習を扱うライブラリhyperbolix
hyperbolix: Hyperbolic Deep Learning in JAX
この論文をやさしく読む
ひとことで言うと
JAXで双曲空間上のニューラルネットワークを構築するためのライブラリと、その数値精度の工夫を紹介する論文。
何に役立つ?
双曲幾何を使うモデルの層、最適化器、分布などをJAXで実装・検証する際に役立つ。
この研究の面白いところ
六つの多様体を共通APIで扱い、双曲面の距離計算では桁落ちを避け、従来実装がNaNになる遠方でもfloat32の精度を保つ。
どこまで分かった?
要旨は機能と演算精度の検査を報告する。多様な実タスクでの学習性能や速度の比較結果は示していない。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
本論文は、Flax NNXに基づくJAX用のオープンソース双曲深層学習ライブラリhyperbolixを紹介する。著者らの知る限り、JAXで初めての包括的な汎用双曲深層学習ライブラリである。共通のインターフェースで扱う六つの多様体は、ユークリッド空間、Poincaré球、双曲面、κ立体射影モデル、曲率を混合した直積空間、固有速度空間である。線形層、畳み込み、アテンション、正規化、位置符号化、回帰、ベクトル量子化の層群を実装する。これらの部品は、Ganeaの初期の双曲ニューラルネットワークから、HypformerやLorentzian ResNetのような近年の完全双曲型の構造までをカバーする。Riemann幾何に基づく最適化器をoptaxの変換として実装し、ラップした分布や双曲的な次元削減法も含む。 APIはJAXの慣用に従い、多様体自体は状態を持たず、曲率は呼び出し時に渡す。多様体上の操作は一点に作用し、jax.vmapでバッチ処理できる。検査したすべての演算の精度を、元論文の式をNumPy/SciPyでそのまま実装したもの、または有限差分と照合し、float32とfloat64の両方で試験した。双曲面では、二点間の距離などの標準的な式が原点から遠い位置で大きく近い値同士を引くため、精度を失う。hyperbolixは、この桁落ちを避ける式に置き換え、従来の実装がNaNを返す距離でもfloat32で精度を保つ。MITライセンスでGitHubに公開されている。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-23(UTC)
- 最新改訂
- 2026-09-23 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-23 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
We present hyperbolix, an open-source library for hyperbolic deep learning in JAX, built on Flax NNX. To our knowledge, it is the first comprehensive, general-purpose hyperbolic deep learning library in JAX. It includes six manifolds with a common interface: Euclidean space, the Poincaré ball, the hyperboloid, the $\kappa$-stereographic model, mixed-curvature product spaces, and the proper velocity space. We implement layer families that cover linear layers, convolutions, attention, normalization, positional encoding, regression, and vector quantization. These building blocks span methods ranging from Ganea's original hyperbolic neural networks to recent fully hyperbolic architectures such as Hypformer and Lorentzian ResNet. Additionally, hyperbolix contains Riemannian optimizers implemented as optax transformations, wrapped distributions, and hyperbolic dimensionality-reduction techniques. Its API uses idiomatic JAX: Manifolds are stateless, with curvature being passed at call time, while manifold operations act on single points, with jax.vmap enabling batch operations. The precision of every checked operation is tested against a closed-form NumPy/SciPy transcription from the source paper or a finite difference, for both float32 and float64. On the hyperboloid, standard formulas for two-point operations, such as the distance, lose precision far from the origin, because they subtract two large, nearly equal terms. hyperbolix replaces these subtractions with cancellation-free formulas that stay accurate in float32 at distances where prior implementations return NaN. hyperbolix is available under the MIT license at https://github.com/timoklein/hyperbolix .
arXiv ID: 2609.28248 / 要約の誤りについて