ML Atlas

11 · Prawa i prawdy · 4 min czytania · Interaktywne · aktualizacja

Czym jest double descent i dlaczego większy model może generalizować lepiej?

W skrócie

Błąd testowy rośnie, gdy model ledwo mieści dane treningowe, a potem znów spada, gdy parametrów jest znacznie więcej niż przykładów.

Co to jest

Gdy zwiększamy liczbę parametrów modelu, błąd testowy najpierw maleje, potem gwałtownie rośnie w okolicy progu interpolacji (parametrów tyle, ile przykładów), a powyżej tego progu znów maleje. Nazwę i ogólny opis zaproponowali Mikhail Belkin, Daniel Hsu, Siyuan Ma i Soumik Mandal w 2019 roku; Preetum Nakkiran i współpracownicy pokazali w 2020 roku to samo w głębokich sieciach.

Klasyczna krzywa w kształcie U mówi: za mało parametrów — niedouczenie, za dużo — przeuczenie. Podwójne zejście dopowiada drugi akt: gdy przejdziemy daleko za punkt, w którym model dokładnie odtwarza dane treningowe, błąd testowy może spaść poniżej najlepszego wyniku „klasycznego”.

Nie jest to sprzeczność z kompromisem obciążenie–wariancja, tylko pokazanie, że liczba parametrów to kiepska miara złożoności. Liczy się, które z wielu idealnie dopasowanych rozwiązań wybiera algorytm uczenia.

Mechanizm — dlaczego tak działa

Na progu interpolacji (p ≈ n) istnieje dokładnie jedno rozwiązanie przechodzące przez wszystkie punkty treningowe — i jest ono zwykle skrajne. Żeby trafić w każdy zaszumiony punkt, współczynniki muszą przyjąć ogromne wartości, a macierz cech jest bliska osobliwej. Najmniejszy szum w danych przekłada się na olbrzymią zmianę modelu: wariancja eksploduje.

Powyżej progu rozwiązań idealnie dopasowanych jest nieskończenie wiele. Metody takie jak pseudoodwrotność czy gradient prosty startujący od zera wybierają spośród nich to o najmniejszej normie — najbardziej „spokojne”. Im więcej parametrów, tym więcej kierunków, w które da się rozłożyć dopasowanie szumu, i tym mniejsza norma wybranego rozwiązania. To niejawna regularyzacja: nikt nie dodał kary, a mimo to model jest coraz gładszy.

Zjawisko zależy od warunków. Wyraźny szczyt widać, gdy dane są zaszumione i brak jawnej regularyzacji; dobrze dobrana regresja grzbietowa potrafi go niemal całkowicie spłaszczyć. Nakkiran i in. opisali też podwójne zejście w funkcji liczby epok i — paradoksalnie — liczby przykładów: w pobliżu progu więcej danych może chwilowo zaszkodzić.

Status: zjawisko jest dobrze udokumentowane i teoretycznie wyjaśnione dla modeli liniowych i cech losowych (Hastie i in., 2022). Dla dużych sieci wyjaśnienie jest częściowe — wiadomo, że działa niejawna regularyzacja, ale nie ma jednej ścisłej teorii.

Na przykładzie

Symulacja: 100 przykładów treningowych, 1000 cech gaussowskich, prawdziwy sygnał rozłożony po wszystkich cechach, szum o odchyleniu 0,5. Model to regresja liniowa o minimalnej normie (pseudoodwrotność) na pierwszych p cechach; mediana z 30 powtórzeń. Model zerowy (przewiduje 0) ma błąd około 1,25.

Przy p = 10 błąd testowy wynosi 1,34. Przy p = 50 rośnie do 2,23, przy p = 90 do 13,0, a dokładnie na progu p = 100 — do 293, choć błąd treningowy to zero. Dalej spada: p = 150 daje 3,26, p = 300 — 1,56, p = 1000 — 1,17, czyli mniej niż najlepszy model z małą liczbą cech i mniej niż model zerowy. Błąd treningowy od p = 100 wzwyż cały czas wynosi zero.

Ta ilustracja działa w przeglądarce z włączonym JavaScriptem: zabawkowa demonstracja: 30 zaszumionych punktów dopasowanych do p losowych cech ReLU; błąd testowy rośnie do szczytu 1,52 przy p = n = 30, a potem znowu spada do 0,073 przy 1000 cech (rozwiązanie o najmniejszej normie).

W praktyce

  • Szczyt najłatwiej wywołać regresją bez kary (LinearRegression, np.linalg.pinv) przy p ≈ n; z Ridge i rozsądnym alpha zwykle znika.
  • W sieciach przejawia się jako chwilowe pogorszenie przy pewnej szerokości lub liczbie epok — nie przerywaj eksperymentu na podstawie jednego punktu.
  • Wczesne zatrzymanie (early_stopping) i spadek wag (weight_decay) to praktyczna ochrona przed szczytem.
  • Etykiety z szumem nasilają szczyt; czyszczenie danych bywa skuteczniejsze niż zmiana architektury.
  • Nie traktuj zjawiska jako licencji na „zawsze większy model” — przy małej liczbie danych i braku regularyzacji drugi spadek może nie nadejść w zasięgu budżetu.

Najczęstsze pytania

Czy double descent obala kompromis obciążenie–wariancja?
Nie obala rozkładu błędu, który jest tożsamością. Obala tylko uproszczenie, że wariancja rośnie monotonicznie z liczbą parametrów.
Dlaczego model, który zapamiętał szum, może dobrze przewidywać?
Bo przy wielu parametrach dopasowanie szumu rozkłada się na mnóstwo drobnych, nieszkodliwych korekt wokół punktów treningowych, zamiast wyginać całą funkcję. Badacze nazywają to „łagodnym przeuczeniem” (benign overfitting).
Czy to dotyczy też drzew i lasów losowych?
Belkin i in. pokazali podobny przebieg dla lasów losowych i boostingu, gdy złożoność mierzy się liczbą liści i drzew łącznie. Interpretacja jest tam jednak mniej jednoznaczna niż dla modeli liniowych.

Źródła

  • Belkin M., Hsu D., Ma S., Mandal S. (2019). Reconciling modern machine-learning practice and the classical bias–variance trade-off. PNAS, 116(32), 15849–15854.
  • Nakkiran P. i in. (2020). Deep Double Descent: Where Bigger Models and More Data Hurt. ICLR 2020, arXiv:1912.02292.
  • Hastie T., Montanari A., Rosset S., Tibshirani R. J. (2022). Surprises in High-Dimensional Ridgeless Least Squares Interpolation. Annals of Statistics, 50(2), 949–986.
  • James G., Witten D., Hastie T., Tibshirani R. (2021). An Introduction to Statistical Learning, 2nd ed. Springer, rozdz. 10.8.

Zobacz też