ML Atlas

11 · Prawa i prawdy · 4 min czytania · aktualizacja

Czym jest shortcut learning i dlaczego model uczy się złych powodów?

W skrócie

Model uczy się najprostszej reguły, która działa na danych treningowych — często przypadkowego śladu zamiast właściwej cechy — i zawodzi, gdy ten ślad znika.

Co to jest

Modele uczą się najprostszej reguły decyzyjnej, która wystarcza na zbiorze treningowym, nawet jeśli ta reguła opiera się na przypadkowej cesze, która nie będzie działać w nowych warunkach. Pojęcie usystematyzowali Robert Geirhos i współautorzy w 2020 roku w artykule „Shortcut learning in deep neural networks” w Nature Machine Intelligence.

Klasyczne przykłady: klasyfikator zdjęć krów, który rozpoznaje zieloną trawę, a nie krowę, więc myli się, gdy krowa stoi na plaży (Beery i in., 2018). Model wykrywający konie po znaku wodnym z prawami autorskimi, który pojawiał się na wielu zdjęciach koni w zbiorze PASCAL VOC (Lapuschkin i in., 2019). Model wykrywający zapalenie płuc na zdjęciach rentgenowskich, który częściowo nauczył się rozpoznawać, z którego szpitala pochodzi zdjęcie (Zech i in., 2018).

Skrót nie jest błędem uczenia — model robi dokładnie to, o co go poproszono: minimalizuje błąd na danych. Problem polega na tym, że dane pozwalały na tańsze rozwiązanie niż to, które mieliśmy na myśli.

Mechanizm — dlaczego tak działa

Funkcja straty nagradza tylko trafność, nie powody. Jeśli w danych istnieje cecha silnie skorelowana z etykietą i łatwa do wykrycia (kolor tła, znacznik, format pliku), gradient szybko ją znajdzie, bo daje duży spadek straty małym kosztem. Właściwa cecha (kształt zwierzęcia, obraz płuc) jest trudniejsza do wydobycia — a gdy skrót już tłumaczy większość etykiet, nie ma presji, by jej szukać.

Sieci mają przy tym znane preferencje: lubią teksturę bardziej niż kształt i proste, lokalne wzorce bardziej niż globalną strukturę. Skrót, który pokrywa się z tymi preferencjami, wygrywa niemal zawsze.

Skrót jest niewidoczny w standardowej ewaluacji, bo zbiór testowy zwykle pochodzi z tego samego rozkładu co treningowy i zawiera ten sam skrót. Model ma świetny wynik, a wada ujawnia się dopiero po wdrożeniu — w innym szpitalu, w innym kraju, przy innym aparacie. Stąd różnica między generalizacją w obrębie rozkładu (i.i.d.) a generalizacją poza rozkład (out-of-distribution).

Uczenie na skróty jest bliskim krewnym korelacji pozornej i wycieku danych. Korelacja pozorna opisuje dane, wyciek — błąd w przygotowaniu danych, a uczenie na skróty — to, co model z tego robi.

Na przykładzie

Breast Cancer Wisconsin, podział 70/30. Do cech dodaliśmy sztuczny „znacznik”, zgodny z diagnozą w 95% przypadków treningowych — jak pieczątka pracowni, która częściej bada przypadki złośliwe. Regresja logistyczna bez znacznika ma na teście 0,959. Ze znacznikiem, na teście z tą samą zależnością — 0,994. Wygląda na sukces.

Gdy na teście znacznik staje się losowy (inna pracownia), dokładność spada do 0,936 — poniżej modelu, który znacznika nigdy nie widział. Gdy zależność się odwraca, spada do 0,842. Drzewo decyzyjne oparło się na skrócie jeszcze mocniej: 0,965 ze znacznikiem, 0,69 przy odwróconym, wobec 0,906 bez znacznika. Model nie „wiedział”, że znacznik to nie biologia — po prostu działał lepiej.

Dane: Breast Cancer Wisconsin (diagnostyka raka piersi)

W praktyce

  • Testuj na danych z innego źródła (inny szpital, okres, urządzenie) — to jedyny pewny sposób wykrycia skrótu.
  • Sprawdzaj, na co patrzy model: permutation_importance, wartości SHAP, mapy istotności (saliency, Grad-CAM) dla obrazów.
  • Szukaj cech „za dobrych, by były prawdziwe”: identyfikatory, znaczniki czasu, metadane plików.
  • Augmentacja (zmiana tła, kolorów, kadru) usuwa część skrótów, bo niszczy ich korelację z etykietą.
  • Podział danych grupami (GroupKFold po szpitalu czy pacjencie) ujawnia skróty związane ze źródłem danych.

Najczęstsze pytania

Czym różni się uczenie na skróty od przeuczenia?
Przeuczony model dopasowuje szum i słabo działa już na zbiorze testowym z tego samego rozkładu. Model ze skrótem działa świetnie na takim zbiorze, a zawodzi dopiero, gdy rozkład się zmieni.
Czy więcej danych usuwa skróty?
Tylko jeśli nowe dane łamią korelację skrótu z etykietą. Więcej danych z tego samego źródła zwykle utrwala skrót, bo staje się on jeszcze pewniejszy statystycznie.
Czy duże modele językowe też uczą się na skróty?
Tak. Znane są modele wnioskowania językowego, które opierały się na nakładaniu się słów między zdaniami zamiast na znaczeniu (McCoy i in., 2019). Skala zmniejsza niektóre skróty, ale ich nie eliminuje.

Źródła

  • Geirhos R. i in. (2020). Shortcut Learning in Deep Neural Networks. Nature Machine Intelligence, 2, 665–673.
  • Zech J. R. i in. (2018). Variable Generalization Performance of a Deep Learning Model to Detect Pneumonia in Chest Radiographs: A Cross-Sectional Study. PLOS Medicine, 15(11), e1002683.
  • Lapuschkin S. i in. (2019). Unmasking Clever Hans Predictors and Assessing What Machines Really Learn. Nature Communications, 10, 1096.
  • Beery S., Van Horn G., Perona P. (2018). Recognition in Terra Incognita. ECCV 2018.
  • McCoy R. T., Pavlick E., Linzen T. (2019). Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in Natural Language Inference. ACL 2019.

Zobacz też