You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed the implemented perturbedFenchelYoung loss doesn't look the same as what is in the original paper and in the PyEPO paper. My guess is that from the perspective of tracking the directional improvement of the loss, the Fenchel Dual term is not strictly necessary, and that since we have a linear objective, the impact of the true cost is not needed either and we can just treat the loss as true_sol - expected_perturbed_solution. While this is not the precise definition of pFYL loss, it will show the same directional behavior (subject to some additive/multiplicative constants). Is this understanding correct? Thank you!
The text was updated successfully, but these errors were encountered:
Thank you for asking! This is an excellent question, and your understanding is absolutely correct.
In the perturbed method, the PFY loss is implicitly defined. While we can compute its gradients explicitly, the loss term itself involves the Fenchel Dual term, which cannot be directly calculated. This makes it hard to define the loss function explicitly. What's interesting here is that, even without an explicit loss function, we can still update the model effectively using the gradients.
In the current implementation, I chose to "represent" the loss as true_sol - expected_sol. While this isn't equivalent to the PFY loss as defined in theory, it does serve as a practical surrogate that reflects the quality of decisions to a certain extent.
Incidentally, I recently discussed with Professor Vishal Gupta, and their recent paper, "Decision-Focused Learning with Directional Gradients", explores an explicit PFY loss via "integrate back." I plan to support this feature in future updates to PyEPO.
This is a very insightful and important question. Thanks again for your thoughtful question!
I noticed the implemented perturbedFenchelYoung loss doesn't look the same as what is in the original paper and in the PyEPO paper. My guess is that from the perspective of tracking the directional improvement of the loss, the Fenchel Dual term is not strictly necessary, and that since we have a linear objective, the impact of the true cost is not needed either and we can just treat the loss as
true_sol - expected_perturbed_solution
. While this is not the precise definition of pFYL loss, it will show the same directional behavior (subject to some additive/multiplicative constants). Is this understanding correct? Thank you!The text was updated successfully, but these errors were encountered: