Calculate smoothed label values used to regularize classification training targets.
Label smoothing replaces hard one-hot classification targets with a softened distribution: smoothed = (1 − α) × one_hot + α / K, where K is the number of classes and α is the smoothing factor. This means the correct class gets a target of (1 − α) + α/K instead of 1.0, and every incorrect class gets α/K instead of 0.0. This prevents the model from becoming overconfident, improves calibration, and can reduce overfitting, at the cost of the model never being 'encouraged' to output a perfect 100% probability for the correct class.
Correct-class target
target_correct = (1 - alpha) + alpha / K
Other-class target
target_other = alpha / K
α = 0.1 (10%) is the most common default, originating from the Inception-v3 paper and widely reused since; values between 0.05 and 0.2 are typical, with higher values applying stronger regularization at some cost to peak accuracy.
Because the training target itself caps out below 1.0 (specifically at (1−α)+α/K), the cross-entropy loss is minimized when the model's predicted probability matches that capped target, not 1.0 — this discourages overconfident predictions by design.
It generally improves calibration (how well predicted probabilities match actual accuracy) because it discourages the extreme, overconfident logits that come from training directly against hard 0/1 targets.
Yes — since it softens how much the model is penalized for not perfectly matching the given label, it can reduce the negative impact of occasional mislabeled training examples compared to hard-target training.