{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"ai/loss-function","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/loss-function/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/loss-function/"},"term":{"en":"Loss function","da":"Tabsfunktion (loss function)"},"aka":{"en":["cost function","objective function"],"da":["loss function","omkostningsfunktion"]},"domain":["ai"],"cluster":"training","layer":"training","status":"current","summary":{"en":"The scoring rule that turns how wrong a model's answer is into a single number, which model training then tries to push down.","da":"Den pointregel, der gør, hvor forkert en models svar er, til ét tal, som modeltræningen så forsøger at presse ned."},"body":{"formal":{"en":"A formula that compares a model's output with the correct answer and returns a number that is larger the worse the output is; model training adjusts model parameters to make its average over the training data as small as possible.","da":"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."},"plain":{"en":"Like the penalty points in a driving test; each mistake adds points, and the learner practises until the total is as low as it can get.","da":"Som strafpoint til en køreprøve - hver fejl giver point, og eleven øver, til summen er så lav som muligt."},"inPractice":{"en":"A developer at a Danish housing association, building a filter for the inbox tenants write to, chooses a loss function that punishes throwing away a tenant's real complaint far harder than letting a piece of junk mail through.","da":"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."},"whyItMatters":{"en":"A model learns exactly what its loss function rewards and nothing else, so a badly chosen score quietly trains it to chase the wrong goal.","da":"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."}},"deepDive":{"en":"Supervised training is usually framed as empirical risk minimisation: choose parameters θ to minimise (1/N) Σᵢ ℓ(f(xᵢ; θ), yᵢ) + λΩ(θ), where ℓ is the per-example loss and Ω an optional regulariser such as the squared L2 norm behind weight decay. Terminology is loose: some texts reserve \"loss\" for a single example, \"cost\" for the average and \"objective\" for the full expression including regularisation, but most code uses \"loss\" for all three. Training typically sees the average over a mini-batch, which is an unbiased estimate of the full-data average.\n\nMost standard losses are negative log-likelihoods under an assumed noise model. Mean squared error corresponds to Gaussian noise and estimates the conditional mean; mean absolute error corresponds to Laplace noise, estimates the median and is more robust to outliers; the Huber loss is quadratic near zero and linear beyond a threshold. For classification, cross-entropy (log loss) −log p(y|x) under a softmax or sigmoid output is the default, and minimising it is equivalent to minimising the KL divergence from the data distribution to the model's. Language models use token-level cross-entropy, and perplexity is simply exp of the mean cross-entropy per token. Other families include the hinge loss of support vector machines, contrastive losses such as InfoNCE used to train embedding models, and KL terms in knowledge distillation and in the RLHF penalty that keeps a policy near its reference model.\n\nThe loss is usually a differentiable surrogate for what is actually wanted. Accuracy and F1 are piecewise constant in the parameters and give zero gradient almost everywhere, so models are trained on cross-entropy and thresholded afterwards. Cross-entropy is a proper scoring rule and in principle rewards calibrated probabilities, though large networks are often overconfident in practice (Guo et al., 2017). Class imbalance and asymmetric costs are handled by per-class weights, by the focal loss of Lin et al. (2017), which multiplies cross-entropy by (1 − pₜ)^γ with γ = 2 as the common default, or by keeping the loss unweighted and moving the decision threshold. Label smoothing replaces one-hot targets with slightly softened ones to discourage overconfidence.\n\nImplementation details cause real bugs. PyTorch's CrossEntropyLoss and BCEWithLogitsLoss expect raw logits and apply log-softmax or sigmoid internally using the numerically stable log-sum-exp trick; feeding them probabilities that have already been through softmax silently degrades training. Monitoring training and validation loss side by side is the primary diagnostic for underfitting and overfitting. Finally, whatever the loss rewards is what the model optimises, including loopholes; a mis-specified loss is the supervised-learning counterpart of reward hacking in reinforcement learning.","da":"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.\n\nDe 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.\n\nTabet 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.\n\nImplementeringsdetaljer 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."},"edges":[{"type":"requires","to":"ai/machine-learning","confidence":"high","strength":"normal"},{"type":"part-of","to":"ai/model-training","why":{"en":"Every round of model training starts by measuring the loss on a batch of examples.","da":"Hver runde modeltræning starter med at måle tabet på en batch eksempler."},"confidence":"high","strength":"primary"},{"type":"causes","to":"ai/ai-bias","why":{"en":"A loss that only rewards being right on average lets a model do badly on small groups without being penalised.","da":"Et tab, der kun belønner at have ret i gennemsnit, lader en model klare sig dårligt for små grupper uden at blive straffet."},"confidence":"medium","strength":"minor"}],"depth":2,"sources":[{"title":"Goodfellow, Bengio & Courville, Deep Learning (ch. 5 and 6.2)","url":"https://www.deeplearningbook.org/","tier":"textbook","publisher":"MIT Press"},{"title":"PyTorch documentation, CrossEntropyLoss","url":"https://docs.pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html","tier":"official-doc","publisher":"PyTorch"},{"title":"Lin et al. (2017), Focal Loss for Dense Object Detection","url":"https://arxiv.org/abs/1708.02002","tier":"reference","publisher":"ICCV 2017"},{"title":"Guo et al. (2017), On Calibration of Modern Neural Networks","url":"https://arxiv.org/abs/1706.04599","tier":"reference","publisher":"ICML 2017"}],"draft":true}