ML Atlas

02 · Dane · 4 min czytania · aktualizacja

Co to jest szum w etykietach i jak błędne etykiety wpływają na model?

W skrócie

Szum w etykietach to błędnie oznaczone przykłady treningowe. Elastyczne modele je zapamiętują i tracą trafność; pomaga regularyzacja i szukanie złych etykiet.

Co to jest

Szum w etykietach (ang. label noise) to sytuacja, w której część przykładów treningowych ma niepoprawną zmienną celu: zdjęcie kota opisane jako pies, zdrowy pacjent oznaczony jako chory, recenzja pozytywna oznaczona jako negatywna. Przyczyny to pomyłki anotatorów, niejednoznaczne przypadki, automatyczne etykietowanie (np. słowa kluczowe, reguły) i błędy w przetwarzaniu danych.

Błędne etykiety są powszechne nawet w znanych zbiorach testowych. Northcutt i współpracownicy (2021) znaleźli błędy w etykietach zbiorów testowych popularnych benchmarków, m.in. ImageNet, i pokazali, że mogą one zmieniać ranking modeli.

Intuicja: uczeń, któremu co dziesiąta odpowiedź w kluczu jest błędna, albo nauczy się ogólnej reguły i zignoruje pomyłki, albo wykuje klucz na pamięć — razem z pomyłkami.

Mechanizm — dlaczego tak działa

Model minimalizuje błąd na etykietach, które dostał. Jeśli przykład ma złą etykietę, model jest „nagradzany” za nauczenie się wyjątku: obszaru w przestrzeni cech, gdzie wbrew sąsiadom obowiązuje inna klasa. Model o dużej elastyczności — drzewo bez ograniczeń, 1-NN, duża sieć neuronowa — potrafi takie wyjątki zapamiętać i robi to: na zbiorze treningowym osiąga 100%, łącznie z błędnymi przykładami. Zhang i in. (2017) pokazali, że duże sieci potrafią dopasować się nawet do całkowicie losowych etykiet.

Model o ograniczonej elastyczności nie ma jak dopasować się do pojedynczych wyjątków, więc uśrednia: błędna etykieta w otoczeniu poprawnych tylko nieznacznie przesuwa granicę. Dlatego regularyzacja, prostsze modele i uśrednianie po sąsiadach (k-NN z większym k) są odporniejsze na szum. To ten sam mechanizm co przy przeuczeniu — szum w etykietach jest po prostu szczególnie złośliwą odmianą szumu, którego model nie powinien się uczyć.

Ważne jest, jaki to szum. Losowy symetryczny (każda etykieta z jednakową szansą zamieniona) głównie zaszumia granicę. Zależny od klasy (np. anotatorzy częściej mylą „wilka” z „psem” niż odwrotnie) systematycznie przesuwa granicę i zniekształca prawdopodobieństwa. Zależny od przykładu (trudne, niejednoznaczne przypadki częściej źle oznaczone) jest najtrudniejszy, bo nakłada się na prawdziwą niejednoznaczność.

Szum w etykietach zbioru testowego ma osobny skutek: zaniża zmierzoną trafność i ogranicza jej górny pułap. Model lepszy od anotatorów będzie wyglądał na gorszego, bo „myli się” tam, gdzie etykieta jest zła.

Co pomaga? Przegląd przykładów, przy których model z walidacji krzyżowej najbardziej nie zgadza się z etykietą — w praktyce to najskuteczniejsza metoda znajdowania błędów (confident learning, Northcutt i in., 2021). Do tego: wielu anotatorów i głosowanie, wygładzanie etykiet (label smoothing), wczesne zatrzymanie (sieci uczą się najpierw wzorców, później wyjątków), odporne funkcje straty.

Na przykładzie

