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

Introducing LogExpectedImprovement #1565

Closed
wants to merge 1 commit into from

Conversation

SebastianAment
Copy link
Contributor

Summary:
This commit introduces LogExpectedImprovement, which computes the logarithm of the Expected Improvement acquisition function. By taking special care of numerics, it avoids numerical issues that affect ExpectedImprovement when evaluated at points that with high certainty do not yield improvement. In contrast, LogExpectedImprovement computes both values and gradients in a numerically stable fashion for points that don't yield improvement down to at least 100 orders of magnitude lower posterior standard deviation than vanilla EI in double precision. This allows optimizers to escape the "valley of death" - regions that the surrogate is certain are bad but for which EI does not yield gradients.

On the example test problem in N2901527, using logEI leads to better convergence compared to GPEI and similar performance as running homotopy on the target value without having to run homotopy iterations.
{F822088495}

Reviewed By: Balandat

Differential Revision: D41890063

@facebook-github-bot facebook-github-bot added CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported labels Dec 15, 2022
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D41890063

@codecov
Copy link

codecov bot commented Dec 15, 2022

Codecov Report

Merging #1565 (81ad0db) into main (424c9bc) will not change coverage.
The diff coverage is 100.00%.

❗ Current head 81ad0db differs from pull request most recent head 1620d99. Consider uploading reports for the commit 1620d99 to get more accurate results

@@            Coverage Diff            @@
##              main     #1565   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          153       153           
  Lines        13562     13601   +39     
=========================================
+ Hits         13562     13601   +39     
Impacted Files Coverage Δ
botorch/acquisition/analytic.py 100.00% <100.00%> (ø)
botorch/utils/probability/utils.py 100.00% <100.00%> (ø)
botorch/utils/safe_math.py 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Summary:
Pull Request resolved: pytorch#1565

This commit introduces `LogExpectedImprovement`, which computes the logarithm of the Expected Improvement acquisition function. By taking special care of numerics, it avoids numerical issues that affect `ExpectedImprovement` when evaluated at points that with high certainty do not yield improvement. In contrast, `LogExpectedImprovement` computes both values and gradients in a numerically stable fashion for points that don't yield improvement down to at least **100 orders of magnitude** lower posterior standard deviation than vanilla EI in double precision. This allows optimizers to escape the "valley of death" - regions that the surrogate is certain are bad but for which EI does not yield gradients.

On the example test problem in N2901527, using `logEI` leads to better convergence compared to GPEI and similar performance as running homotopy on the target value without having to run homotopy iterations.
{F822088495}

Reviewed By: Balandat

Differential Revision: D41890063

fbshipit-source-id: 368278afd4b2a84f66664070a70e326d0d66bedf
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D41890063

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in d819b2d.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants