feat(scalarization): Add pbi#746
Open
ppraneth wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds
PBI(Penalty-based Boundary Intersection) from MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition (Zhang & Li, IEEE TEVC 2007).PBI originates in the evolutionary-algorithm literature, but it is a differentiable, loss-only scalarization, so it works with gradient-based optimization and fits
Scalarizer.forward(values)directly, likeSTCHandCOSMOS. It is a distinct decomposition approach (boundary intersection) that handles non-convex Pareto fronts.Working
PBI decomposes the values, relative to a reference point$z^{\ast}$ , into a component along a preference direction and a component perpendicular to it, then penalizes the perpendicular component. With $\hat r = r / \lVert r \rVert$ :
Design
theta(the penalty0reduces PBI to the projection onto the preference direction. The paper uses5and notes there is no single best value, with too large or too small a value worsening the result, so there is no default (same choice asSTCH'smuandCOSMOS'slambda_).weights(the preferenceCOSMOS.reference(the ideal pointSTCH'sreference.Numerical stability
Tests
A value check (
PBI(1, weights=[1, 1])([2, 0]) == 2*sqrt(2)),theta = 0as the pure projection, a reference-shift case, the full formula with non-uniform weights and reference, finiteness of the value and gradient when the values lie on the preference ray (the stability regression test), structure and gradient flow over all input shapes, permutation invariance with uniform weights, negativethetaraising, weights and reference shape mismatches raising, and the representations.