-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regret factor in ForwardBackward #91
Conversation
Based on benchmarks and interest, the default value for regret_gamma could be set greater than, but close to, 1. Another possibility is to take an adaptive regret factor, as common in the convex literature. |
@aldma thanks for this! Some comments
|
Thanks @lostella for you comments
|
Would be nice to have it included indeed! |
According to the current theory, the price for not imposing an upper bound on the stepsize is the fact that each failed linesearch step incurs one (wasted) extra gradient evaluation (an extra Lipschitz-like check is required). I believe that selecting a (very large) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thank you @aldma!
- Expose backtracking factor as `reduce_gamma` - Rename increase factor introduced in #91 from `regret_gamma` to `increase_gamma` - Format code
This PR adds the possibility to specify a regret factor to increase the stepsize gamma at every iteration, if adaptive, before backtracking. Recent results provide convergence guarantees even without a maximum value on gamma [Theorem 14, arXiv:2208.00779v2].
This feature was implemented for ForwardBackward only. Although it does not seem a good fit for accelerated methods like ZeroFPR, PANOC, and PANOCplus, at least when based on quasi-Newton directions, it is unclear whether the FastForwardBackward solver could benefit from it. See discussion in #86 .
Practical performance seems to improve with values regret_gamma close to 1. Tests and references have also been updated accordingly.