Дифференциальная геометрия
Кривые в пространстве
Word2Vec обнаруживает: king - man + woman ≈ queen. Это не метафора. Слова живут на многообразии в пространстве 300 измерений, и арифметика на нём работает иначе, чем в плоском пространстве. Лица на фотографиях тоже живут на многообразии - не в $\mathbb{R}^{786432}$ (каждый пиксель независим), а на низкоразмерном «лицевом многообразии». Дифференциальная геометрия - язык, которым описывается это пространство. И всё начинается с кривых.
- **Word embeddings и face recognition:** данные живут на многообразиях в высокоразмерном пространстве; геодезические расстояния на этих многообразиях - правильная метрика для сравнения объектов
- **Оптимизация на многообразиях (Riemannian SGD):** обучение языковых моделей с ортогональными ограничениями, коэффициенты LoRA - задача оптимизации на римановом многообразии
- **Компьютерная графика:** Bezier и B-spline кривые задаются параметрически; кривизна Френе-Серре контролирует гладкость траектории анимации и стыковку сплайнов
Параметрические кривые
**Параметрическая кривая** в пространстве - это вектор-функция r(t) = (x(t), y(t), z(t)), где t пробегает некоторый интервал. Параметр t часто интерпретируется как время: кривая - это траектория движущейся точки.
Вектор скорости r'(t) = (x'(t), y'(t), z'(t)) - касательный к кривой. Его длина |r'(t)| - скорость движения по кривой. Вектор ускорения r''(t) показывает, как меняется скорость.
| Кривая | r(t) | Особенность |
|---|---|---|
| Прямая | (a+bt, c+dt, e+ft) | r'' = 0, нулевая кривизна |
| Окружность | (R·cos(t), R·sin(t), 0) | Постоянная кривизна 1/R |
| Спираль (helix) | (cos(t), sin(t), ct) | Постоянная кривизна И кручение |
| Парабола | (t, t², 0) | Кривизна меняется |
| Линия Вивиани | (1+cos(t), sin(t), 2sin(t/2)) | Пересечение сферы и цилиндра |
**Регулярная кривая:** r'(t) ≠ 0 для всех t. Если скорость обращается в ноль, в этой точке может быть 'излом' (cusp). Все наши определения кривизны и кручения работают только для регулярных кривых.
Одну и ту же кривую можно задать разными параметризациями: r(t) и r(phi(t)) описывают одну геометрическую кривую при монотонной замене phi. Форма кривой не зависит от скорости прохождения.
Кривая r(t) = (t², t³, 0). В какой точке она нерегулярная (r'(t) = 0)?
Длина дуги и натуральная параметризация
**Длина дуги** от t=a до t=b: s = integral(|r'(t)| dt, a, b). Это сумма бесконечно малых 'шагов' |dr| = |r'|dt вдоль кривой. Длина не зависит от параметризации - это геометрический инвариант.
**Натуральная параметризация** - когда параметром является сама длина дуги s. Тогда |r'(s)| = 1 всегда: точка движется вдоль кривой с единичной скоростью. Это 'канонический' способ задать кривую.
**На практике** натуральная параметризация редко вычислима в замкнутой форме - интеграл |r'(t)|dt обычно не берётся. Но теоретически это мощный инструмент: все формулы дифференциальной геометрии упрощаются в натуральном параметре.
Переход от произвольного t к натуральному s: s(t) = integral(|r'(u)|du, a, t). Обратная функция t(s) существует для регулярных кривых (|r'| > 0). Тогда R(s) = r(t(s)) - натуральная параметризация.
Длина дуги - первый пример **геометрического инварианта**: величины, не зависящей от выбора координат или параметризации. Кривизна и кручение - тоже инварианты. В риманновой геометрии метрический тензор $g_{ij}$ обобщает формулу $ds = |r'(t)| dt$ на произвольные многообразия - именно так задаётся расстояние между вложениями слов или лицами в feature space.
Кривая r(t) = (3cos(t), 3sin(t), 4t). Чему равна скорость |r'(t)|?
Кривизна
**Кривизна** kappa измеряет, насколько быстро кривая отклоняется от прямой линии. Для натуральной параметризации: kappa = |r''(s)| - просто длина вектора ускорения при единичной скорости.
Для произвольного параметра t формула сложнее: kappa = |r' x r''| / |r'|³. Знаменатель корректирует неравномерность движения. **Радиус кривизны** R = 1/kappa - радиус окружности, лучше всего приближающей кривую в данной точке.
| Кривая | Кривизна kappa | Радиус кривизны R |
|---|---|---|
| Прямая линия | 0 | ∞ (не изгибается) |
| Окружность радиуса R | 1/R (постоянная) | R |
| Спираль (a·cos(t), a·sin(t), bt) | a/(a²+b²) | (a²+b²)/a |
| Парабола y=x² в вершине | 2 | 1/2 |
| Эллипс в вершине a | b²/a | a/b² |
**Соприкасающаяся окружность (osculating circle)** - окружность радиуса 1/kappa, касающаяся кривой в данной точке и имеющая тот же вектор кривизны. Она аппроксимирует кривую лучше, чем касательная (второй порядок vs первый).
Кривизна - **внутренний инвариант**: она не зависит от того, как кривая расположена в пространстве (повороты, сдвиги). Два физика, наблюдающие одну кривую из разных точек, вычислят одинаковую кривизну.
Прямая линия r(t) = (1+2t, 3-t, 5t). Какова её кривизна?
Кручение и формулы Френе
**Кручение** tau измеряет, насколько кривая выходит из своей соприкасающейся плоскости - 'закручивается' в третье измерение. Плоская кривая (в одной плоскости) имеет tau = 0. Спираль имеет постоянное кручение.
Формула: tau = (r' x r'') · r''' / |r' x r''|². Числитель - смешанное произведение трёх первых производных. Если r''' лежит в плоскости (r', r''), произведение нулевое - кривая плоская.
**Формулы Френе-Серре** - система уравнений, связывающая ортонормальный репер (T, N, B) вдоль кривой: T' = kappa·N, N' = -kappa·T + tau·B, B' = -tau·N. Здесь T - касательный, N - главная нормаль, B - бинормаль.
| Вектор | Определение | Геометрический смысл |
|---|---|---|
| T (касательный) | r'(s)/|r'(s)| | Направление движения |
| N (нормаль) | T'(s)/|T'(s)| | Куда кривая поворачивает |
| B (бинормаль) | T × N | Перпендикуляр к плоскости кривизны |
**Фундаментальная теорема кривых:** кривая в R³ однозначно определяется (с точностью до движения) двумя функциями: кривизной kappa(s) > 0 и кручением tau(s). Это 'ДНК' кривой - полное описание формы.
Жан Фредерик Френе (1852)
Френе и независимо Серре вывели систему уравнений для движущегося репера вдоль кривой. Эти формулы стали фундаментом дифференциальной геометрии и позже нашли применение в робототехнике (планирование траекторий), компьютерной графике и теории относительности.
Вернёмся к параметрическим кривым: мы начали с простого описания r(t), а пришли к полной системе инвариантов (kappa, tau), определяющих форму кривой. Как отпечатки пальцев определяют человека, так кривизна и кручение определяют кривую.
Кривизна - это скорость поворота кривой
Кривизна kappa = |dT/ds| зависит от параметризации по длине дуги, а не от скорости прохождения по кривой. При параметризации по t нужна формула kappa = |r' x r''| / |r'|³.
Если двигаться по окружности быстрее, воспринимаемый «поворот в секунду» больше, но геометрическая кривизна та же. Кривизна - свойство кривой как геометрического объекта, не движения по ней. Формула с $|r'|^3$ в знаменателе компенсирует эффект скорости. В ML та же идея: метрика на многообразии данных не зависит от способа параметризации (выбора координат или нормализации признаков).
Окружность в плоскости Oxy. Чему равно её кручение?
Ключевые идеи
- **$r(t) = (x(t), y(t), z(t))$** - параметрическая кривая; $r'(t)$ - касательный вектор (скорость), $|r'(t)|$ - скорость движения
- **Длина дуги** $s = \int_a^b |r'(t)| dt$ - геометрический инвариант, не зависит от параметризации; формула метрики на многообразии обобщает это до произвольного числа измерений
- **Кривизна** $\kappa = |r' \times r''| / |r'|^3$ - мера отклонения от прямой; в word embedding пространстве геодезическая кривизна отражает семантическое расстояние
- **Кручение** $\tau$ - мера выхода из плоскости; $\kappa(s)$ и $\tau(s)$ вместе - «ДНК» кривой, полностью определяют форму (теорема Френе)
- **ДНК многообразия:** кривые - первый шаг к риманновой геометрии; метрический тензор, кривизна Гаусса и поток Риччи - обобщения тех же идей на поверхности и пространства, где живут данные ML
Связанные темы
Кривые - первый шаг дифференциальной геометрии:
- Поверхности: первая форма — От 1D (кривые) к 2D (поверхности) - обобщение метрики и кривизны
- Вторая фундаментальная форма — Кривизна поверхности обобщает кривизну кривой - через главные кривизны
Вопросы для размышления
- Спираль имеет постоянные kappa и tau. Существует ли другая кривая с постоянными kappa и tau, кроме спирали и окружности?
- Формулы Френе предполагают kappa > 0. Что происходит в точке перегиба (kappa = 0)? Определена ли нормаль N?
- Кривизна окружности = 1/R. А какова 'кривизна' прямоугольника в вершинах? Можно ли обобщить понятие кривизны на негладкие кривые?