geoopt/geoopt
Riemannian Adaptive Optimization Methods with pytorch optim
解决的问题
Geoopt 在 PyTorch 生态系统中提供了黎曼优化的工具。标准的深度学习优化通常假设空间是平坦的(欧几里得空间),但许多机器学习问题需要处理自然存在于曲面或特定几何约束上的数据,例如球体、双曲空间或对称正定矩阵。
工作原理
该库通过引入“流形感知”的专用张量和参数类来扩展 PyTorch。它提供了一套流形实现(例如 Poincare ball、Lorentz、Stiefel)以及标准优化器(如 SGD 和 Adam)的黎曼版本。这些工具允许用户直接在流形上执行投影、指数映射和梯度变换等操作,确保模型参数在训练过程中保持在所需的几何约束内。
适用人群
该项目专为从事几何深度学习、双曲神经网络或任何需要在非欧几里得流形上进行优化的研究人员和机器学习工程师而设计。
主要亮点
- 提供流形感知的 PyTorch 张量和参数版本。
- 包含流行优化器(SGD 和 Adam)的黎曼实现。
- 支持多种流形,包括 Poincare balls、Lorentz 模型和 Stiefel 流形。
- 为黎曼随机梯度朗之万动力学(Riemannian Stochastic Gradient Langevin Dynamics)和哈密顿蒙特卡洛(Hamiltonian Monte-Carlo)提供专用采样器。
- 通过实验性层模块与现有的 PyTorch 工作流无缝集成。
相关
- 项目
- 项目
- 项目
- 项目