Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Gaussian process regression

  • 又称: GPR, GP regression, kriging
  • 类别: Sensing › Perception outputs
  • 标签: machine-learning, uncertainty, bayesian-methods, mapping, regression

一种贝叶斯非参数回归方法,它把未知函数建模为高斯过程,在每个查询点同时给出预测均值和不确定性。

定义

高斯过程回归(Gaussian process regression,GPR)在函数上设定一个先验:假设任意有限个函数值服从联合高斯分布,其均值函数通常取为零,协方差由核函数 k(x, x') 给出,该核函数刻画了两个输入处的输出之间相关性的强弱。在带噪声的观测上对该先验进行条件化,得到的后验仍是一个高斯过程,在任何新输入处都有闭式的预测均值和方差。方差在数据附近较低,远离数据时增大,这正是 GPR 在机器人需要知道其模型在何处不可靠时有用的原因。标准参考文献是 Rasmussen 和 Williams 的 Gaussian Processes for Machine Learning(2006);在地质统计学中,同样的方法被称为克里金法(kriging)。

核函数决定了模型预期的函数类型。平方指数(RBF)核产生非常光滑的函数,而 Matérn 族允许更粗糙的函数。长度尺度、信号方差和噪声方差等核超参数通常通过最大化数据的边际似然来拟合。标准核是平稳的:它们假设处处具有相同的光滑度。地形高程、水温或污染物浓度等真实场往往在某些地方变化剧烈,而在另一些地方变化缓慢,这促使人们采用非平稳核,例如 AK 论文中的注意力核(attentive kernel)。

主要的实际限制是计算成本。精确 GPR 需要求解一个带 n × n 协方差矩阵的线性方程组,对于 n 个数据点,这需要 O(n³) 的时间和 O(n²) 的内存。基于诱导点的稀疏近似、局部 GP 模型和结构化核使其能够用于更大的数据集,并能在机器人机载运行。另一个需要注意的问题是,在超参数固定时,预测方差只取决于数据采集的位置,而与测得的数值无关,因此拟合不佳的核会给出误导性的不确定性。高斯噪声假设也很难拟合重尾的传感器误差。

为何重要

GPR 能从小数据集给出带不确定性的预测。机器人利用这种不确定性来决定下一步在哪里采样、对学习到的动力学模型应信任到什么程度,以及如何把稀疏的测量插值成连续的地图。

主要应用

  • 绘制温度、盐度或气体浓度等连续空间场的地图
  • 为基于模型的控制学习带不确定性的动力学模型
  • 控制器增益及其他参数的贝叶斯优化
  • 安全学习,即用不确定性界使探索保持在约束之内
  • 根据稀疏的距离数据进行地形建模

实际应用

一个环境监测团队运行一艘自主水面艇,在湖上测量水温。每次测量都带有其 GPS 位置标记,并被加入 GP 模型;随着数据积累,核超参数会被定期重新拟合。后验均值给出温度地图,后验方差显示哪些区域仍然了解不足。规划器在剩余电池预算内,把水面艇派往方差高的位置,或按其他信息度量选出的位置。随着数据集增大,团队改用带诱导点的稀疏 GP,使每次更新都足够快,能够支持在线重规划。

常见误解

  • GP 的不确定性总是可靠的 — 它的好坏取决于核函数及其超参数;错误的长度尺度会给出过于自信或过于保守的方差
  • GPR 无法扩展到大规模 — 精确推断的计算量是数据点数的三次方,但稀疏近似和局部近似可以处理大型数据集
  • 非参数意味着没有参数 — GP 仍然有核超参数;非参数是指模型的复杂度随数据增长,而不是事先固定

谁需要了解

  • 从事信息路径规划和环境监测的研究人员
  • 构建学习型动力学模型的工程师
  • 使用贝叶斯优化调参的控制工程师
  • 需要不确定性估计的机器学习从业者

相关技术

  • GPyTorch
  • GPflow
  • scikit-learn
  • 稀疏变分高斯过程(Sparse Variational Gaussian Processes)
  • 贝叶斯优化(Bayesian Optimization)

相关术语

  • Conformal Prediction
  • Robotic information gathering
  • Forward Dynamics Model
  • System Identification
  • Elevation Map

相关项目

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models

视频

  • Gaussian Processes: Mutual Information
  • Machine Learning Lecture 26 "Gaussian Processes" -Cornell CS4780 SP17: Kilian Weinberger

维基百科

  • 克里金法

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。