Jak to możliwe, że utrata walidacji rośnie, a jednocześnie zwiększa się dokładność walidacji


28

Uczę prostej sieci neuronowej na zbiorze danych CIFAR10. Po pewnym czasie utrata walidacji zaczęła rosnąć, a dokładność walidacji również rośnie. Utrata i dokładność testu stale się poprawiają.

Jak to jest możliwe? Wydaje się, że w przypadku wzrostu utraty walidacji dokładność powinna się zmniejszyć.

PS Jest kilka podobnych pytań, ale nikt nie wyjaśnił, co się tam dzieje.wprowadź opis zdjęcia tutaj


2
Możesz sprawdzić kilka wskazówek do zrozumienia w mojej odpowiedzi tutaj: stats.stackexchange.com/questions/258166/…
ahstat

@ahstat Rozumiem, jak to technicznie możliwe, ale nie rozumiem, jak to się tutaj dzieje.
Konstantin Solomatov

„Ilustracja 2” jest tym, czego doświadczyliśmy ja i ty, co jest rodzajem nadmiernego dopasowania. W przypadku mojego szczególnego problemu problem został rozwiązany po przetasowaniu zestawu.
ahstat

@ahstat Istnieje wiele sposobów walki z nadmiernym dopasowaniem. Na przykład mogę użyć rezygnacji. Co mnie najbardziej interesuje, jakie jest tego wytłumaczenie. Tzn. Dlaczego rośnie tak stopniowo i tylko w górę.
Konstantin Solomatov

Odpowiedzi:


12

Opierając się na odpowiedzi Ankura i komentarzu poniżej, myślę, że możliwy jest następujący scenariusz, chociaż nie mam na to dowodu. Jednocześnie mogą mieć miejsce dwa zjawiska:

  1. Niektóre przykłady z prognozami granicznymi są lepiej przewidywane, a zatem ich klasa wyjściowa zmienia się (np. Obraz kota przewidywany na 0,4 jako kot i 0,6 na konia staje się przewidywany 0,4 na konia i 0,6 na kota). Dzięki temu zwiększa się dokładność, a maleje strata.

  2. Niektóre przykłady z bardzo złymi przewidywaniami ciągle się pogarszają (np. Obraz kota przewidywany na konia jako 0,8 staje się przewidywany na konia jako 0,9) ORAZ / LUB (bardziej prawdopodobne, szczególnie w przypadku wielu klas?) Niektóre przykłady z bardzo dobrym prognozy stają się nieco gorsze (np. obraz kota przewidywany na 0,9 jako kot staje się przewidywany na 0,8 jako kot). Przy tym zjawisku strata wzrasta, a dokładność pozostaje taka sama.

Więc jeśli w pewnym momencie pojawia się zjawisko 2, na wielu przykładach (np. Dla konkretnej klasy, która z jakiegoś powodu nie jest dobrze zrozumiana) i / lub ze wzrostem strat większym niż spadek, który zyskujesz z 1., wtedy możesz znajdź się w swoim scenariuszu.
Po raz kolejny być może nie dzieje się tak, ale myślę, że umiejętność wymyślenia takich scenariuszy musi przypominać nam czasami śliski związek między utratą (dokładnością entropii) a dokładnością.


15

Dokładność zestawu jest oceniana po prostu przez sprawdzenie krzyżowe najwyższej wartości softmax i poprawnej klasy oznaczonej. Nie zależy to od tego, jak wysoka jest wartość softmax. Aby było to jaśniejsze, oto kilka liczb.

Załóżmy, że istnieją 3 klasy - pies, kot i koń. W naszym przypadku właściwą klasą jest koń . Teraz wynik softmax wynosi [0,9, 0,1]. Za tę stratę ~ 0,37. Klasyfikator przewidzi, że jest to koń. Weźmy inny przypadek, w którym wyjście softmax wynosi [0,6, 0,4]. Strata ~ 0,6. Klasyfikator nadal będzie przewidywał, że jest to koń. Ale na pewno strata wzrosła. Chodzi więc o rozkład wyjściowy.


4
Obserwacja: w twoim przykładzie dokładność się nie zmienia. To wciąż 100%. Czy masz przykład, w którym zmniejsza się strata, a także zmniejsza dokładność?
Hugh Perkins,

1

Z odpowiedzi Ankura wydaje mi się, że:

doorrmidot-dolzassmistotzal-dolzassmis

podczas

lmiss

Więc...

Wysoka dokładność walidacji + wysoki wynik straty vs wysoka dokładność treningu + niski wynik straty sugerują, że model może być nadmiernie dopasowany do danych treningowych.


0

Wiele odpowiedzi koncentruje się na obliczeniach matematycznych wyjaśniających, w jaki sposób jest to możliwe. Ale nie wyjaśniają, dlaczego tak się dzieje. I nie mogą zasugerować, jak kopać dalej, aby być bardziej przejrzystym.

Mam 3 hipotezy. I zasugeruj kilka eksperymentów, aby je zweryfikować. Mamy nadzieję, że pomoże to wyjaśnić ten problem.

  1. Etykieta jest głośna. Porównaj fałszywe prognozy między momentem, gdy val_loss jest minimalny, a val_acc jest maksymalny. Sprawdź, czy te próbki są poprawnie oznakowane.
  2. [Mniej prawdopodobne] Model nie ma wystarczającego aspektu informacji, aby być pewnym. Eksperymentuj z coraz większą liczbą ukrytych warstw.
  3. [Bardzo dzikie przypuszczenie] Jest to przypadek, w którym model jest mniej pewny co do pewnych rzeczy jako dłuższych treningów. Taka sytuacja przytrafia się także człowiekowi. Kiedy ktoś zaczął uczyć się techniki, zostaje mu dokładnie powiedziane, co jest dobre, a co złe, po co są pewne rzeczy (wysoka pewność). Kiedy przechodzi przez większą liczbę przypadków i przykładów, zdaje sobie sprawę, że niektóre granice mogą być rozmazane (mniej pewne, wyższa strata), nawet jeśli może podejmować lepsze decyzje (większa dokładność). I może w końcu stać się bardziej pewnym, kiedy zostanie mistrzem po przejrzeniu ogromnej listy próbek i wielu prób i błędów (więcej danych treningowych). Dlatego w tym przypadku proponuję eksperyment z dodaniem większego hałasu do danych treningowych (nie etykiety).

Nie kłóć się o to, jeśli nie zgadzasz się z tą hipotezą. Bardziej sensowne będzie wyjście z eksperymentu w celu ich weryfikacji, bez względu na to, czy je udowodnisz, czy udowodnisz, że się mylą.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.