У першій частині ми побачили подвійний спуск очима: пік на порозі інтерполяції й другу спадну гілку за ним. Пояснення було на пальцях — «єдиний розвʼязок буває поганим», «серед багатьох обираємо найгладший». Тепер зробімо це чесно. Візьмімо модель, на якій усе можна порахувати до кінця, і подивімось, звідки береться кожен ефект.
Приємна несподіванка попереду: історія закінчиться обʼєктом, який знають ще з курсу чисельних методів, — натуральним кубічним сплайном. Виявиться, що нескінченно велика модель із мінімальною нормою — це просто він.
01 / СтендШість точок і одна модель
Дані навмисно крихітні, щоб усе можна було перерахувати руками. Беремо шість рівновіддалених точок параболи — без жодного шуму:
Відсутність шуму принципова. Ми хочемо показати, що пік на порозі виникає навіть на ідеально чистих даних — тобто це властивість самої моделі, а не забруднення міток.
Модель — кусково-лінійна функція зі зламами лише в заздалегідь
зафіксованих точках t1 … tK,
які називають вузлами (knots). Зручний спосіб її записати — через
базисні функції-модулі:
Чому це саме кусково-лінійні функції? Бо |x − t| лінійна всюди, крім самої
точки t, де вона зламується. Отже сума таких доданків плюс пряма
α + βx — це ламана, у якої злами дозволені рівно у вузлах.
02 / Умова гриПравила підгонки
Вузли ми не навчаємо. Вони кидаються випадково й рівномірно на відрізок,
де лежать дані, і далі залишаються нерухомими. Навчаються лише коефіцієнти
α, β, γ. Тобто задача лишається звичайною лінійною регресією — просто в
нестандартному базисі.
Порахуймо параметри. Їх p = K + 2: два на пряму й по одному на кожен вузол.
Точок у нас N = 6. Отже поріг інтерполяції p = N досягається при
Правило вибору коефіцієнтів таке саме, як у першій частині:
- p < N — звичайний метод найменших квадратів: мінімізуємо суму квадратів залишків.
- p ≥ N — система недовизначена, інтерполянтів багато; серед них беремо
той, у якого мінімальна
‖γ‖2. Коефіцієнтиαіβу норму не входять: пряма — це «безкоштовна» частина моделі, штрафувати її немає сенсу.
03 / РозігрівКласичний режим
Почнімо з нуля вузлів. При K = 0 модель — просто пряма, і на симетричній
параболі вона вироджується в горизонталь: нахил нульовий, помилка велика. Додаючи вузли
по одному, дивимось, як ситуація виправляється.
Інтерактив 1 · Від прямої до порогу
Сіра парабола — істина. Рожеві точки — дані. Вертикальні риски внизу — положення вузлів.
При K = 4 сума залишків стає нулем: модель пройшла крізь усі точки.
І з цим конкретним розкладом вузлів вона виглядає цілком пристойно. Здається, ніякої
катастрофи немає. Проблема в тому, що вузли — випадкові, і ми подивились лише
на один щасливий жереб.
04 / ПасткаЖорсткість на порозі
Ось у чому суть порогу. Коли K = 4, кількість рівнянь дорівнює кількості
невідомих, і вибору немає взагалі. Прослідкуймо ланцюжок, який повністю
визначає розвʼязок.
Припустімо, між точками x = 0 і x = 1 вузла не випало.
Тоді на цьому проміжку функція обовʼязково пряма — а пряма, яка проходить через
(0, 25) і (1, 9), єдина. Її нахил уже зафіксовано: −16.
Ця пряма тягнеться далі, доки не впреться в перший вузол. Там вона може зламатись — але рівно настільки, щоб потрапити в наступну точку даних. Далі те саме: до наступного вузла, злам, наступна точка. На жодному кроці немає свободи. Уся крива розгортається автоматично.
А тепер посунь цей перший вузол ближче до точки x = 2 — і подивись,
що станеться з нахилом наступного сегмента:
Інтерактив 2 · Один вузол вирішує все
Чотири вузли, поріг інтерполяції. Повзунок рухає лише найлівіший вузол. Масштаб осі підлаштовується.
(0,25) і
(1,9), тобто y = 25 − 16x. У вузлі t₁ вона вже
встигла впасти до 25 − 16·t₁ — при t₁ біля двійки це майже
−7. Щоб звідти дістатись до точки (2, 1), наступному сегменту
потрібен нахил близько 8 / (2 − t₁) — і коли t₁ → 2, він летить
у нескінченність, тягнучи за собою всю решту кривої. Залишки при цьому весь час нульові:
модель ідеально інтерполює дані й одночасно поводиться жахливо.05 / Міра бідиНаскільки погано насправді
Одна невдала конфігурація ще нічого не доводить: може, вона трапляється надзвичайно
рідко. Порахуймо чесно — киньмо вузли сотню разів для кожного K і подивімось
на розподіл помилки. Середнє арифметичне тут малює погану послугу: воно щоразу визначається
одним-єдиним найгіршим розкладом і не стабілізується, скільки б спроб ми не робили.
Тому дивимось на дві стійкі величини — медіану (типовий випадок) і
90-й процентиль (наскільки погано буває в одному випадку з десяти).
Інтерактив 3 · Медіана проти важкого хвоста
Для кожного K — 100 випадкових розкладів вузлів. Вісь помилки логарифмічна.
06 / АргументЕскіз доведення
Те, що ти щойно бачив, — не артефакт вибірки. Твердження, яке можна довести строго,
звучить сильно: при K = N − 2
випадкових вузлах математичне сподівання помилки нескінченне — для будь-якої
норми, будь-якого набору даних (аби не всі точки лежали на одній прямій) і будь-якої
обмеженої істинної функції. Ось скелет міркування.
Розгляньмо події, у яких найлівіший вузол потрапляє у вузьку смужку завширшки
ε ліворуч від точки x = 2, а решта вузлів — праворуч від
середини. Імовірність такої події пропорційна ε:
Як ми бачили в інтерактиві, у цій ситуації сегмент після вузла мусить мати нахил
порядку 1/ε. На сусідньому проміжку сталої довжини (там немає інших вузлів)
функція відхиляється від істини на величину того самого порядку:
Візьмімо послідовність ε = 1/2, 1/4, 1/8, …. Відповідні події не
перетинаються, тому їхні внески в середнє просто додаються. Внесок кожної —
«ймовірність × величина»:
При q = 1 це сума нескінченної кількості однакових доданків, при
q > 1 вона взагалі росте геометрично. У будь-якому разі ряд розбігається:
Зверни увагу, чого в цьому міркуванні немає. Немає шуму. Немає припущень про істинну функцію, крім обмеженості. Немає нічого специфічного для параболи. Погана поведінка на порозі — наслідок самої лише жорсткості: єдиний інтерполянт, що може зламуватись лише у випадкових місцях, приречений іноді бути диким.
07 / За порогомПростір інтерполянтів
Додамо вузлів. При K = 12 параметрів p = 14, а рівнянь усього
шість. Множина розвʼязків, які проходять крізь усі точки, — це вже не одна точка, а
восьмивимірний плоский шматок простору параметрів.
Усі ці функції однаково ідеальні на даних. Але між точками вони поводяться цілком по-різному. Покрути повзунок: він відходить від розвʼязку мінімальної норми вздовж випадкових напрямків, які не змінюють жодного значення в шести точках.
Інтерактив 4 · Усі проходять крізь точки — але по-різному
Бірюзова товста крива — розвʼязок мінімальної норми. Бурштинові — інші законні інтерполянти.
08 / СпостереженняНорма як міра негладкості
Перш ніж доводити, чому мінімальна норма означає гладкість, подивімось на саму норму.
Побудуймо ‖γ‖ як функцію кількості вузлів:
Інтерактив 5 · Норма розвʼязку на осі кількості вузлів
Медіана по 100 випадкових розкладах вузлів. Пунктирна вертикаль — поріг K = 4.
1/√K — і саме це спадання ми зараз пояснимо.09 / Ядро аргументуВід норми до другої похідної
Тепер найкрасивіша частина. Покажімо, що мінімізація ‖γ‖² — це насправді
мінімізація інтеграла від квадрата другої похідної. Тобто пошук найменш вигнутої кривої.
Візьмімо вузол ti і нахили ламаної ліворуч і
праворуч від нього — δi та
δi+1. Усі доданки моделі, крім
γiφi, у цій точці лінійні
й нахилу не змінюють. А ½|x − ti| змінює нахил
рівно на одиницю. Отже:
Коефіцієнт при вузлі — це буквально те, наскільки крива в ньому зламується.
Якщо вузли густі, ламана майже збігається з деякою гладкою функцією
g. Нахили сусідніх сегментів — це приблизно g′, а їхня
різниця, поділена на відстань Δi між серединами
сегментів, — це друга похідна:
K вузлів кинуто рівномірно на відрізок довжини L, отже
типова відстань між сусідніми:
Підставляємо в квадрат норми та впізнаємо інтегральну суму:
Множник L/K від функції не залежить — на нього ж і припадає те саме
спадання норми як 1/√K, яке ти щойно бачив на графіку.
Ось і відповідь. Мінімізуючи довжину вектора коефіцієнтів, ми насправді мінімізуємо
Друга похідна показує, як швидко змінюється нахил. Отже критерій каже: з усіх функцій, що проходять крізь дані, візьми ту, чий нахил змінюється якнайменше — тобто найближчу до прямої, найменш вигнуту. Це і є формальне визначення гладкості, яке ми в першій частині вживали інтуїтивно.
10 / ВпізнаванняНатуральний кубічний сплайн
Функція, яка проходить крізь задані точки й мінімізує ∫(g″)², — це класика
чисельних методів. Вона називається натуральним кубічним сплайном:
кусково-кубічний многочлен, двічі неперервно диференційовний у вузлах, із нульовою другою
похідною на кінцях відрізка. Саме таку криву дає команда «провести плавну лінію крізь
точки» в будь-якому графічному пакеті.
Тобто теорема звучить так: послідовність наших моделей мінімальної норми при K → ∞ рівномірно збігається до натурального кубічного сплайна. Перевіримо це очима:
Інтерактив 6 · Границя нескінченно багатьох вузлів
Бурштинова товста крива — натуральний кубічний сплайн. Бірюзова — наша модель мінімальної норми.
І тут подвійний спуск перестає бути парадоксом. Уся загадка зводиться до непримітного факту: кубічний сплайн наближає параболу краще, ніж ламана з чотирьох-пʼяти сегментів. Ніякої магії. Провал на порозі — теж не магія, а неминучий наслідок жорсткості. Дві прості речі, складені разом, дають криву дивної форми.
11 / ПеренесенняІндуктивне зміщення архітектури
Тепер узагальнімо. Ключовим у всій історії був не розмір моделі, а те, яку саме функцію з множини інтерполянтів обирає навчання. У нашому прикладі критерій «мінімальна норма коефіцієнтів при базисі з модулів» виявився еквівалентним критерію «мінімальна вигнутість». Це щасливий збіг — і водночас ключ до всього.
Зміни базис — зміниться й неявний критерій. Той самий формальний принцип «найкоротший вектор ваг» у різних базисах означає різні речі:
| базис | мінімальна норма означає | де зустрічається |
|---|---|---|
| ½|x − t| | найменша ∫(g″)² — кубічний сплайн | наша модель, ReLU-мережі |
| гладкі хвилі | найменше високочастотної енергії | випадкові ознаки, ядрові методи |
| згортки | локальність і стійкість до зсуву | зображення |
| увага | залежності між позиціями, а не абсолютні позиції | текст, послідовності |
Оце й називають індуктивним зміщенням архітектури: вбудована схильність моделі до певного типу розвʼязків. Вона працює як регуляризатор, якого ніхто не дописував у функцію втрат, — і саме тому підбір архітектури під задачу дає стільки виграшу. Згортка на зображеннях перемагає не тому, що має менше параметрів, а тому, що серед мільйонів способів інтерполювати навчальну вибірку вона обирає ті, які поважають структуру зображень.
12 / ПідсумокЩо ми довели
Пройдімось по логіці ще раз, коротко:
- Класичний режим. Поки вузлів мало, кожен новий злам зменшує помилку — рівно як обіцяє компроміс зміщення-дисперсії.
- Поріг. При
K = N − 2інтерполюючий розвʼязок один. Вибору немає, і невдале розташування вузлів робить його як завгодно поганим. Середня помилка нескінченна — навіть без шуму в даних. - За порогом. Інтерполянтів стає багато, зʼявляється свобода вибору.
Критерій мінімальної норми еквівалентний мінімізації
∫(g″)². - Границя. При
K → ∞розвʼязок збігається до натурального кубічного сплайна — гладкої й розумної кривої, яка наближає істину краще за будь-яку коротку ламану.
Подвійний спуск, отже, не спростовує класичну теорію. Він показує, що вісь «складність моделі» була не тією віссю, уздовж якої варто дивитись. Правильна вісь — гладкість обраного розвʼязку. На ній ніяких піків немає: чим гладше, тим краще узагальнення, і велика модель просто дає більше шансів знайти щось гладке.
½|x − t| у NumPy, порівняй np.linalg.lstsq (він за замовчуванням
дає саме розвʼязок мінімальної норми) з scipy.interpolate.CubicSpline(..., bc_type='natural')
і подивись, як розбіжність спадає зі зростанням кількості вузлів.Далі в темі
Теорію прочитано. Тепер закріпи її на практиці.