11 · Prawa i prawdy · 4 min czytania · Interaktywne · aktualizacja
Czym jest przeuczenie do publicznego leaderboardu i jak go uniknąć na Kaggle?
W skrócie
Poprawianie modelu pod wynik na publicznej tablicy dopasowuje go do szumu tej małej próbki. Na zbiorze prywatnym wynik spada, a ranking się tasuje.
Co to jest
Każde zgłoszenie ocenione na tym samym zbiorze testowym zdradza o nim trochę informacji, więc wybieranie modeli według wielokrotnie sprawdzanego wyniku publicznego prowadzi do dopasowania do szumu tego zbioru. Zjawisko formalnie opisali Avrim Blum i Moritz Hardt w 2015 roku, proponując algorytm „Ladder” chroniący tablice wyników przed tym efektem.
W konkursach takich jak Kaggle zbiór testowy dzieli się zwykle na część publiczną (wynik widoczny od razu) i prywatną (ujawnianą na koniec). Uczestnik, który dziesiątki razy wysyła poprawki i zostawia te, które podniosły wynik publiczny, w praktyce trenuje na zbiorze publicznym. Na koniec przychodzi „shake-up”: ranking na prywatnej części wygląda zupełnie inaczej.
To szczególny przypadek wielokrotnych porównań i klątwy zwycięzcy: najlepszy z wielu zaszumionych wyników jest systematycznie zawyżony.
Mechanizm — dlaczego tak działa
Wynik na zbiorze publicznym to prawdziwa jakość modelu plus szum próbkowania. Przy 3000 przykładów i dokładności 0,8 odchylenie standardowe tego szumu wynosi około 0,007; przy 300 — około 0,023. Gdy porównujemy wiele zgłoszeń o podobnej prawdziwej jakości, różnice między nimi są w dużej mierze szumem, a wybór najlepszego jest wyborem najbardziej szczęśliwego.
Gorzej, gdy proces jest adaptacyjny: kolejne zgłoszenia buduje się na podstawie wyników poprzednich. Wtedy można wręcz celowo „wyciągać” etykiety zbioru publicznego. Blum i Hardt opisali prosty atak: wyślij wiele losowych prognoz, zachowaj te, które przypadkiem wypadły powyżej 50%, i połącz je głosowaniem. Wynik publiczny rośnie, choć model nie wie nic o problemie.
Dobra wiadomość: Roelofs i in. (2019) przeanalizowali ponad sto konkursów Kaggle i znaleźli zaskakująco mało dowodów na silne przeuczenie do tablicy w typowych konkursach z dużymi zbiorami testowymi. Recht i in. (2019) zebrali nowy zbiór testowy dla ImageNet: dokładność modeli spadła o 11–14 punktów procentowych, ale ranking modeli prawie się nie zmienił — spadek wynikał głównie z różnicy rozkładów, a nie z adaptacyjnego dopasowania. Zjawisko jest więc realne, ale najgroźniejsze przy małych zbiorach testowych, wielu zgłoszeniach i słabym sygnale.
Na przykładzie
Symulacja ataku Blum–Hardta: zbiór testowy 10 000 losowych etykiet binarnych, 30% publiczne. Wysyłamy K zgłoszeń z losowymi prognozami, zachowujemy te z wynikiem publicznym powyżej 0,5 i głosujemy. Przy K = 100: wynik publiczny 0,535, prywatny 0,500. Przy K = 700: 0,612 i 0,493. Przy K = 2000: 0,681 i 0,492. Na publicznej tablicy wygląda to na wyraźny postęp; prawdziwa jakość to rzut monetą.
Wariant uczciwy: 200 modeli o identycznej prawdziwej dokładności 0,80, ocenianych na 3000 przykładach publicznych. Najlepszy ma wynik publiczny 0,819, a prywatny 0,797 — cały „zysk” był szumem. Przy publicznym zbiorze liczącym tylko 300 przykładów najlepszy z 200 takich modeli osiągał 0,863.
W praktyce
- Ufaj lokalnej walidacji krzyżowej (
StratifiedKFold,GroupKFold) bardziej niż tablicy publicznej, zwłaszcza gdy część publiczna jest mała. - Sprawdzaj korelację lokalnego wyniku CV z wynikiem publicznym na wielu zgłoszeniach; brak korelacji to sygnał, że tablica jest szumem.
- Do finalnego wyboru bierz modele stabilne w CV (mały rozrzut między foldami), nie te z najlepszym wynikiem publicznym.
- Ogranicz liczbę porównań: decyzje podejmuj na podstawie jednej, z góry ustalonej metryki lokalnej.
- Policz szum tablicy: odchylenie standardowe dokładności ≈ √(p(1 − p)/n); różnice mniejsze niż dwa takie odchylenia traktuj jako remis.
Najczęstsze pytania
- Czy to oznacza, że nie należy patrzeć na publiczną tablicę?
- Można patrzeć, ale traktować ją jako jeden zaszumiony pomiar, a nie jako cel. Dobre zgłoszenie poprawia jednocześnie lokalną walidację i tablicę publiczną.
- Dlaczego niektórzy zawodnicy spadają o setki miejsc po ujawnieniu wyników prywatnych?
- Bo ich pozycja była zbudowana na szumie części publicznej, a w gęstym środku rankingu różnice między zespołami są mniejsze niż ten szum. Niewielka zmiana wyniku przekłada się na duże przetasowanie.
- Czy to samo dotyczy benchmarków naukowych?
- Tak, cała społeczność wielokrotnie testująca modele na tym samym benchmarku też adaptuje się do jego szumu i specyfiki. Dlatego powstają nowe zbiory testowe i benchmarki z ukrytymi danymi.
Źródła
- Blum A., Hardt M. (2015). The Ladder: A Reliable Leaderboard for Machine Learning Competitions. ICML 2015.
- Dwork C., Feldman V., Hardt M., Pitassi T., Reingold O., Roth A. (2015). The Reusable Holdout: Preserving Validity in Adaptive Data Analysis. Science, 349(6248), 636–638.
- Roelofs R. i in. (2019). A Meta-Analysis of Overfitting in Machine Learning. NeurIPS 2019.
- Recht B., Roelofs R., Schmidt L., Shankar V. (2019). Do ImageNet Classifiers Generalize to ImageNet? ICML 2019.
- Cawley G. C., Talbot N. L. C. (2010). On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation. Journal of Machine Learning Research, 11, 2079–2107.