Динамические системы
Теория устойчивости Ляпунова
GAN (Goodfellow, 2014). Две сети - генератор G и дискриминатор D - в игре минимакс. Иногда обучение расходится: mode collapse, oscillation, training instability. Теория Ляпунова объясняет когда и почему: если нет функции Ляпунова для dynamics (G, D) - нет гарантии сходимости. Именно поэтому WGAN переформулировал игру - чтобы получить Ляпунов-совместимую динамику. Ляпунов 1892 предсказал проблему GAN за сто двадцать два года до Гудфеллоу.
- **GAN и WGAN:** gradient penalty в WGAN - это Ляпунов-условие для игровой динамики; W_1 норма убывает вдоль обучения как функция Ляпунова
- **RL convergence:** policy gradient сходится если value function служит функцией Ляпунова; Q-learning устойчив при Беллман-сжатии V_dot < 0
- **Robotics CLF:** Boston Dynamics использует Control Lyapunov Functions в MPC-контроллерах равновесия - гарантия устойчивости встроена в задачу оптимизации
Предварительные знания
Функция Ляпунова: обобщённая энергия
2014 год. Гудфеллоу предлагает GAN - генератор G против дискриминатора D в игре минимакс. Первые эксперименты впечатляют. Но через несколько эпох - коллапс: генератор начинает выдавать одно и то же изображение, дискриминатор перестаёт учиться, потери осциллируют без сходимости. **Mode collapse. Training instability.** Почему? Потому что для динамики (G, D) не существует функции Ляпунова - нет доказательства сходимости. Это не баг в коде. Это теорема об отсутствии гарантий.
Линеаризация из прошлого урока ломается при Re(λ) = 0 - и молчит на большом отклонении. Нужен инструмент, который работает глобально. **Идея Ляпунова (1892):** не решать уравнение, а найти «энергию» системы - скалярную функцию V(x), которая не растёт вдоль траекторий. Если энергия убывает - система успокаивается, куда бы она ни стартовала.
**Функция Ляпунова** V(x) для системы dx/dt = f(x) с равновесием x* = 0 - это непрерывно дифференцируемая функция, удовлетворяющая: 1. V(0) = 0 2. V(x) > 0 при x ≠ 0 (положительная определённость) 3. V̇(x) = ∇V · f(x) ≤ 0 вдоль траекторий Если V̇ ≤ 0 - устойчивость по Ляпунову. Если V̇ < 0 строго - асимптотическая устойчивость.
Физический образ: шарик на поверхности чаши. V(x) - высота (потенциальная энергия). Трение обеспечивает V̇ < 0 - шарик скатывается. Не нужно вычислять траекторию! Достаточно знать, что высота убывает - шарик придёт на дно. Именно это и делает Ляпунов с динамическими системами произвольной размерности.
| Условие | Что доказывает | ML-пример |
|---|---|---|
| V > 0, V̇ ≤ 0 | Устойчивость по Ляпунову | Gradient flow остаётся в окрестности минимума |
| V > 0, V̇ < 0 | Асимптотическая устойчивость | SGD сходится к минимуму из данного basin |
| V > 0, V̇ > 0 | Неустойчивость (теорема Четаева) | GAN без Lipschitz constraint - гарантированный взрыв |
Александр Ляпунов, 1892
Диссертация «Общая задача об устойчивости движения» - 251 страница, защищена в Харькове. Ляпунов работал над задачей устойчивости вращения небесных тел. Метод функций - универсален: он не требует решения уравнения. Достаточно найти подходящую V. За сто двадцать два года до моды на GAN Ляпунов сформулировал именно то условие, которого в GAN не хватает.
Для системы dx/dt = -x³ предложена функция V(x) = x². Вычислите V̇ и определите тип устойчивости.
Асимптотическая устойчивость и basin of attraction
Policy gradient в RL сходится - но не всегда. Условие сходимости: value function V(s) служит функцией Ляпунова для policy dynamics. Если V̇ < 0 строго вдоль обновлений политики - алгоритм асимптотически устойчив. Если V̇ ≤ 0 - политика не улетит за пределы, но может зависнуть в цикле. Разница между «не хуже» и «станет лучше» - это и есть асимптотическая устойчивость.
**Теорема (Ляпунов):** Если существует V(x) с V(0)=0, V(x)>0 и **V̇(x) < 0** строго при x ≠ 0, то равновесие x*=0 **асимптотически устойчиво**: x(t) → 0 при t → ∞ из любого начального условия в некоторой окрестности. Эта окрестность называется **basin of attraction** (область притяжения). Если дополнительно V(x) → ∞ при ||x|| → ∞ (радиальная неограниченность), то устойчивость **глобальная** - basin of attraction = всё пространство.
Q-learning устойчив при выполнении условий уравнения Беллмана - это тоже Ляпунов. Оператор Беллмана T - сжимающее отображение, V(Q) = ||Q - Q*||_inf убывает при каждой итерации. V̇ < 0 в непрерывном времени. Basin of attraction - всё пространство Q-значений. Отсюда гарантия сходимости при табличном Q-learning.
| Свойство | Устойчивость Ляпунова | Асимптотическая устойчивость |
|---|---|---|
| Условие V̇ | V̇ ≤ 0 | V̇ < 0 строго |
| Поведение | Остаётся в окрестности | Сходится к x* |
| Пример физика | Маятник без трения (центр) | Маятник с трением (фокус) |
| Пример ML | SGD с нулевым LR на плато | Adam с decay, Q-learning Bellman |
| Для управления | Недостаточно | Минимальное требование к контроллеру |
Распространённая ошибка: путать «V̇ ≤ 0 всюду» и «V̇ < 0 всюду». Маятник с трением: V̇ = -0.3y². Это ≤ 0, но = 0 на всей оси y = 0 (не только в начале координат). Строгая отрицательная определённость не выполнена. Для доказательства сходимости - нужен принцип ЛаСалля.
Маятник без трения имеет V̇ = 0. Маятник с трением имеет V̇ = -γω² ≤ 0. В чём принципиальная разница в поведении?
Принцип инвариантности ЛаСалля
WGAN (Arjovsky, 2017) - ответ на нестабильность GAN. Вместо кросс-энтропии: расстояние Вассерштейна W_1. Gradient penalty обеспечивает 1-Lipschitz условие на дискриминатор. Математически это не просто регуляризация - это конструкция функции Ляпунова для потоковой динамики (G, D). W_1 норма убывает вдоль траектории обучения. V̇ ≤ 0 - но не строго: в точках где градиенты обнуляются V̇ = 0. Для доказательства сходимости нужен именно принцип ЛаСалля.
**Принцип инвариантности ЛаСалля:** Пусть V̇(x) ≤ 0 в области Omega. Обозначим S = {x : V̇(x) = 0} - множество где «энергия» не убывает. Пусть M - наибольшее инвариантное подмножество S (траектория, стартовавшая в M, остаётся в M навсегда). Тогда все траектории из Omega сходятся к M. Алгоритм: 1. Найти V с V̇ ≤ 0 2. Определить S = {V̇ = 0} 3. Найти наибольшее инвариантное M ⊆ S 4. Все траектории -> M
Интуиция: шарик в чаше с трением. На оси omega = 0 (шарик на мгновение остановился) трение не работает. Но шарик не может застрять навсегда при theta ≠ 0 - гравитация снова запустит движение. Единственное место, где можно «остаться навсегда» - дно чаши (0, 0). ЛаСалль формализует эту очевидную физику для произвольных нелинейных систем.
Boston Dynamics использует Control Lyapunov Functions (CLF) в контроллерах равновесия. Robot Dog должен оставаться вертикальным после удара ногой - это задача на basin of attraction. MPC (Model Predictive Control) формулирует каждый шаг как задачу оптимизации с CLF-ограничением: V̇ ≤ -alpha*V. Гарантия устойчивости встроена в саму задачу - не эвристика, а теорема.
| Шаг ЛаСалля | Действие | Маятник с трением |
|---|---|---|
| 1 | Найти V с V̇ ≤ 0 | V = (1-cos theta) + omega^2/2, V̇ = -gamma*omega^2 |
| 2 | Определить S = {V̇ = 0} | S = {omega = 0} - вся ось theta |
| 3 | Найти инвариантное M ⊆ S | M = {(0,0), (pi,0)} |
| 4 | Все траектории -> M | Вблизи (0,0): x(t) -> (0,0) |
ЛаСалль - не замена теореме Ляпунова, а её расширение. Он позволяет доказать асимптотическую устойчивость когда V̇ ≤ 0 (не строго), если инвариантное множество M достаточно мало. Идеальный случай: M = {x*}. Если M больше - траектории сходятся к множеству, а не к точке (например, предельный цикл).
Если не удалось найти функцию Ляпунова, значит система неустойчива
Отсутствие найденной функции Ляпунова не доказывает неустойчивость. Функция может существовать, но быть непросто устроена. Метод Ляпунова - достаточное, не необходимое условие.
Нет общего алгоритма конструирования V для нелинейных систем. Для линейных: V = x^T P x где P из уравнения Ляпунова ATP + PA = -Q. Для нелинейных - поиск V это отдельная задача оптимизации (SOS programming, нейронные функции Ляпунова). Устойчивые системы с нетривиальными V существуют. Неустойчивость доказывается отдельно - через теорему Четаева.
Ключевые идеи
- **Функция Ляпунова V(x) > 0, V̇ ≤ 0** - обобщённая «энергия» которая не растёт вдоль траекторий; устойчивость без решения уравнения
- **V̇ < 0 строго** - асимптотическая устойчивость, x(t) -> 0; V̇ ≤ 0 - только Ляпунов-устойчивость (орбиты сохраняются)
- **Радиальная неограниченность** V -> inf при ||x|| -> inf даёт глобальную устойчивость из любой начальной точки (basin = всё пространство)
- **ЛаСалль:** даже при V̇ ≤ 0 траектории сходятся к наибольшему инвариантному подмножеству M ⊆ {V̇=0}; если M = {x*} - асимптотическая устойчивость
Связанные темы
Теория Ляпунова - центральный результат между анализом и теорией управления:
- Непрерывные динамические системы — Линеаризация - частный случай; Ляпунов работает там, где линеаризация бессильна (Re(lambda)=0, большие отклонения)
- Бифуркации — На границе устойчивости (V̇=0 в широкой области) возникают бифуркации - смена структуры фазового портрета
- Теория управления — CLF - основа дизайна стабилизирующих контроллеров в MPC и robotics
Вопросы для размышления
- WGAN не просто trick: W_1 норма - это функция Ляпунова для потоковой динамики (G, D). Gradient penalty создаёт условие V̇ ≤ 0. Почему обычный GAN эквивалентен системе без функции Ляпунова - и что это говорит о природе mode collapse?
- Для линейных систем V = x^T P x всегда существует если система устойчива (P из уравнения Ляпунова A^T P + PA = -Q). Для нелинейных - нет алгоритма. Как нейронные сети Ляпунова (Lyapunov neural networks) пытаются решить эту задачу - и почему это активная область исследований?
- Boston Dynamics гарантирует устойчивость равновесия через CLF в каждом шаге MPC. Что происходит если реальная динамика робота отличается от модели? Насколько robust теория Ляпунова к ошибкам модели?
Связанные уроки
- dyn-02 — Линеаризация - предшественник Ляпунова: работает не везде, где нужна теория устойчивости (только вблизи равновесия)
- dyn-04 — Бифуркации возникают на границе где V̇ = 0 в широкой области
- dyn-08 — CLF - управляющие функции Ляпунова в MPC и robotics
- de-03 — Системы ОДУ и устойчивость через собственные значения - предыстория метода
- cvx-01 — Выпуклые функции - частный случай функций Ляпунова для задач оптимизации
- de-01
- la-13-eigenvectors