Случайные процессы
Гауссовские процессы: Байес над функциями
DeepMind использует гауссовские процессы для тюнинга гиперпараметров AlphaFold - в 10-100x эффективнее grid search. GP - это распределение над функциями: вместо точечного предсказания получается полная неопределённость над всем пространством.
- Google Vizier и Optuna: GP как surrogate model для Bayesian Optimization гиперпараметров
- AlphaFold и AlphaStar: DeepMind BO с GP для тюнинга архитектур
- Геостатистика Kriging: оценка нефтяных запасов и климатических переменных USGS
- Робототехника PILCO: GP-модели динамики для sample-efficient RL управления
- A/B тестирование: GP regression для интерполяции метрик между временными точками
- GPyTorch: масштабируемые GP на GPU через inducing points и sparse approximation
DeepMind тюнит AlphaFold через GP: Bayesian optimization в production
DeepMind, Google Vizier, Optuna - все используют **Gaussian Process Regression** для Bayesian hyperparameter optimization. GP - это distribution over functions: вместо одного предсказания получаем среднее и неопределённость. Именно это делает GP идеальным сюррогатом для дорогих black-box функций.
Формально: GP f ~ GP(m, k) означает, что для любых точек x₁,...,xₙ вектор [f(x₁),...,f(xₙ)] имеет совместное нормальное распределение N(m(x), K), где Kᵢⱼ = k(xᵢ, xⱼ).
Метод кригинга (kriging) в геостатистике - это GP regression для пространственных данных. Используется для оценки запасов нефти, почвенного загрязнения, климатических переменных. Kriging = GP regression, изобретён независимо в горной инженерии (Криге, 1951).
GP regression даёт μ(x*) и σ²(x*). Почему σ²(x*) принципиально важна для Bayesian optimization?
Acquisition functions (UCB = μ + κσ, EI) явно используют σ²: без неопределённости оптимизация просто жадно следует μ и застревает в локальных минимумах. Обычной регрессии uncertainty не нужна, там цель - предсказание, а не выбор следующей точки.
Ядра ковариации: выбор определяет всё
Ядро k(x, x') - это всё, что определяет поведение GP. RBF: бесконечно гладкие функции. Matérn 5/2: дважды дифференцируемые (реалистичнее для физических систем). Periodic: сезонные паттерны. Ядра можно складывать и перемножать для получения составных структур.
Подбор ядра - это prior knowledge engineering. Для временных рядов: seasonal × trend = ExpSineSquared × RBF. Для пространственных данных: Matérn 5/2 (изотропный). Гиперпараметры (l, σ, p) оптимизируются через marginal likelihood: log p(y|X) = максимизация относительно гиперпараметров.
Для моделирования месячных продаж (сезонность + trend) какое составное ядро подходит лучше всего?
Periodic ядро захватывает годовую сезонность, RBF задаёт долгосрочный trend и ограничивает корреляцию. Произведение: сезонные паттерны убывают со временем. Для полной модели: (Periodic × RBF) + RBF (trend) + WhiteKernel (шум).
GP posterior и Bayesian optimization
GP regression даёт аналитический posterior. При наблюдениях y = f(X) + ε, ε ~ N(0, σ²ₙI): posterior в тестовых точках X* - снова GP с замкнутыми формулами для μ* и Σ*.
Сложность GP: O(n³) для обучения (Cholesky разложение K). При n > 10,000 применяют sparse GP: inducing points (SVGP, GPyTorch), spectral methods (SGPR). GPyTorch на GPU с inducing points работает с n ~ 10⁶.
Posterior variance σ²*(x*) при σₙ=0: что происходит с ней в обучающих точках?
При σₙ=0 и x* = xᵢ: K* = K[i,:], тогда K*K⁻¹K*ᵀ = K[i,:]K⁻¹K[:,i] = k(xᵢ,xᵢ), поэтому σ²* = 0 - GP интерполирует данные точно. Далеко от данных σ²*(x*) → k(x*,x*): возвращается к prior uncertainty.
- **Bayesian Optimization** (Поиск гиперпараметров, архитектур): Google Vizier, Optuna, Ax: GP как surrogate model + acquisition function (UCB, EI). DeepMind использует для тюнинга AlphaFold, AlphaStar. Эффективнее grid search в 10-100x.
- **AutoML / NAS** (Neural Architecture Search): Поиск архитектур нейросетей через BO с GP surrogate. SMAC, BOHB комбинируют GP с early stopping. Нашли архитектуры лучше, чем ручные дизайны.
- **Геостатистика (Kriging)** (Пространственная интерполяция): Оценка запасов нефти, климатических переменных, загрязнения почв. Kriging = GP regression с стационарными ядрами. USGS, климатические центры.
- **Робототехника** (Модели динамики с uncertainty): GP-модели динамики робота: явная uncertainty -> безопасное планирование. PILCO (model-based RL с GP): рекордно sample-efficient управление маятником.
Упражнения
- Почему GP называют "distribution over functions", а не просто регрессионной моделью? — GP задаёт prior над пространством функций. Posterior после наблюдений тоже является GP. Это бесконечномерное распределение с маргиналями в каждой точке
Ключевые идеи
- GP = distribution over functions: f ~ GP(m, k), любое конечное подмножество ~ Gaussian
- Ядро k(x,x') кодирует структуру: RBF (гладко), Matérn (реалистично), Periodic
- Posterior: μ* = K*(K+σ²ₙI)⁻¹y, σ²* = k** - K*(K+σ²ₙI)⁻¹K*ᵀ - аналитически
- Marginal likelihood: автоматический выбор гиперпараметров ядра
- Bayesian optimization: GP surrogate + UCB/EI acquisition function
- Сложность O(n³): sparse GP (inducing points) для больших данных
Связанные темы
GP объединяет стохастику, статистику и machine learning.
- Броуновское движение — BM = GP(0, min(s,t)) - частный случай с конкретным ядром
- Байесовская статистика — GP - non-parametric Bayesian approach: prior/posterior в бесконечномерном пространстве