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 the low-rank approximations is to use the 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 approximate Riemannian Hessian and a given vector.
翻译:在科学计算和机器学习应用中,矩阵和较一般的多维阵列(ensors)往往可以在低级分解的帮助下加以近似。由于基质和高压固定级平滑的里曼多元体,找到低级近似值的常用工具之一是使用里曼尼亚优化法,然而,在里曼尼亚优化算法中所要求的里曼尼梯度和赫森斯的高效应用在实践中可能是一种非三重性的任务。此外,在某些情况下,甚至没有分析公式。在本文中,我们以自动区分为基础,并提出了一种方法,考虑到要最大限度地减少功能的实施,高效地计算里曼尼亚近似海森和特定矢量之间的里曼尼梯度和矩阵逐项产品。