Машинне навчання · Блок 8 · Тема 36

Друга спадна гілка

Класична теорія каже: занадто складна модель обовʼязково зіпсується. Практика великих мереж каже протилежне. Подвійний спуск показує, де саме класична інтуїція обривається — і що починається далі.

Кожен курс машинного навчання починається з однієї й тієї самої картинки: помилка на тесті спершу падає, потім росте, а між ними є оптимальна складність. Ця картинка правильна. Проблема в тому, що вона намальована лише до певної межі — і за цією межею починається територія, де вона просто перестає діяти.

Найбільші мовні моделі мають сотні мільярдів параметрів на вибірках, які помітно менші. За класичною логікою вони мали б катастрофічно перенавчитись. Вони не перенавчаються. Явище, яке пояснює цей розрив між теорією й практикою, називають подвійним спуском (double descent). Розберімо його від самого початку, крок за кроком.

01 / НагадуванняКласична U-крива

Спершу відновімо те, що ми вже знаємо. Помилку моделі на нових даних розкладають на три доданки:

помилка = зміщення2 + дисперсія + незвідний шум

Зміщення (bias) — це системний недолік самої форми моделі. Пряма не здатна описати хвилю, скільки б даних ти їй не дав: вона промахуватиметься завжди в одну й ту саму сторону. Дисперсія (variance) — це чутливість до конкретної вибірки: якщо забрати кілька точок і додати кілька інших, наскільки сильно зміниться навчена модель. Незвідний шум прибрати неможливо в принципі.

Ці два перші доданки тягнуть у різні боки. Проста модель має велике зміщення й малу дисперсію. Складна — навпаки. Сума дає U-подібну криву з мінімумом десь посередині, і саме той мінімум ми звикли шукати крос-валідацією.

Інтерактив 1 · Класичний компроміс

Поліноміальна регресія на 24 навчальних точках, степінь до 18. Унизу — помилка на навчанні й на 300 тестових точках.

train
test
найкращий степінь
Що читати: навчальна помилка (рожева) падає завжди — складніша модель завжди краще запамʼятовує побачене. Тестова (бірюзова) має мінімум. Це та сама картинка, яку показують у кожному підручнику, і в межах цього діапазону вона чесна.

Зверни увагу на одну обставину, яку в підручниках зазвичай не проговорюють: степінь полінома тут обмежений чотирнадцятьма. Не випадково. Навчальних точок двадцять чотири, і щойно кількість параметрів моделі дорівняє кількості точок, відбувається щось якісно нове. Саме туди ми зараз і підемо.

02 / МежаПоріг інтерполяції

Позначмо кількість навчальних прикладів через N, а кількість вільних параметрів моделі — через p. Поки p < N, рівнянь більше, ніж невідомих: модель фізично не може пройти крізь усі точки, вона змушена шукати компроміс. Це звична територія.

Коли p = N, рівнянь і невідомих порівну. Система стає визначеною, і — за звичайних умов — існує рівно один набір параметрів, який проводить модель точно крізь кожну навчальну точку. Навчальна помилка стає нулем. Ця точка й називається порогом інтерполяції (interpolation threshold).

Інтерполювати означає буквально «пройти крізь». Модель-інтерполятор не наближає навчальні дані — вона їх відтворює точно, з нульовою похибкою, включно з усім шумом, який у них був.

Коли p > N, невідомих стає більше, ніж рівнянь. Розвʼязків, які проходять крізь усі точки, стає нескінченно багато — ціла лінійна множина. Навчальна помилка нульова в усіх них, тому дані вже нічого не вибирають. Вибір робить алгоритм навчання. І ось цей вибір, як ми побачимо, вирішує все.

03 / КартаТри режими

Отже, вісь складності розпадається не на дві частини (недонавчання / перенавчання), а на три:

режимумованавчальна помилкащо відбувається
класичнийp < N> 0, спадаєпрацює компроміс зміщення-дисперсії, тестова помилка малює U
порігp ≈ Nдосягає 0єдиний інтерполюючий розвʼязок, тестова помилка вибухає
надпараметризованийp > Nдорівнює 0інтерполянтів безліч, алгоритм обирає найгладший — помилка знову спадає

Назва «подвійний спуск» описує форму саме тестової кривої: вона спадає в класичному режимі, робить різкий сплеск на порозі й спадає вдруге — уже за порогом. Друга спадна гілка може опуститись нижче, ніж будь-яка класична модель. Це не помилка експерименту. Це відтворюваний ефект.

