×

Geomstats: a Python package for Riemannian geometry in machine learning. (English) Zbl 07307485

Summary: We introduce Geomstats, an open-source Python package for computations and statistics on nonlinear manifolds such as hyperbolic spaces, spaces of symmetric positive definite matrices, Lie groups of transformations, and many more. We provide object-oriented and extensively unit-tested implementations. Manifolds come equipped with families of Riemannian metrics with associated exponential and logarithmic maps, geodesics, and parallel transport. Statistics and learning algorithms provide methods for estimation, clustering, and dimension reduction on manifolds. All associated operations are vectorized for batch computation and provide support for different execution backends – namely NumPy, PyTorch, and TensorFlow. This paper presents the package, compares it with related libraries, and provides relevant code examples. We show that Geomstats provides reliable building blocks to both foster research in differential geometry and statistics and democratize the use of Riemannian geometry in machine learning applications. The source code is freely available under the MIT license at geomstats.ai.

MSC:

68T05 Learning and adaptive systems in artificial intelligence
PDFBibTeX XMLCite
Full Text: arXiv Link

References:

[1] Vincent Arsigny.Processing Data in Lie Groups: An Algebraic Approach. Application to Non-Linear Registration and Diffusion Tensor MRI. PhD thesis, École polytechnique, 11 2006.
[2] Dena Asta and Cosma Rohilla Shalizi. Geometric Network Comparison.Journal of Machine Learning Research, 2014. ISSN 1939-1374. doi: 10.1109/PES.2006.1709566.
[3] Alexandre Barachant. PyRiemann: Python package for covariance matrices manipulation and Biosignal classification with application in Brain Computer interface, 2015. URL https://github.com/alexandrebarachant/pyRiemann.
[4] Gary Bécigneul and Octavian-Eugen Ganea. Riemannian Adaptive Optimization Methods. InProceedings of the International Conference on Learning Representations (ICLR) 2019, pages 1-16, 2018.
[5] Jonathan Boisvert, Xavier Pennec, Hubert Labelle, Farida Cheriet, and Nicholas Ayache. Principal spine shape deformation modes using riemannian geometry and articulated models.Lecture Notes in Computer Science, 4069 LNCS:346-355, 2006. ISSN 16113349.
[6] Alice Le Brigant and Stéphane Puechmorel. Quantization and clustering on riemannian manifolds with an application to air traffic analysis.Journal of Multivariate Analysis, 173:685-703, 2019. doi: 10.1016/j.jmva.2019.05.008. · Zbl 1432.62187
[7] Elena Celledoni, Markus Eslitzbichler, and Alexander Schmeding. Shape analysis on Lie groups with applications in computer animation.The Journal of Geometric Mechanics, 8 (3):273-304, 2015. · Zbl 1366.65018
[8] Andrea Censi. PyGeometry: Library for handling various differentiable manifolds., 2012. URLhttps://github.com/AndreaCensi/geometry.
[9] Rudrasis Chakraborty and Baba Vemuri. Statistics on the (compact) Stiefel manifold : Theory and Applications.Annals of Statistics, 47(1):415-438, 2019. · Zbl 1419.62132
[10] Emmanuel Chevallier, Frédéric Barbaresco, and Jesus Angulo. Probability density estimation on the hyperbolic space applied to radar processing.Lecture Notes in Computer Science, 9389:753-761, 2015. ISSN 16113349. · Zbl 1396.94024
[11] Ian Dryden and Kanti Mardia.Statistical shape analysis, with Applications in R. John Wiley & Sons, New York, 1998. · Zbl 0901.62072
[12] Maurice Fréchet. Les éléments aléatoires de nature quelconque dans un espace distancié. Annales de l’institut Henri Poincaré, 10(4):215-310, 1948. · Zbl 0035.20802
[13] Mehrtash Tafazzoli Harandi, Richard Hartley, Brian Lovell, and Conrad Sanderson. Sparse Coding on Symmetric Positive Definite Manifolds using Bregman Divergences.CoRR, abs/1409.0, 2014.
[14] Junpyo Hong, Jared Vicory, Jörn Schulz, Martin Styner, James Stephen Marron, and Stephen Pizer.Non-Euclidean Classification of Medically Imaged Objects via s-reps. Medical Image Analysis, 31:37-45, 2016.
[15] Benjamin Hou, Nina Miolane, Bishesh Khanal, Mathew Lee, Amir Alansary, Steven McDonagh, Jo Hajnal, Daniel Rueckert, Ben Glocker, and Bernhard Kainz. Computing CNN loss and gradients for pose estimation with Riemannian geometry. InProceedings of the conference of Medical Image Computing and Computer-Assisted Intervention (MICCAI), volume 11070 LNCS, 2018. ISBN 9783030009274.
[16] Stephan Huckemann, Peter Kim, Ja Yong Koo, and Axel Munk. Möbius deconvolution on the hyperbolic plane with application to impedance density estimation.Annals of Statistics, 38(4):2465-2498, 2010. ISSN 00905364. doi: 10.1214/09-AOS783. · Zbl 1203.62055
[17] Sungkyu Jung, Ian Dryden, and James Stephen Marron. Analysis of principal nested spheres. Biometrika, 99(3):551-568, 2012. ISSN 00063444. doi: 10.1093/biomet/ass022. · Zbl 1437.62507
[18] Alex Kendall and Roberto Cipolla. Geometric Loss Functions for Camera Pose Regression with Deep Learning. InProceedings of the conference of Computer Vision and Pattern Recognition (CVPR), 2017. doi: 10.1109/CVPR.2017.694.
[19] John Kent and Thomas Hamelryck. Using the Fisher-Bingham distribution in stochastic models for protein structure.Quantitative Biology, Shape Analysis, and Wavelets, 24(1): 57-60, 2005.
[20] Maxim Kochurov, Rasul Karimov, and Serge Kozlukov. Geoopt: Riemannian Adaptive Optimization Methods with pytorch optim, 2019. URLhttps://github.com/geoopt/ geoopt.
[21] Line Kühnel and Stefan Sommer.Computational Anatomy in Theano.InGraphs in Biomedical Image Analysis, Computational Anatomy and Imaging Genetics, pages 164- 176, Cham, 2017. Springer International Publishing.URLhttps://bitbucket.org/ stefansommer/theanogeometry.
[22] Alice Le Brigant. Computing distances and geodesics between manifold-valued curves in the SRV framework.Journal of Geometric Mechanics, 2017. · Zbl 1366.58005
[23] Mayank Meghwanshi, Pratik Jawanpuria, Anoop Kunchukuttan, Hiroyuki Kasai, and Bamdev Mishra. McTorch, a manifold optimization library for deep learning, 2018. URL https://github.com/mctorch/mctorch.
[24] Xavier Pennec, Pierre Fillard, and Nicholas Ayache. A Riemannian Framework for Tensor Computing.International Journal of Computer Vision, 66(1):41-66, 1 2006. · Zbl 1287.53031
[25] Joan Richtsmeier, James Cheverud, and Subhash Lele. Advances in Anthropological Morphometrics.Annual Review of Anthropology, 21(5):283-305, 1992.
[26] Yusuke Shinohara, Takashi Masuko, and Masami Akamine. Covariance clustering on Riemannian manifolds for acoustic model compression. In2010 IEEE International Conference on Acoustics, Speech and Signal Processing, pages 4326-4329, 3 2010.
[27] Olaf Sporns, Giulio Tononi, and Rolf Kötter. The human connectome: A structural description of the human brain.PLoS Computational Biology, 1(4):0245-0251, 2005. ISSN 15537358. doi: 10.1371/journal.pcbi.0010042.
[28] Anuj Srivastava, Eric Klassen, Shantanu Joshi, and Ian Jermyn. Shape analysis of elastic curves in euclidean spaces.IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(7):1415-1428, 2011.
[29] James Townsend, Niklas Koep, and Sebastian Weichwald. Pymanopt: A python toolbox for optimization on manifolds using automatic differentiation.Journal of Machine Learning Research, 17(137):1-5, 2016. ISSN 15337928. URLhttps://github.com/pymanopt/ pymanopt. · Zbl 1416.65580
[30] Pavan Turaga, Ashok Veeraraghavan, and Rama Chellappa. Statistical analysis on Stiefel and Grassmann Manifolds with applications in Computer Vision.IEEE Conference on Computer Vision and Pattern Recognition, pages 1-8, 2008.
[31] Kieran Wynn. PyQuaternions: A fully featured, pythonic library for representing and using quaternions, 2014. URLhttps://github.com/KieranWynn/pyquaternion.
[32] Laurent Younes. Spaces and manifolds of shapes in computer vision: An overview.Image and Vision Computing, 30(6-7):389-397, 2012.
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.