CIL icon indicating copy to clipboard operation
CIL copied to clipboard

Added BB step size rule to our step size methods

Open MargaretDuff opened this issue 1 year ago • 5 comments

Changes

Adds the BB long and short (from https://en.wikipedia.org/wiki/Barzilai-Borwein_method) step size rule

Adds the stabilisation (adaptive and non-adaptive) from Burdakov, O., Dai, Y.H. and Huang, N., 2019. Stabilized barzilai-borwein method. arXiv preprint arXiv:1907.06409.

Testing you performed

Please add any demo scripts to https://github.com/TomographicImaging/CIL-Demos/tree/main/misc

For a limited angle parallel beam leastsquares +Tikhonov reconstruction using GD the comparison of step size methods is below: image

For a random matrix Ax=b problem, with a leastsquares objective, reconstruction using GD the comparison of step size methods is below: image

For these couple of examples "SHORT" is the most stable. Removing the stabilisation has the potential for very fast convergence but is unstable (and not guaranteed to converge!)

Related issues/links

Closes #748

Checklist

  • [x] I have performed a self-review of my code
  • [x] I have added docstrings in line with the guidance in the developer guide
  • [x] I have updated the relevant documentation
  • [x] I have implemented unit tests that cover any new or modified functionality
  • [ ] CHANGELOG.md has been updated with any functionality change
  • [ ] Request review from all relevant developers
  • [x] Change pull request label to 'Waiting for review'

Contribution Notes

Please read and adhere to the developer guide and local patterns and conventions.

  • [x] The content of this Pull Request (the Contribution) is intentionally submitted for inclusion in CIL (the Work) under the terms and conditions of the Apache-2.0 License
  • [x] I confirm that the contribution does not violate any intellectual property rights of third parties

MargaretDuff avatar Jul 05 '24 15:07 MargaretDuff

Thank you, I can take a look. Could you: Clarify what is plotted on the y-axis, maybe better show y as log, or loglog, and I don't see the green one?

jakobsj avatar Jul 08 '24 10:07 jakobsj

I wasn't aware there so many variants and stabilization methods for BB. We also used BB some years back for a smoothed TV regularization problem and compared with Nesterov acceleration

https://doi.org/10.1007/s10543-011-0359-8

Do you see if these BB methods are related?

jakobsj avatar Jul 08 '24 10:07 jakobsj

Thank you, I can take a look. Could you: Clarify what is plotted on the y-axis, maybe better show y as log, or loglog, and I don't see the green one?

Thanks @jakobsj, I have updated those plots so hopefully they are a bit clearer

MargaretDuff avatar Jul 08 '24 10:07 MargaretDuff

I wasn't aware there so many variants and stabilization methods for BB. We also used BB some years back for a smoothed TV regularization problem and compared with Nesterov acceleration

https://doi.org/10.1007/s10543-011-0359-8

Do you see if these BB methods are related?

image It looks like you do the "LONG" version but then do an additional back tracking procedure.

This could be an option, instead of the "stabilisation" procedure that I use with an option for the user to turn it on or off. I think it was introduced in

Raydan, M.: The Barzilai and Borwein gradient method for the large scale unconstrained minimization problem. SIAM J. Optim. 7, 26–33 (1997)

but I am having trouble accessing it

MargaretDuff avatar Jul 08 '24 10:07 MargaretDuff

I wasn't aware there so many variants and stabilization methods for BB. We also used BB some years back for a smoothed TV regularization problem and compared with Nesterov acceleration https://doi.org/10.1007/s10543-011-0359-8 Do you see if these BB methods are related?

image It looks like you do the "LONG" version but then do an additional back tracking procedure.

This could be an option, instead of the "stabilisation" procedure that I use with an option for the user to turn it on or off. I think it was introduced in

Raydan, M.: The Barzilai and Borwein gradient method for the large scale unconstrained minimization problem. SIAM J. Optim. 7, 26–33 (1997)

but I am having trouble accessing it

Oh and many thanks for comparing. I think no reason to add the backtracking instead of the stabiliser.

jakobsj avatar Jul 09 '24 09:07 jakobsj

Thanks for reviewing @lauramurgatroyd - looks better image

MargaretDuff avatar Aug 21 '24 08:08 MargaretDuff

image Jenkins is happy

MargaretDuff avatar Aug 22 '24 08:08 MargaretDuff