04 / СтендМодель для експерименту

Щоб побачити явище на власні очі, потрібна модель, у якої можна плавно крутити кількість параметрів. Повноцінна нейромережа тут незручна: у неї надто багато сторонніх джерел випадковості (ініціалізація, порядок батчів, момент зупинки). Тому візьмемо мінімальний стенд, який дає ту саму поведінку в чистому вигляді.

Ідея така: беремо p випадкових нелінійних ознак — кожна ознака φk(x) — це фіксована випадкова гладка хвиляста функція від x. Далі поверх них вчиться звичайна лінійна модель:

f(x) = γ1φ1(x) + γ2φ2(x) + … + γpφp(x)

Ознаки не навчаються — навчаються тільки ваги γ. Це рівно те, чим є нейромережа з одним випадковим прихованим шаром і навченим виходом; і рівно те, чим приблизно є дуже широка мережа біля точки ініціалізації. Кожна ознака зібрана як випадкова суміш косинусів, причому високочастотні складові беруться з меншою амплітудою — тобто наші ознаки в середньому гладкі, але не однакові.

Правило гри для параметрів. Поки p ≤ N, ваги шукаємо методом найменших квадратів — мінімізуємо суму квадратів залишків. Коли p > N і розвʼязків із нульовою помилкою безліч, беремо серед них той, у якого найменша норма ‖γ‖. Це стандартний і, як побачимо, дуже змістовний вибір.

Дані: 24 навчальні точки з гладкої кривої плюс гаусів шум. Тестова вибірка — 300 точок, щоб оцінка помилки була стабільною. Кожну цифру нижче усереднено (медіана) по 15 незалежних наборах випадкових ознак, інакше крива стрибала б від одного невдалого розкладу.

05 / ГоловнеКрива подвійного спуску

Ось вона. Рухай повзунок кількості параметрів і дивись, як модель проходить усі три режими. Вертикальна лінія — поріг p = N = 24.

Інтерактив 2 · Крива подвійного спуску

Обидві осі логарифмічні. Пунктирна вертикаль — поріг інтерполяції p = N = 24.

test MAE
train MAE
кращий класичний
дно 2-го спуску
Три ділянки: ліворуч від вертикалі — знайома U-крива. Рівно на вертикалі — вузький пік, де тестова помилка в рази гірша за все, чого ми досягали раніше. Праворуч — навчальна помилка вже дорівнює нулю (падає з графіка вниз), а тестова спокійно опускається нижче класичного мінімуму.

Прочитай цю картинку уважно. У класичному режимі все як у підручнику. На порозі помилка підскакує в кілька разів — саме тут класична інтуїція каже «стоп, далі буде тільки гірше». Але далі стає краще: чим більше параметрів понад поріг, тим нижча тестова помилка, і вона опускається нижче за найкращу класичну модель.

06 / ФормаЯк виглядає підгонка в кожному режимі

Числа — це добре, але корисніше побачити самі криві. Перемикай режими. Кнопка внизу міняє випадковий набір ознак: зверни увагу, як сильно результат залежить від цього жеребу саме на порозі — і як мало він важить, коли параметрів багато.

Інтерактив 3 · Одна модель, чотири режими складності

Сірий пунктир — справжня функція. Рожеві точки — навчальні дані з шумом.

train MAE
test MAE
розмах |f|
норма ваг
Ключове спостереження: при p = 24 крива теж проходить крізь усі рожеві точки — але між ними вилітає далеко за межі малюнка. При p = 200 вона проходить крізь ті самі точки, а між ними тримається близько до сірого пунктиру. Обидві моделі «перенавчені» за класичним визначенням. Ведуть себе вони протилежно.

07 / Механізм пікуЧому саме на порозі вибухає

Тепер найважливіше питання лекції: звідки береться пік. Пояснення простіше, ніж здається, і воно геометричне.

крок 1 · рівнянь стільки ж, скільки невідомих

При p = N умова «пройти крізь усі навчальні точки» — це квадратна система лінійних рівнянь. У неї, за звичайних умов, рівно один розвʼязок.

Φ γ = y,   Φ — квадратна N×N
крок 2 · вибору немає

Це і є ключ. У класичному режимі модель хоча б могла обирати компроміс. У надпараметризованому вона обиратиме серед багатьох інтерполянтів. А тут вибору немає взагалі: розвʼязок один, і ніхто не гарантував, що він хороший.

крок 3 · що робить його поганим

Ознаки випадкові, а отже майже напевно якісь дві з них виявляться майже пропорційними одна одній. Щоб така пара разом дала потрібне значення в навчальних точках, коефіцієнти мусять бути велетенськими й протилежними за знаком: вони гасять один одного там, де є дані.

γ = Φ−1 y  ⇒   мале власне число Φ ⇒ величезна норма γ
крок 4 · між точками баланс руйнується

Взаємне гасіння тримається рівно в навчальних точках. Варто відійти на крок убік — і різниця величезних доданків перестає бути малою. Функція вистрілює вгору або вниз. Саме це ти бачив у попередньому інтерактиві при p = 24.

Отже пік — це не «перенавчання» у звичному розумінні. Це жорсткість: на порозі модель змушена взяти єдиний доступний спосіб інтерполяції, а цей спосіб вимагає розвʼязку з гігантською нормою.

Важлива деталь. Пік не потребує шуму в даних. Навіть на ідеально чистій вибірці єдиний інтерполюючий розвʼязок буває диким — просто тому, що він єдиний. У другій частині цієї теми доводиться сильніше твердження: для кусково-лінійної моделі середня помилка на порозі нескінченна, і це не залежить ні від даних, ні від того, яку функцію ми відновлюємо.

08 / ВимірюванняНорма коефіцієнтів

Розмову про «величезну норму» легко перевірити числом. Побудуймо ‖γ‖ — довжину вектора ваг — як функцію кількості параметрів:

Інтерактив 4 · Норма ваг на осі складності

Та сама вісь p, що й на головній кривій. Вісь норми логарифмічна.

норма ваг
test MAE
Форма збігається: норма ваг має гострий максимум рівно на порозі й спадає в обидва боки. Крива тестової помилки повторює цей рельєф майже один в один. Норма ваг — це і є прихована пружина, яка кидає модель угору на порозі.

09 / Механізм спускуЧому за порогом знову падає

Тепер друга половина відповіді. Додаємо ще одну ознаку понад поріг — і множина інтерполюючих розвʼязків із однієї точки перетворюється на цілу пряму. Ще одну — на площину. При p = 200 і N = 24 ця множина має розмірність 176.

Усі ці розвʼязки однаково ідеальні на навчальних даних. Але між точками вони поводяться зовсім по-різному: одні вистрілюють, інші йдуть плавно. І тепер у нас є з чого обирати. Ми обираємо той, у якого мінімальна норма:

γ* = argmin ‖γ‖2   за умови    Φγ = y

Чому мінімальна норма означає гладкість? Бо велика норма — це саме та ситуація з великими протилежними коефіцієнтами, які гасяться в точках і розлітаються між ними. Обмежити довжину вектора ваг — значить заборонити такий баланс. Функція, зібрана з малих коефіцієнтів перед гладкими ознаками, сама виходить гладкою.

А тепер головне: чим більше ознак, тим ширша множина, у якій ми шукаємо найгладший варіант, — і тим гладшим виявляється знайдений мінімум. Ось чому норма ваг монотонно спадає праворуч від піку, і разом із нею спадає тестова помилка. Більша модель дає не більше свободи схибити, а більше свободи вибрати добре.

Формулювання, яке варто запамʼятати. За порогом дані більше не визначають модель однозначно. Модель визначає пара «дані + принцип вибору серед інтерполянтів». Уся якість узагальнення переїжджає в цей другий доданок.

10 / Назва явищаНеявна регуляризація

Принцип «серед усіх ідеальних розвʼязків бери найкоротший» — це і є неявна регуляризація (implicit regularization). Неявна, бо ми ніде не дописували штраф у функцію втрат: він виникає сам, із самого способу навчання.

І це не абстракція. Градієнтний спуск, запущений з нуля на надпараметризованій лінійній задачі, збігається саме до розвʼязку мінімальної норми — бо кожен крок градієнта лежить у просторі, натягнутому на ознаки навчальних обʼєктів, і алгоритм ніколи не виходить за межі цього простору. Тобто звичайний SGD уже несе в собі регуляризатор, про який ми не просили.

У глибоких мережах роль такого прихованого регуляризатора грає ще й архітектура. Згортковий шар не вміє вивчити довільну функцію — він уміє вивчати те, що локальне й повторюване. Це різко звужує множину досяжних інтерполянтів, причому звужує в правильний бік. Схильність архітектури до певного типу розвʼязків називають індуктивним зміщенням (inductive bias).

11 / ПеревіркаЧи винен у піку шум

Природна гіпотеза: пік виникає тому, що модель на порозі змушена точно відтворити шум. Перевірмо її експериментом — покрутимо рівень шуму від нуля до великого й подивимось, що станеться з кривою.

Інтерактив 5 · Скільки шуму — стільки й наслідків

Бліда крива — той самий експеримент без шуму, для порівняння. Бордова горизонталь — найкраща класична модель.

пік (p=N)
класичний мін.
дно другого спуску
Несподіванка: при σ = 0 пік нікуди не зникає — жорсткість на порозі не потребує шуму. Зате шум зʼїдає виграш другої гілки: без шуму надпараметризована модель у рази краща за класичний оптимум, а при великому шумі перевага зникає майже повністю.

Висновок з цього експерименту двоякий. Пік — наслідок жорсткості, а не шуму. Але користь від переходу за поріг — навпаки, повністю залежить від того, наскільки чисті твої дані. Якщо в мітках багато випадковості, інтерполювати їх точно немає сенсу: ти відтворюєш шум, хай і гладко. Саме тому наступний крок — подивитись, що дає явний штраф.

12 / ЛікиЯвний штраф прибирає пік

Додамо у функцію втрат звичайний L2-штраф, тобто гребеневу регресію (Ridge):

L(γ) = ‖y − Φγ‖2 + λ·‖γ‖2

Тепер ми не вимагаємо точної інтерполяції — ми торгуємось між точністю на навчальних даних і величиною ваг. Оскільки пік був спричинений саме гігантською нормою, штраф має його зрізати. Перевірмо:

Інтерактив 6 · Ridge проти піку

Бліда пунктирна крива — без штрафу (λ = 0). Суцільна — з поточним λ.

пік (p=N)
пік без штрафу
найкраще на всій кривій
Що видно: зі зростанням λ пік просто зникає — крива стає монотонною. І ще одне: найкраще значення регуляризованої моделі майже дорівнює тому, чого надпараметризована модель досягала без будь-якого штрафу. Це найпряміший доказ того, що мінімальна норма і є прихованою регуляризацією.

13 / МасштабЩо це означає для великих мереж

Тепер перенесімо картинку на реальні моделі. Сучасна мережа має параметрів на порядки більше, ніж прикладів у навчальній вибірці. Тобто вона живе глибоко праворуч від порогу — там, де класична крива взагалі не намальована.

Це пояснює кілька спостережень, які інакше виглядають парадоксально:

Чого подвійний спуск не скасовує. Компроміс зміщення-дисперсії залишається чинним — просто дисперсію тепер стримує не малий розмір моделі, а неявна регуляризація. Явище не каже «беріть найбільшу модель і не думайте». Воно каже: складність моделі перестала бути надійною мірою її схильності до перенавчання.

14 / ПідсумокПрактичні висновки

Що з усього цього забрати в роботу:

  1. Не бійся кількості параметрів самої по собі. Обмежувати варто не розмір, а норму ваг, амплітуду оновлень, кількість кроків — усе те, що реально керує гладкістю розвʼязку.
  2. Обходь околиці порогу. Найризикованіша конфігурація — та, де параметрів приблизно стільки ж, скільки навчальних прикладів. Або суттєво менше, або суттєво більше.
  3. Не роби висновків з двох точок. Якщо збільшення моделі погіршило метрику, це може бути підйом до піку, а не межа корисності. Треба будувати криву, а не порівнювати дві конфігурації.
  4. Явна регуляризація нікуди не поділась. Ridge, weight decay, рання зупинка й аугментація прибирають пік і на брудних даних дають більше, ніж чиста надпараметризація.
  5. Чистота міток важливіша, ніж здається. Виграш другої гілки прямо залежить від рівня шуму: чим брудніші дані, тим менше сенсу інтерполювати їх точно.

І фінальна думка, з якою варто йти далі. Питання «чи перенавчиться модель» уже не зводиться до підрахунку параметрів. Правильне питання інше: яку саме функцію серед усіх можливих обирає моє навчання — і чи схильна вона до того типу розвʼязків, який підходить до моєї задачі. Формальний доказ того, що цей вибір справді означає «найгладша крива», ми розберемо в другій частині.

Далі. Друга частина теми — математичне пояснення: чому на порозі розвʼязок стає жорстким, чому середня помилка там нескінченна і чому в границі нескінченно багатьох параметрів мінімальна норма дає рівно натуральний кубічний сплайн.

Далі в темі

Теорію прочитано. Тепер закріпи її на практиці.