In scientific computing and machine learning applications, matrices and more general multidimensional arrays (tensors) can often be approximated with the help of low-rank decompositions. Since matrices and tensors of fixed rank form smooth Riemannian manifolds, one of the popular tools for finding low-rank approximations is to use Riemannian optimization. Nevertheless, efficient implementation of Riemannian gradients and Hessians, required in Riemannian optimization algorithms, can be a nontrivial task in practice. Moreover, in some cases, analytic formulas are not even available. In this paper, we build upon automatic differentiation and propose a method that, given an implementation of the function to be minimized, efficiently computes Riemannian gradients and matrix-by-vector products between an approximate Riemannian Hessian and a given vector.
翻译:在科学计算和机器学习应用中,矩阵和较一般的多维阵列(ensors)往往可以在低级分解的帮助下加以近似。由于基质和高压固定级阵列平滑的里曼尼方形,找到低级近似值的常用工具之一是使用里曼尼优化,然而,在里曼尼优化算法中,高效实施里曼尼梯度和赫森斯(Riemannian 梯度和赫森斯语)可能是实践上的一项非三重性的任务。此外,在某些情况下,甚至没有分析公式。在本文中,我们以自动区分为基础,提出一种方法,考虑到要最大限度地减少功能的功能,在大约的里曼尼希斯语和特定矢量的矢量之间高效地配置里曼尼梯度和矩阵逐子产品。