Skip to content
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

LBFGS solver part 2: implementing linesearch ensuring sufficient decrease and small curvature #981

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

copybara-service[bot]
Copy link

LBFGS solver part 2: implementing linesearch ensuring sufficient decrease and small curvature

It is recommended to combine LBFGS with a linesearch procedure that ensures not only sufficient decrease but also small curvature along the chosen update direction. We implement the zoom_linesearch presented by Nocedal and Wright, used as reference linesearch method in scipy.

The user API follows the one of the scale_by_backtracking_linesearch, i.e., (i) it is a GradientTransformExtraArgs that requires access to value, grad and value_fn, (ii) it can be combined with any base GradientTransform, (iii) value and gradient computed during the linesearch can be recycled using the optax.value_and_grad_from_state utility.

@copybara-service copybara-service bot force-pushed the test_640585750 branch 7 times, most recently from 50b624e to 66e60c5 Compare June 13, 2024 16:42
…ease and small curvature

It is recommended to combine LBFGS with a linesearch procedure that ensures not only sufficient decrease but also small curvature along the chosen update direction. We implement the zoom_linesearch presented by Nocedal and Wright, used as reference linesearch method in scipy.

The user API follows the one of the scale_by_backtracking_linesearch, i.e., (i) it is a GradientTransformExtraArgs that requires access to value, grad and value_fn, (ii) it can be combined with any base GradientTransform, (iii) value and gradient computed during the linesearch can be recycled using the optax.value_and_grad_from_state utility.

PiperOrigin-RevId: 643033634
@copybara-service copybara-service bot merged commit c4ee3db into main Jun 13, 2024
@copybara-service copybara-service bot deleted the test_640585750 branch June 13, 2024 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant