Дифференциальные уравнения
ОДУ и УЧП в машинном обучении
Neural ODE заменяет дискретные слои нейросети непрерывной динамикой - при этом вся глубина сети требует O(1) памяти для обратного распространения. PINN решают PDE без сетки. Диффузионные модели генерируют изображения через обращение стохастического дифференциального уравнения. Это объединение ML и классических ОДУ/УЧП - одно из ключевых направлений 2020х годов.
- Генерация изображений: DDPM как дискретизация SDE $dx = f(x,t)dt + g(t)dW$
- Физика: PINN решают уравнения Навье-Стокса, Шрёдингера, Максвелла без сетки
- Молекулярная динамика: Neural ODE для моделирования траекторий молекул
- Биология: SDE для популяционной динамики со случайными вспышками
- Финансы: геометрическое броуновское движение $dS = \mu S dt + \sigma S dW$ для опционов
Цели урока
- Понимать Neural ODE как непрерывный предел residual-сети и применять adjoint-метод для $O(1)$-памяти
- Строить PINN: потеря из PDE-невязки и граничных условий, минимизация через автодифференцирование
- Интерпретировать DDPM как дискретизацию SDE и связывать score-функцию с ланжевеновой динамикой
Предварительные знания
- Задача Коши для ОДУ: существование и единственность
- Стохастическое исчисление Ито: $dX = f(X,t)dt + g(t)dW$
- Автодифференцирование и backpropagation
Neural ODE и adjoint-метод
Neural ODE: $\dot{h}(t) = f_\theta(h(t), t)$, $h(T) = \mathrm{ODESolve}(f_\theta, h_0, T)$. Это непрерывный аналог residual-блока. Adjoint-метод вычисляет $\frac{\partial L}{\partial \theta}$ и $\frac{\partial L}{\partial h_0}$ через дополнительное ОДУ на $a(t) = \frac{\partial L}{\partial h(t)}$: $\dot{a} = -a^T \frac{\partial f}{\partial h}$. Требуется $O(1)$ памяти независимо от числа шагов интегрирования.
PINN: физически-информированные нейросети
PINN минимизирует $L = L_{PDE} + L_{BC} + L_{data}$, где $L_{PDE} = \|\mathcal{N}[u_\theta]\|^2$ - невязка в коллокационных точках, $L_{BC}$ - ошибка граничных условий. Автодифференцирование вычисляет $\frac{\partial u_\theta}{\partial x}$ и $\frac{\partial^2 u_\theta}{\partial x^2}$ точно. Не нужна сетка: точки выбираются случайно.
Диффузионные модели как SDE
DDPM прямой процесс: $q(x_t|x_{t-1}) = \mathcal{N}(\sqrt{1-\beta_t}x_{t-1}, \beta_t I)$ - дискретизация $dx = -\frac{\beta}{2}xdt + \sqrt{\beta}dW$. Обратный процесс: $p_\theta(x_{t-1}|x_t)$ - обращение SDE через score-функцию $\nabla_x \log p(x)$. Score matching обучает $s_\theta(x,t) \approx \nabla_x \log p_t(x)$ - уравнение ланжевеновой динамики.
Neural ODEs
Chen et al., NeurIPS 2018: вместо стека дискретных слоёв ResNet определяет непрерывную динамику dh/dt = f(h(t), t, theta), где f - нейросеть. Выход - решение ОДУ при t=T. ResNet с L слоями - это метод Эйлера с шагом Deltat=1 для этого же уравнения. Neural ODE - предельный переход L->inf.
Ключевое число: Neural ODE с 64 скрытыми единицами требует 400 параметров против 3200 у ResNet-4. При одинаковой точности на MNIST - разница в 8 раз по памяти.
Adjoint метод: градиент вычисляется через сопряжённое ОДУ da/dt = -a(t)^T (df/dh), решаемое назад по времени. Не нужно хранить промежуточные h(t) - только начало и конец. Для RNN с T шагами память O(T); для Neural ODE - O(1) независимо от числа шагов интегратора.
Neural ODE плохо работает для изображений напрямую - нет аналога свёрток. Лучшие применения: нерегулярные временные ряды (PhysioNet), нормирующие потоки (FFJORD), латентная динамика в Latent ODE.
Почему adjoint метод в Neural ODE экономит память по сравнению с backprop через шаги интегратора?
Adjoint метод вычисляет градиенты, решая вспомогательное (сопряжённое) ОДУ в обратном времени. Это требует O(1) памяти вместо O(T) для хранения всей траектории при backprop через шаги интегратора.
Physics-Informed Neural Networks
Raissi et al., 2019: нейросеть u(x,t;theta) обучается удовлетворять уравнению в частных производных как части функции потерь. Никакой сетки - только точки коллокации. NVIDIA и Google используют PINN для термического управления чипами, где перестройка FEM-сетки при каждом изменении геометрии обходится дорого.
Слабое место PINN: медленная сходимость при резких фронтах (малое nu в уравнении Бюргерса, ударные волны). Активные исследования 2023-2025: curriculum learning по точкам коллокации, hp-PINN с адаптивным выбором точек, causality-respecting training.
Как PINN включает уравнение в частных производных в процесс обучения без конечно-разностной сетки?
PINN обучается без сетки: уравнение PDE проверяется в случайных точках (коллокационных), где невязка минимизируется через автодифференцирование. Это позволяет работать в произвольных областях без конечно-разностной или конечно-элементной дискретизации.
Диффузионные модели как СДУ
Song et al., 2021: DDPM и Score Matching - дискретизации стохастических дифференциальных уравнений. Прямой процесс (зашумление): dx = f(x,t)dt + g(t)dW. Обратный процесс (генерация): dx = [f - g^2 * score(x,t)]dt + g*dW_bar, где score(x,t) = nabla_x log p_t(x).
Три интерпретации DDPM: (1) иерархическая вариационная автоэнкодер-цепочка, (2) score matching при разных масштабах шума, (3) дискретизация СДУ Ланжевена. Perspective Song 2021 объединяет все три и позволяет использовать произвольные SDE-солверы - DDIM, DPM++, EDM.
Что предсказывает нейросеть eps_theta в DDPM и как это связано со score function?
Сеть eps_theta предсказывает шум, которым x_0 был искажён до x_t. Score function - градиент log-плотности - пропорционален отрицательному предсказанному шуму, масштабированному на sqrt(1 - alpha_bar_t).
Мосты Шрёдингера
DDPM переносит данные в белый шум N(0,I). Мост Шрёдингера решает другую задачу: найти наиболее вероятный стохастический процесс, переносящий одно произвольное распределение p_0 в другое p_1 при минимуме KL-дивергенции от опорного процесса. DeepMind и FAIR используют это для image-to-image трансляции и single-cell RNA-seq (эволюция клеток во времени).
| Метод | Откуда | Куда | Ключевая идея |
|---|---|---|---|
| DDPM | данные x_0 | N(0,I) | score matching + SDE |
| Flow Matching | данные x_0 | N(0,I) | детерминированное поле скоростей |
| Schrodinger Bridge | p_0 (любое) | p_1 (любое) | оптимальный транспорт + IPFP |
| Neural ODE (NF) | данные | N(0,I) | непрерывный normalizing flow |
Преимущество над conditional GAN: нет коллапса мод, нет adversarial training нестабильности, лучший OOD перенос. Недостаток: IPFP требует итеративного обучения двух сетей поочерёдно - медленнее, чем DDPM.
Чем мост Шрёдингера принципиально отличается от DDPM?
DDPM обязательно проходит через N(0,I) как промежуточное распределение. Мост Шрёдингера находит оптимальный стохастический транспорт напрямую между любыми p_0 и p_1, не требуя фиксированного шума.
Итоги
- Neural ODE: непрерывная динамика $\dot{h} = f_\theta(h,t)$; adjoint-метод даёт $O(1)$-память для градиентов
- PINN: потеря = PDE-невязка + граничные условия; автодифф вычисляет производные без сетки
- Диффузионные модели = SDE прямой/обратный процесс; обратный определяется score-функцией $\nabla \log p$
Связь с другими темами
Neural ODE объединяет динамические системы и глубокое обучение. Схема адъюнктов используется также в оптимальном управлении (уравнение Гамильтона-Якоби-Беллмана). Мосты Шрёдингера дают оптимальный транспорт в вероятностном смысле - обобщение диффузионных моделей.
- Связанные темы — развивает
Вопросы для размышления
- Почему adjoint-метод требует O(1) памяти, хотя стандартный backprop требует хранить все промежуточные состояния?
- PINN могут плохо работать при резких изменениях решения (ударные волны). Почему и как можно это исправить?
- Score-функция $\nabla_x \log p(x)$ ненормирована. Как score matching обучает её без знания нормировочной константы?