Cross-entropy
Cross-entropy mierzy, jak rozkład przewidywany przez model pasuje do rozkładu docelowego. W uczeniu modelu językowego może pełnić rolę funkcji straty: przypisanie małego prawdopodobieństwa tokenowi z danych zwiększa karę.
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.
Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.