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.p - tt 2 p tpt 2pt2 P tp2)+ t2) p2t22 P tp + tp 2t(t2-p2)2 t2)( p + t )2) pt2 t ( t2)- p2))( p2)+ t2))2)pt
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.