geoopt
v0.5.1

マニホールド認識pytorch.optim 。
「Riemannian適応最適化方法」ICLR2019などの非公式の実装。
pytorch> = 2.0.1がインストールされていることを確認してください
Geooptをインストールするには2つの方法があります。
pip install git+https://github.com/geoopt/geoopt.gitpip install geooptGeooptをインストールするための好ましい方法は、安定したプロジェクトステージが達成されると変更されます。現在、Pypiは新しい機能を積極的に開発および実装するため、マスターの背後にいます。
Geooptは、2つの最新の安定したバージョンのPytorch Upstreemまたは最新の主要リリースを正式にサポートしています。
作業は進行中ですが、すでにこれを使用できます。将来のリリースでAPIが変更される可能性があることに注意してください。
geoopt.ManifoldTensor追加のmanifoldキーワード引数があるTorch.Tensorと同様。geoopt.ManifoldParameter上記と同じ、 torch.nn.Module.parametersで正しくサブクラス化されていると認識されています。上のすべてのコンテナには、特定の多様体のポイントと同様に、それらと連携する特別な方法があります
.proj_() - マニホールドでの場所の投影。.proju(u) - 接線空間上のプロジェクトベクターu 。以下のすべてのメソッドにすべてのベクトルを投影する必要があります。.egrad2rgrad(u) -Riemannianマニホールドのプロジェクトグラデーションu.inner(u, v=None) - この時点でこの時点での内製品は、この時点で2つの接線ベクトルを使用します。合格したベクトルは予測されておらず、すでに投影されていると想定されています。.retr(u) - ベクターuに続く撤回マップ.expmap(u) - 次のベクターuに続く指数マップ(expmapが閉じた形式で利用できない場合、最適な近似が使用されます).transp(v, u) - 方向uを備えた輸送ベクトルv.retr_transp(v, u) - 方向uを使用してself 、ベクトルv (およびおそらくより多くのベクター)を輸送する(リターンは平易なテンソルです)geoopt.Euclideanユークリッドメトリックを備えたRの制約のない多様体geoopt.Stiefel A in R^{nxp} : A^t A=I 、 n >= pgeoopt.Sphere球体マニホールド||x||=1geoopt.BirkhoffPolytope二重に確率的マトリックスの多様なものgeoopt.Stereographic一定の曲率立像投影モデルgeoopt.SphereProjection -Sphere Stereographic Projection Modelgeoopt.PoincareBallポアンカレボールモデルgeoopt.Lorentz双曲線モデルgeoopt.ProductManifold製品マニホールドコンストラクターgeoopt.Scaledマニホールドのスケーリングバージョン。 ProductManifoldと組み合わせると、製品スペースで混合農業表現を学習することに似ていますgeoopt.SymmetricPositiveDefinite -spd matrixマニホールドgeoopt.UpperHalfシーゲル上半分のマニホールド。グラフ埋め込みの対称空間のように、RiemannianおよびFinslerの指標をサポートします:Finsler-Riemannianアプローチ。geoopt.BoundedDomain -Siegel境界ドメインマニホールド。 RiemannianとFinslerの指標をサポートしています。すべてのマニホールドは、一般的な目的で使用されるマニホールドおよび接線ベクトルのテンソルを操作するために必要な方法を実装します。ドキュメントの詳細をご覧ください。
geoopt.optim.RiemannianSGD同じAPIを持つtorch.optim.SGDのサブクラスgeoopt.optim.RiemannianAdam torch.optim.Adamのサブクラスgeoopt.samplers.RSGLD -riemannian Stochastic Gradient Langevin Dynamicsgeoopt.samplers.RHMC -riemannian hamiltonian monte -carlogeoopt.samplers.SGRHMC -Stochastic Gradient Riemannian Hamiltonian Monte -Carlo実験的なgeoopt.layersモジュールは、geooptを深い学習に埋め込むことができます
このプロジェクトが研究で役立つと思われる場合は、このbibtexエントリを参照と引用に親切に追加してください。
@misc { geoopt2020kochurov ,
title = { Geoopt: Riemannian Optimization in PyTorch } ,
author = { Max Kochurov and Rasul Karimov and Serge Kozlukov } ,
year = { 2020 } ,
eprint = { 2005.02819 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CG }
}ETH:0x008319973D4017414FDF5B3BEF1369BA78275C6A