Cross-entropy
Dwa modele wskazują to samo słowo jako najlepszą kontynuację, ale pierwszy daje mu 80% szans, a drugi tylko 20%. Samo sprawdzenie zwycięzcy pomija tę różnicę. Przy uczeniu potrzebujemy oceny mówiącej, jak mocno model popiera właściwy wynik.
Cross-entropy mierzy dopasowanie przewidywanych prawdopodobieństw do wyniku docelowego. Przy jednym poprawnym tokenie — kawałku tekstu z danych — karą jest minus logarytm przypisanej mu szansy. Logarytm sprawia, że bardzo mała szansa właściwej odpowiedzi oznacza dużą karę.
Dla 0,8 kara wynosi około 0,223, a dla 0,2 około 1,609, przy logarytmie naturalnym. Trening może więc poprawiać pewność właściwych przewidywań nawet wtedy, gdy zwycięzca już jest poprawny.
Softmax wyznacza prawdopodobieństwa; Cross-entropy ocenia je względem celu. Mały błąd na danych nie jest dowodem, że model mówi prawdę w dowolnej rozmowie. Poniższy eksperyment pokazuje wpływ przypisanej szansy na karę.
Mechanizm i szczegóły
oznacza docelowe prawdopodobieństwo kandydata , a prawdopodobieństwo przewidywane. Gdy etykieta wskazuje jeden poprawny token , cały wzór upraszcza się do . Softmax może wyznaczyć rozkład z logitów; Cross-entropy ocenia go względem celu. Dokumentacja PyTorch: CrossEntropyLoss opisuje oba rodzaje etykiet. Ta konkretna funkcja przyjmuje bezpośrednio logity, więc nie należy wcześniej przepuszczać ich przez Softmax.
Co oznacza wartość straty
Własny przykład: model przypisuje poprawnemu tokenowi prawdopodobieństwo 0,8. Strata wynosi około 0,223. Przy prawdopodobieństwie 0,2 rośnie do około 1,609. Używamy logarytmu naturalnego. Dwa modele mogą wskazać ten sam token jako najbardziej prawdopodobny, a mimo to uzyskać różną stratę, ponieważ liczy się także przypisana mu wartość.
Przy Autoregressive Language Modeling celem jest kolejny token z tekstu. Minimalizowanie średniej takiej straty odpowiada maksymalizowaniu log-likelihood danych, bez uwzględnienia dodatkowych składników regularyzacji. Taką postać celu opisują Bengio et al., A Neural Probabilistic Language Model, §2.
Średnia musi dotyczyć właściwych pozycji: padding oraz tokeny wyłączone z oceny nie powinny jej zmieniać. Przy miękkich etykietach celu nie wolno zastępować pełnej sumy pojedynczym . Z uśrednioną stratą dla pojedynczych tokenów wiąże się Perplexity.