Gradients of Functions of Large Matrices

2024年05月27日
  • 简介
    调整科学和概率机器学习模型,例如偏微分方程、高斯过程或贝叶斯神经网络,通常依赖于评估随着数据集或参数数量增长而增长的矩阵函数。虽然评估这些量的最先进方法几乎总是基于Lanczos和Arnoldi迭代,但本文是第一篇有效解释如何高效地对这些数值线性代数的“工作马”进行微分的文章。为了实现这一点,我们推导出了Lanczos和Arnoldi迭代的先前未知的伴随系统,将其实现在JAX中,并展示了由此产生的代码在微分偏微分方程时可以与Diffrax相竞争,在选择高斯过程模型时可以与GPyTorch相竞争,并且在校准贝叶斯神经网络时可以击败标准的分解方法。所有这些都是在没有任何特定问题的代码优化的情况下实现的。在https://github.com/pnkraemer/experiments-lanczos-adjoints找到代码,并使用pip install matfree安装库。
  • 作者讲解
  • 图表
  • 解决问题
    如何高效地对科学和概率机器学习模型进行调整,特别是涉及到矩阵的函数?
  • 关键思路
    利用Lanczos和Arnoldi迭代的伴随系统,实现对数值线性代数的高效微分。
  • 其它亮点
    论文提出了Lanczos和Arnoldi迭代的伴随系统,并在JAX中实现,证明了这种方法在微分PDE、选择高斯过程模型和校准贝叶斯神经网络方面的有效性,而且不需要问题特定的代码优化。论文还提供了开源代码和matfree库。
  • 相关研究
    在这个领域中,最近的相关研究包括:Diffrax、GPyTorch以及标准分解方法。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问