feat: Raise ValueError for alpha > 1 in sigmoid_focal_loss #8882
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR updates the
sigmoid_focal_loss
function to explicitly raise aValueError
whenalpha > 1
.In the focal loss formulation,
alpha
is meant to balance positive and negative examples and shouldgenerally lie within the range
(0, 1)
or be set to-1
to ignore the balancing factor.Allowing
alpha
to exceed 1 can lead to unexpected behaviors.Changes
alpha > 1
. If true, it raises aValueError
.alpha
are within(0, 1)
or-1
for ignoring.Reasoning
alpha
in the range of(0, 1)
(or-1
)is standard practice.
alpha
does not exceed 1 prevents users from accidentally passing invalid parameters,thus avoiding silent errors or unstable training behavior.
Additional Notes
However, for most applications, restricting
alpha
to(0, 1)
or-1
remains consistent with theoriginal focal loss approach.