Динамические системы
Непрерывные динамические системы
Задайте нейросети обучаться с learning rate 1.0 вместо 0.001. Через 10 шагов - потеря улетает в бесконечность. Задайте 0.000001 - сходится, но за 10 000 эпох. Между этими крайностями - узкое окно стабильности. Математика этого окна - теория устойчивости непрерывных динамических систем. Та же математика объясняет, почему маятник останавливается, а не качается вечно, и почему популяции хищников и жертв колеблются циклически.
- **Gradient flow в ML:** непрерывный аналог SGD - $d\theta/dt = -\nabla L(\theta)$ - динамическая система с минимумами потерь как устойчивыми равновесиями
- **RNN и ванишинг-градиент:** спектральный радиус матрицы весов определяет устойчивость; LSTM удерживает систему у границы Re(λ) = 0
- **Эпидемиология:** SIR-модель $dI/dt = \beta SI - \gamma I$ - непрерывная динамическая система; равновесие и его устойчивость определяют, будет ли эпидемия или затухнет
Предварительные знания
Поток: непрерывная эволюция
Обучение нейросети - это итерация динамической системы. $\theta_{t+1} = \theta_t - \alpha \nabla L$. Скорость обучения $\alpha$ - шаг дискретизации. Слишком большой - и система уходит в хаос. Именно поэтому learning rate scheduling - не эвристика, а теорема устойчивости. Теперь вопрос: что происходит, когда шаг стремится к нулю и $n \to \infty$? Возникает **непрерывная динамическая система** - дифференциальное уравнение $dx/dt = f(x)$.
**Поток (flow)** - непрерывная эволюция системы, задаваемая ОДУ: **dx/dt = f(x)**. Здесь $x(t)$ - состояние системы в момент $t$, $f(x)$ - векторное поле скоростей. Решение $\varphi_t(x_0)$ - положение системы в момент $t$ при старте из $x_0$. Для системы $n$ уравнений: $x \in \mathbb{R}^n$, $f: \mathbb{R}^n \to \mathbb{R}^n$.
**Метод Эйлера** - мост между дискретным и непрерывным. Шаг $x(t + \Delta t) \approx x(t) + f(x(t)) \cdot \Delta t$. При $\Delta t \to 0$ дискретная итерация превращается в поток. Chen et al. 2018 использовали это буквально: ResNet $x_{l+1} = x_l + F(x_l)$ при бесконечном числе слоёв - это ODE $dx/dt = F(x)$ (Neural ODE). Обратный проход через ODE-решатель вместо BPTT - 70% экономии памяти.
| Свойство | Дискретная система | Непрерывная система |
|---|---|---|
| Закон | x_{n+1} = f(x_n) | dx/dt = f(x) |
| Время | Дискретное: n = 0, 1, 2, ... | Непрерывное: t ∈ [0, ∞) |
| Решение | Последовательность x_n | Функция x(t) |
| Визуализация | Cobweb-диаграмма | Фазовый портрет |
| Неподвижная точка | f(x*) = x* | f(x*) = 0 |
| Устойчивость | |f'(x*)| < 1 | Re(λ) < 0 |
Ньютон: второй закон как ОДУ
1687. Principia Mathematica. Ньютон записывает F = ma - и создаёт непрерывную динамическую систему второго порядка: $m \frac{d^2x}{dt^2} = F(x, \frac{dx}{dt})$. Каждая задача механики - частный случай этой формулы. Маятник, планеты, приливы - одно уравнение. Дифференциальное исчисление было изобретено именно для того, чтобы писать и решать такие уравнения.
В чём ключевое отличие неподвижной точки дискретной системы f(x*) = x* от равновесия непрерывной системы dx/dt = f(x)?
Точки равновесия
RNN с матрицей весов, у которой спектральный радиус больше 1: каждый шаг умножает ошибку на число больше 1. Через 100 шагов - взрыв градиентов. Спектральный радиус меньше 1: активации затухают, ничего не запоминается. Между этими двумя режимами - узкое окно устойчивости. Граница между ними - **точка равновесия**. Формально: x*, где $f(x^*) = 0$.
**Точка равновесия** (equilibrium) системы $dx/dt = f(x)$ - это $x^*$, для которой $f(x^*) = 0$. Другие названия: стационарная точка, критическая точка. Для системы $n$ уравнений: $f_1(x^*) = 0, \ldots, f_n(x^*) = 0$ - это система $n$ алгебраических уравнений.
Интуиция: равновесие - положение покоя. Шарик на дне чаши - устойчивое равновесие: толкни, вернётся. Шарик на вершине холма - неустойчивое: толкни, укатится. Минимум функции потерь нейросети - устойчивое равновесие градиентного потока. Седловая точка - неустойчивое, но в высоких размерностях они чаще встречаются, чем истинные минимумы.
| Физическая система | Уравнение dx/dt = f(x) | Равновесия |
|---|---|---|
| Охлаждение тела (Ньютон) | dT/dt = -k(T - T_среды) | T* = T_среды |
| Маятник с трением | dθ/dt = ω, dω/dt = -(g/l)sinθ - bω | θ* = 0 (низ) |
| SIR-эпидемия | dI/dt = βSI - γI | I* = 0 или S* = γ/β |
| Популяция с ёмкостью | dN/dt = rN(1-N/K) | N* = 0, N* = K |
Не путать: в дискретной системе ищем f(x*) = x* (функция возвращает ту же точку). В непрерывной - f(x*) = 0 (скорость равна нулю). Это принципиально разные уравнения. Первое - условие неподвижности при применении отображения. Второе - условие остановки потока.
Система dx/dt = x(1-x)(x-2) имеет равновесия в точках:
Фазовый портрет
1963. Метеоролог Лоренц запускает симуляцию погоды повторно - с числами, округлёнными до 3 знаков вместо 6. Траектории расходятся полностью. Он видит это на графике: два пути, стартовавших рядом, уходят в разные стороны пространства. Этот график - **фазовый портрет**. В нём видно всё поведение системы сразу, без численного интегрирования каждой траектории по отдельности.
**Фазовый портрет** - совокупность всех траекторий системы $dx/dt = f(x)$ в фазовом пространстве. Для 1D: стрелки на числовой прямой (где $f > 0$ - вправо, где $f < 0$ - влево). Для 2D: поле векторов на плоскости. **Ключевое свойство**: траектории не пересекаются - следствие теоремы единственности решений ОДУ.
Для одномерной системы $dx/dt = f(x)$ фазовый портрет читается мгновенно: где $f(x) > 0$ - стрелка вправо (x растёт), где $f(x) < 0$ - стрелка влево (x убывает), где $f(x) = 0$ - равновесие. Стрелки с обеих сторон направлены к точке - устойчивое. Стрелки от неё - неустойчивое. Этот анализ не требует ни одного вычисления.
Непересечение траекторий - не техническая деталь. Это **детерминизм**: если две траектории пересеклись в точке p, из p выходят два разных решения - противоречие теореме единственности. В фазовом пространстве каждая точка принадлежит ровно одной траектории. Это делает фазовый портрет полной картой системы.
На фазовом портрете 1D системы dx/dt = x(1-x)(x-2) стрелки указывают вправо при x ∈ (0, 1) и влево при x ∈ (1, 2). Что это значит для равновесия x* = 1?
Линеаризация и классификация равновесий
Почему LSTM решает проблему взрывных/затухающих градиентов в RNN? Ответ - в собственных значениях якобиана матрицы весов. Если $|\lambda| > 1$ - градиенты взрываются через 100 шагов. Если $|\lambda| < 1$ - затухают. LSTM не меняет матему - он добавляет вентили, которые адаптивно держат $\text{Re}(\lambda) \approx 0$. Это анализ устойчивости в чистом виде.
**Линеаризация** системы $dx/dt = f(x)$ в окрестности равновесия $x^*$: пусть $x = x^* + \delta x$ (малое отклонение). Тогда $d(\delta x)/dt \approx J \cdot \delta x$, где $J = \partial f / \partial x \big|_{x^*}$ - **матрица Якоби** в точке $x^*$. Устойчивость определяется собственными значениями $\lambda$ матрицы $J$.
| Собственные значения λ | Тип равновесия | Поведение траекторий |
|---|---|---|
| λ₁ < λ₂ < 0 (вещественные) | Устойчивый узел | Монотонное затухание к x* |
| 0 < λ₁ < λ₂ (вещественные) | Неустойчивый узел | Монотонный уход от x* |
| λ₁ < 0 < λ₂ (вещественные) | Седло | Притяжение по одной оси, отталкивание по другой |
| Re(λ) < 0, Im(λ) ≠ 0 | Устойчивый фокус | Затухающие колебания (спираль внутрь) |
| Re(λ) > 0, Im(λ) ≠ 0 | Неустойчивый фокус | Растущие колебания (спираль наружу) |
| Re(λ) = 0, Im(λ) ≠ 0 | Центр | Замкнутые орбиты (вечные колебания) |
**Правило:** если все $\text{Re}(\lambda) < 0$ - устойчиво. Если хотя бы одно $\text{Re}(\lambda) > 0$ - неустойчиво. Если все $\text{Re}(\lambda) \leq 0$ и есть $\text{Re}(\lambda) = 0$ - пограничный случай, линеаризация не отвечает (нужен метод Ляпунова). PageRank сходится именно потому, что у матрицы перехода единственное собственное значение 1, остальные - меньше 1 по модулю.
Ограничение линеаризации: она верна только вблизи равновесия. Особенно опасен случай центра (Re(λ) = 0): нелинейные члены могут превратить его в устойчивый или неустойчивый фокус. Система ṙ = r^3 имеет λ = 0, но неустойчива - линеаризация молчит, нелинейность решает.
Линеаризация всегда даёт правильный ответ об устойчивости равновесия
Линеаризация надёжна когда все Re(λ) ≠ 0 (гиперболическое равновесие). На границе устойчивости Re(λ) = 0 нелинейные эффекты могут полностью изменить тип: центр может стать фокусом, и направление - зависит от нелинейных членов.
Линеаризация отбрасывает члены порядка O(|δx|²). Когда Re(λ) ≠ 0, линейные члены доминируют - это безопасно. При Re(λ) = 0 линейные и нелинейные эффекты сравнимы, и именно отброшенные члены решают вопрос устойчивости. Пример: ṙ = r³ имеет λ = 0, но неустойчива.
Ключевые идеи
- **Поток $dx/dt = f(x)$** - непрерывный аналог итерации; при $\Delta t \to 0$ градиентный спуск становится gradient flow
- **Равновесие $f(x^*) = 0$** - не $f(x^*) = x^*$! Это состояние покоя непрерывной системы; минимумы, сёдла и максимумы потерь - его частные случаи
- **Фазовый портрет** показывает все траектории сразу; непересечение - следствие детерминизма (теорема единственности ОДУ)
- **Линеаризация: якобиан + собственные значения** - узел, фокус, седло, центр; Re(λ) < 0 - устойчивость, Re(λ) > 0 - взрыв
Связанные темы
Непрерывные динамические системы - мост между дискретной динамикой и теорией устойчивости:
- Дискретные динамические системы — Дискретный предшественник: итерация как стробоскопическая запись потока
- Теория устойчивости Ляпунова — Метод Ляпунова - альтернатива линеаризации, работающий глобально
- Бифуркации — Что происходит, когда собственные значения пересекают мнимую ось?
Вопросы для размышления
- Маятник без трения имеет центр (Re(λ) = 0). Добавив малое трение, получаем устойчивый фокус. Почему маленькое изменение модели так радикально меняет долгосрочное поведение?
- Gradient flow $d\theta/dt = -\nabla L$ для квадратичной потери $L = \theta^2$ сходится экспоненциально. Что будет, если потеря невыпуклая и имеет несколько равновесий? К какому из них придёт система?
- Траектории в фазовом пространстве не пересекаются. Как это свойство связано с детерминизмом физических законов и воспроизводимостью ML-экспериментов?
Связанные уроки
- dyn-01 — Дискретная итерация - основа перед непрерывным потоком
- dyn-03 — Ляпунов строится поверх понятия равновесия
- dyn-04 — Бифуркации возникают при пересечении мнимой оси собственными значениями
- de-01 — ОДУ - инструментарий непрерывных систем
- calc-06-derivative-intro — Производная - язык непрерывного изменения
- calc-19-gradient