We design and implement a Python library to help the non-expert using all these powerful tools in a way that is efficient, extensible, and simple to incorporate into the workflow of the data scientist, practitioner, and applied researcher. The algorithms implemented in this library have been designed with usability and GPU efficiency in mind, and they can be added to any PyTorch model with just one extra line of code. We showcase the effectiveness of these tools on an application of optimisation on manifolds in the setting of time series analysis. In this setting, orthogonal and unitary optimisation is used to constraint and regularise recurrent models and avoid vanishing and exploding gradient problems. The algorithms designed for GeoTorch allow us to achieve state of the art results in the standard tests for this family of models. We use tools from comparison geometry to give bounds on quantities that are of interest in optimisation problems. In particular, we build on the work of (Kaul 1976) to give explicit bounds on the norm of the second derivative of the Riemannian exponential.
翻译:我们设计和实施一个Python 图书馆,以帮助非专家以高效、可扩展和简单的方式使用所有这些强大的工具,将之纳入数据科学家、从业者和应用研究人员的工作流程。在这个图书馆中实施的算法设计时,考虑到可用性和GPU效率,可以添加到任何PyTorch模型中,只要增加一行代码即可。我们在时间序列分析设置中应用对方块的优化,展示了这些工具的有效性。在这个设置中,正方形和单一的优化用于限制和规范经常性模型,避免消失和爆炸梯度问题。为GeoTorrch设计的算法使我们得以在模型系列的标准测试中实现最先进的结果。我们使用比较几何方法对选择问题感兴趣的数量进行约束。特别是,我们利用(Kaul 1976)的工作,对里曼指数的第二个衍生物进行明确约束。