Tabsfunktion (loss function)
Også kendt som: loss function, omkostningsfunktion
Den pointregel, der gør, hvor forkert en models svar er, til ét tal, som modeltræningen så forsøger at presse ned.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
En formel, der sammenligner en models output med det rigtige svar og giver et tal, der er større, jo dårligere outputtet er; modeltræning justerer modelparametre, så gennemsnittet over træningsdata bliver så lille som muligt.
Forklaret enkelt
Som strafpoint til en køreprøve - hver fejl giver point, og eleven øver, til summen er så lav som muligt.
I praksis
En udvikler i en dansk boligforening, der bygger et filter til den indbakke, lejerne skriver til, vælger en tabsfunktion, der straffer det langt hårdere at smide en lejers ægte klage væk end at lukke en reklamemail igennem.
Hvorfor det betyder noget
En model lærer netop det, tabsfunktionen belønner, og intet andet, så en dårligt valgt score stille og roligt træner den til at jagte det forkerte mål.
Teknisk uddybning
Superviseret træning formuleres som regel som empirisk risikominimering: vælg parametrene θ, så (1/N) Σᵢ ℓ(f(xᵢ; θ), yᵢ) + λΩ(θ) minimeres, hvor ℓ er tabet pr. eksempel og Ω en valgfri regularisering som den kvadrerede L2-norm bag weight decay. Terminologien er løs: nogle tekster forbeholder "tab" et enkelt eksempel, "omkostning" gennemsnittet og "objektiv" hele udtrykket inklusive regularisering, men det meste kode bruger "loss" om alle tre. Træningen ser typisk gennemsnittet over en mini-batch, som er et middelret estimat af gennemsnittet over alle data.
De fleste standardtab er negative log-likelihoods under en antaget støjmodel. Middelkvadratfejl (MSE) svarer til gaussisk støj og estimerer den betingede middelværdi; middelabsolut fejl svarer til Laplace-støj, estimerer medianen og er mere robust over for outliers; Huber-tabet er kvadratisk nær nul og lineært over en tærskel. Til klassifikation er krydsentropi (log loss) −log p(y|x) under et softmax- eller sigmoid-output standard, og at minimere den svarer til at minimere KL-divergensen fra datafordelingen til modellens. Sprogmodeller bruger krydsentropi pr. token, og perplexity er blot eksponentialfunktionen af den gennemsnitlige krydsentropi pr. token. Andre familier er hinge-tabet fra support vector machines, kontrastive tab som InfoNCE, der bruges til at træne embedding-modeller, og KL-led i knowledge distillation og i den RLHF-straf, der holder en policy tæt på sin referencemodel.
Tabet er som regel et differentierbart surrogat for det, man egentlig vil have. Nøjagtighed og F1 er stykvis konstante i parametrene og giver gradient nul næsten overalt, så modeller trænes på krydsentropi og får sat en tærskel bagefter. Krydsentropi er en proper scoring rule og belønner i princippet kalibrerede sandsynligheder, selv om store netværk i praksis ofte er for selvsikre (Guo m.fl., 2017). Klasseubalance og asymmetriske omkostninger håndteres med vægte pr. klasse, med focal loss fra Lin m.fl. (2017), der ganger krydsentropien med (1 − pₜ)^γ med γ = 2 som almindelig standard, eller ved at lade tabet være uvægtet og flytte beslutningstærsklen. Label smoothing erstatter one-hot-mål med let udglattede mål for at modvirke overdreven selvsikkerhed.
Implementeringsdetaljer giver reelle fejl. PyTorchs CrossEntropyLoss og BCEWithLogitsLoss forventer rå logits og anvender log-softmax eller sigmoid internt med det numerisk stabile log-sum-exp-trick; giver man dem sandsynligheder, der allerede har været gennem softmax, forringes træningen stille. At følge trænings- og valideringstab side om side er den primære diagnose for undertilpasning og overtilpasning. Endelig optimerer modellen det, tabet belønner, inklusive smuthuller; en fejlspecificeret tabsfunktion er superviseret lærings modstykke til reward hacking i forstærkningslæring.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
- Træningsdata
- →Maskinlæring
- →Tabsfunktion (loss function)
Relationer
Kilder og videre læsning
Officiel dokumentation
- PyTorch documentation, CrossEntropyLoss · PyTorch
Opslagsværker
Lærebøger
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Nævnt i
Test dig selv
Indlæser…