Funkcja utraty współczynnika kości vs entropia krzyżowa


27

Kiedy trenujesz sieci neuronowe segmentujące piksele, takie jak sieci w pełni splotowe, jak podejmiesz decyzję o zastosowaniu funkcji utraty krzyżowej entropii w porównaniu z funkcją utraty współczynnika kości?

Zdaję sobie sprawę, że to krótkie pytanie, ale nie jestem pewien, jakie inne informacje podać. Przejrzałem całą dokumentację na temat dwóch funkcji utraty, ale nie mam intuicyjnego pojęcia, kiedy używać jednej z nich.


Dlaczego nie skorzystać z praktycznego podejścia do korzystania z obu i porównywania wyników. Patrząc na wiele różnych obszarów zastosowania, omówienie funkcji strat jest własnym tematem rozszerzonych badań. Ponieważ sieci splotowe są wciąż „gorącym tematem”, sądzę, że większość artykułów będzie nadal publikowana w przyszłości.
cherubin

Odpowiedzi:


27

Jednym z istotnych powodów zastosowania entropii krzyżowej w stosunku do współczynnika kości lub podobnej miary IoU jest to, że gradienty są ładniejsze.

Gradienty entropii krzyżowej w logitach przypominają , gdzie jest wyjściami softmax, a jest celem. Tymczasem, jeśli spróbujemy zapisać współczynnik kości w różnej postaci: lub , to uzyskane gradienty wrt są znacznie brzydsze : i . Łatwo jest wyobrazić sobie przypadek, w którym oba i są małe, a gradient wzmaga się do ogromnej wartości. Zasadniczo wydaje się prawdopodobne, że trening stanie się bardziej niestabilny.ptt 2 p tpt 2pt2ptp2+t2 p2t22ptp+tp 2t(t2-p2)2t2(p+t)2 pt2t(t2p2)(p2+t2)2pt


Głównym powodem, dla którego ludzie próbują bezpośrednio zastosować współczynnik kości lub IoU, jest fakt, że faktycznym celem jest maksymalizacja tych wskaźników, a entropia krzyżowa to tylko proxy, które łatwiej jest zmaksymalizować za pomocą propagacji wstecznej. Ponadto współczynnik kości od samego początku lepiej sprawdza się w przypadku problemów niezrównoważonych klas:

Jednak nierównowaga klas jest zazwyczaj rozwiązywana po prostu przez przypisanie mnożników strat do każdej klasy, tak że sieć jest wysoce zniechęcona do po prostu ignorowania klasy, która pojawia się rzadko, więc nie jest jasne, czy współczynnik kości jest naprawdę niezbędny w takich przypadkach.


Zacznę od utraty entropii krzyżowej, która wydaje się być standardową stratą dla sieci segmentacji szkolenia, chyba że istniał naprawdę ważny powód, aby użyć współczynnika kości.


Entropia krzyżowa wszystkich rodzin wykładniczych jest niezłą różnicą . pt
Neil G

3
Kiedy „głównym celem” jest maksymalizacja utraty kości? Sprawdziłem oryginalny artykuł i wszystko, co mówią, to: „otrzymujemy wyniki, które zaobserwowaliśmy eksperymentalnie, są znacznie lepsze niż te obliczone przez tę samą sieć, przeszkoloną w optymalizacji wielomianowej straty logistycznej z ponownym ważeniem próbki”. Nie jest to zbyt przekonujące.
Neil G

@shimao Przez „brzydki” rozumiesz po prostu, że gradienty mogą eksplodować, czy to prawda?
flawr

17

Jak podsumowali @shimao i @cherub, nie można powiedzieć apriori, który z nich będzie działał lepiej na danym zbiorze danych. Prawidłowym sposobem jest wypróbowanie obu i porównanie wyników. Zauważ też, że jeśli chodzi o segmentację, „porównywanie wyników” nie jest takie proste : miary oparte na IoU, takie jak współczynnik kości, obejmują tylko niektóre aspekty jakości segmentacji; w niektórych zastosowaniach należy zastosować różne miary, takie jak średnia odległość od powierzchni lub odległość od powierzchni Hausdorffa . Jak widać, nawet wybór właściwej metryki jakości nie jest trywialny, nie mówiąc już o wyborze najlepszej funkcji kosztu.

Ja osobiście mam bardzo dobre doświadczenie ze współczynnikiem kości; naprawdę robi cuda, jeśli chodzi o nierównowagę klas (niektóre segmenty zajmują mniej pikseli / wokseli niż inne). Z drugiej strony krzywa błędu treningu staje się całkowitym bałaganem: nie dała mi absolutnie żadnych informacji o zbieżności, więc pod tym względem wygrywa entropia krzyżowa. Oczywiście można to / należy obejść, sprawdzając mimo to błąd sprawdzania poprawności.

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.