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 以瀏覽我們的開源機器人專案。