We introduce geomstats, a Python package for Riemannian modelization and optimization over manifolds such as hyperspheres, hyperbolic spaces, spaces of SPD matrices or Lie groups of transformations. Our contribution is threefold. First, geomstats allows the flexible modeling of many a machine learning problem through an efficient and extensively unit-tested implementations of these manifolds, as well as the set of useful Riemannian metrics, exponential and logarithm maps that we provide. Moreover, the wide choice of loss functions and our implementation of the corresponding gradients allow fast and easy optimization over manifolds. Finally, geomstats is the only package to provide a unified framework for Riemannian geometry, as the operations implemented in geomstats are available with different computing backends (numpy, tensorflow and keras), as well as with a GPU-enabled mode-thus considerably facilitating the application of Riemannian geometry in machine learning. In this paper, we present geomstats through a review of the utility and advantages of manifolds in machine learning, using the concrete examples that they span to show the efficiency and practicality of their implementation using our package 1 .
The paper introduces the software package geomstats which provides simple use of Riemannian manifolds and metrics within machine learning models. Like theanogeometry, geomstats provides a backend for fast computation. Instead of theano, they interface tensorflow and numpy.
The core problem the author’s have to argue against is the existence of various other packages like pymanopt (which are mentioned in the paper) providing similar functionality.
The main advantage to pymanopt is stated to be lower computational cost. Unfortunately, this is not evaluated empirically. Pymanopt similarly provides the option to provide the cost function with tensorflow and uses numpy/scipy internally, therefore also making use of vectorization. A favorable empirical comparison would have been a compelling case for geomstats. While geomstats provides some more metrics than pymanopt, it lacks in other areas in comparison. Such metrics could be added relatively easily to pymanopt (or some of the other competing libraries).
Truly novel is the update for Keras which allows Riemannian gradient descent on parameters living on manifolds. Unfortunately, this is not directly shown and discussed further in the paper, but the reader is referred to the code base. While plenty of examples were provided in the supplementary material, I’d have preferred to see specific example(s) being shown and discussed in the paper. In the end, the main paper alone only gives an overview of what exists, but gives me no idea on how the package is used.
In parts, the paper reads more like an argument in favor of Riemannian modelization and optimization, instead of advocating for the specific package. While it is very important to demonstrate potential applications for the framework - an area in which this paper excelled - other, more important parts (mentioned above), were omitted because of it. Similarly, a lot of time is needlessly spent on defining well-known manifolds.
On the formal side, the formatting of the citations within the text don’t adhere to the official style guide which prescribes the use of authors’ last names and year.
Overall, the software package seems to provide nice functionality with integration into a currently popular machine learning framework, but it’s novelty compared to existing software packages is limited. The novel parts (performance improvements, integration with keras) are not sufficiently demonstrated in the paper.