Zbiór Breast Cancer Wisconsin (569 guzów), podział 70/30, średnia z 30 losowań. W danych treningowych zamieniamy losowo etykiety części przykładów; zbiór testowy pozostaje czysty. Bez szumu regresja logistyczna osiąga 97,6%, 1-NN — 95,4%, a drzewo decyzyjne bez ograniczeń — 92,7%. Przy 10% zamienionych etykiet regresja logistyczna spada do 95,3%, a 1-NN do 86,5% i drzewo do 83,9%. Przy 30% szumu: regresja 88,7%, 1-NN 69,1%, drzewo 67,2%. Zapamiętujące modele mają przy tym na zaszumionym treningu stale 100% — uczą się każdej błędnej etykiety. K-NN z k = 15, który uśrednia sąsiadów, przy 30% szumu trzyma 88,9%, tyle co regresja.

Wykrywanie też działa. Gdy w całym zbiorze zamienimy losowo etykiety 57 przykładów (10%), a potem z walidacji krzyżowej regresji logistycznej weźmiemy 57 przykładów z najniższym prawdopodobieństwem przypisanej im etykiety, 51 z nich (89%) to rzeczywiście przykłady z zamienioną etykietą.

Dane: Breast Cancer Wisconsin (diagnostyka raka piersi)

W praktyce

  • Szukanie podejrzanych etykiet: cross_val_predict(model, X, y, method='predict_proba'), potem sortowanie po prawdopodobieństwie podanej etykiety; gotowe narzędzie: biblioteka cleanlab.
  • Odporniejsze modele: silniejsza regularyzacja (C w LogisticRegression), min_samples_leaf w drzewach, większe n_neighbors w k-NN.
  • W PyTorch: nn.CrossEntropyLoss(label_smoothing=0.1) i wczesne zatrzymanie na czystym zbiorze walidacyjnym.
  • Zbiór testowy oznaczaj najstaranniej (wielu anotatorów, rozstrzyganie sporów) — od niego zależy ocena wszystkiego.
  • Mierz zgodność anotatorów (np. kappa Cohena); niska zgodność to górny pułap możliwej trafności.
  • Typowy błąd: automatyczne usuwanie wszystkich „trudnych” przykładów — część z nich to prawdziwe, rzadkie przypadki.

Najczęstsze pytania

Ile szumu w etykietach to dużo?
Zależy od modelu i liczby danych. Kilka procent błędów to norma w ręcznie oznaczanych zbiorach i zwykle nie przeszkadza modelom z regularyzacją, ale może zniekształcić porównanie modeli o zbliżonych wynikach. Kilkanaście procent i więcej wyraźnie obniża trafność elastycznych modeli.
Czy sieci neuronowe są odporne na szum w etykietach?
Nie same z siebie — mają dość pojemności, by zapamiętać błędne etykiety. Uczą się jednak najpierw ogólnych wzorców, więc wczesne zatrzymanie, augmentacja i wygładzanie etykiet wyraźnie pomagają.
Usuwać podejrzane przykłady czy poprawiać etykiety?
Najlepiej przejrzeć je ręcznie i poprawić. Usuwanie jest szybsze, ale część „podejrzanych” to prawdziwe, nietypowe przypadki, a ich usunięcie uczy model łatwiejszego świata niż rzeczywisty.

Źródła

  • Frénay B., Verleysen M. (2014). „Classification in the Presence of Label Noise: A Survey”. IEEE Transactions on Neural Networks and Learning Systems, 25(5), 845–869.
  • Northcutt C. G., Jiang L., Chuang I. L. (2021). „Confident Learning: Estimating Uncertainty in Dataset Labels”. Journal of Artificial Intelligence Research, 70, 1373–1411.
  • Northcutt C. G., Athalye A., Mueller J. (2021). „Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks”. NeurIPS 2021 Datasets and Benchmarks Track.
  • Zhang C., Bengio S., Hardt M., Recht B., Vinyals O. (2017). „Understanding deep learning requires rethinking generalization”. ICLR 2017.
  • Goodfellow I., Bengio Y., Courville A. „Deep Learning”. MIT Press, 2016, rozdz. 7.5 (Noise Robustness).

Zobacz też