Gaussian process (GP) regression is a powerful probabilistic modeling technique with built-in uncertainty quantification. When one has access to multiple correlated simulations (tasks), it is common to fit a multitask GP (MTGP) surrogate which is capable of capturing both inter-task and intra-task correlations. However, with a total of $N$ evaluations across all tasks, fitting an MTGP is often infeasible due to the $\mathcal{O}(N^2)$ storage and $\mathcal{O}(N^3)$ computations required to store, solve a linear system in, and compute the determinant of the $N \times N$ Gram matrix of pairwise kernel evaluations. In the single-task setting, one may reduce the required storage to $\mathcal{O}(N)$ and computations to $\mathcal{O}(N \log N)$ by fitting "fast GPs" which pair low-discrepancy design points from quasi-Monte Carlo to special kernel forms which yields nicely structured Gram matrices, e.g., circulant matrices. This article generalizes fast GPs to fast MTGPs which pair low-discrepancy design points for each task to special product kernel forms which yields nicely structured block Gram matrices, e.g., circulant block matrices. An algorithm is presented to efficiently store, invert, and compute the determinant of such Gram matrices with optionally different sampling nodes and different sample sizes for each task. Derivations for fast MTGP Bayesian cubature are also provided. A GPU-compatible, open-source Python implementation is made available in the FastGPs package (https://alegresor.github.io/fastgps/). We validate the efficiency of our algorithm and implementation compared to standard techniques on a range of problems with low numbers of tasks and large sample sizes.
翻译:高斯过程(GP)回归是一种强大的概率建模技术,具有内置的不确定性量化能力。当面临多个相关仿真(任务)时,通常拟合一个能够捕捉任务间和任务内相关性的多任务GP(MTGP)代理模型。然而,在所有任务共有$N$次评估的情况下,由于需要存储、求解线性系统并计算$N \times N$成对核评估Gram矩阵的行列式,所需的$\mathcal{O}(N^2)$存储和$\mathcal{O}(N^3)$计算量往往使拟合MTGP变得不可行。在单任务场景中,通过拟合"快速GP"——将拟蒙特卡洛中的低差异设计点与特殊核形式配对,从而产生结构良好的Gram矩阵(如循环矩阵)——可将所需存储降至$\mathcal{O}(N)$,计算量降至$\mathcal{O}(N \log N)$。本文将快速GP推广至快速MTGP,通过将每个任务的低差异设计点与特殊乘积核形式配对,生成结构良好的分块Gram矩阵(如循环分块矩阵)。我们提出了一种算法,能够高效存储、求逆并计算此类Gram矩阵的行列式,且支持每个任务可选的不同采样节点和不同样本量。同时给出了快速MTGP贝叶斯立方体法的推导。我们在FastGPs软件包(https://alegresor.github.io/fastgps/)中提供了一个兼容GPU的开源Python实现。针对任务数较少且样本量较大的系列问题,我们通过与标准技术的对比验证了所提算法及实现的高效性。