From 81f2a8845e4434df712cdf9ff0e6e2f0828d88f6 Mon Sep 17 00:00:00 2001 From: jakee417 Date: Wed, 21 Aug 2024 18:40:56 -0700 Subject: [PATCH] Document how to implement custom models (#2474) Summary: ## Motivation Issue https://github.com/pytorch/botorch/issues/2306 ### Have you read the [Contributing Guidelines on pull requests](https://github.com/pytorch/botorch/blob/main/CONTRIBUTING.md#pull-requests)? Yes. Added a tutorial which can be used for smoke tests. Pull Request resolved: https://github.com/pytorch/botorch/pull/2474 Test Plan: Probabilistic linear regression, bayesian linear regression, and ensemble linear regression all yield optimization results close to (0, 0) which is groundtruth answer. Random Forest doesn't seem to achieve groundtruth answer, likely due to its inability to incorporate gradient information into the optimization of the acquisition function. ## Related PRs N/A Reviewed By: esantorella Differential Revision: D61612799 Pulled By: jakee417 fbshipit-source-id: 63d26c048dc4544cae37e89767e14caf732e7749 --- tutorials/custom_model.ipynb | 1033 ++++++++++++++++++++++++++++++++++ website/tutorials.json | 4 + 2 files changed, 1037 insertions(+) create mode 100644 tutorials/custom_model.ipynb diff --git a/tutorials/custom_model.ipynb b/tutorials/custom_model.ipynb new file mode 100644 index 0000000000..0e69ea8c29 --- /dev/null +++ b/tutorials/custom_model.ipynb @@ -0,0 +1,1033 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Custom Models in BoTorch\n", + "In this tutorial, we illustrate how to create a custom surrogate model using the [`Model`](https://github.com/pytorch/botorch/blob/main/botorch/models/model.py) and [`Posterior`](https://github.com/pytorch/botorch/blob/main/botorch/posteriors/posterior.py) interface. We will cover creating surrogate models from: \n", + "- PyTorch distributions\n", + "- Posterior samples (using Pyro)\n", + "- Ensemble of ML predictions\n", + "\n", + "This tutorial differs from the [Using a custom BoTorch model with Ax](https://botorch.org/tutorials/custom_botorch_model_in_ax) tutorial by focusing more on authoring a new model that is compatible with the BoTorch and less on integrating a custom model with Ax's `botorch_modular` API." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "\n", + "# Set the seed for reproducibility\n", + "torch.manual_seed(1)\n", + "# Double precision is highly recommended for BoTorch.\n", + "# See https://github.com/pytorch/botorch/discussions/1444\n", + "torch.set_default_dtype(torch.float64)\n", + "\n", + "train_X = torch.rand(20, 2) * 2\n", + "Y = 1 - (train_X - 0.5).norm(dim=-1, keepdim=True)\n", + "Y += 0.1 * torch.rand_like(Y)\n", + "bounds = torch.stack([torch.zeros(2), 2 * torch.ones(2)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Code to plot our training data." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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eOCBpL6XpCE5ODiyHpfLRba0tJAulyulz/nybw6Tld97kzR+93/pR+X33iS//JvDadrTxUxNTZEEQZD3339/xNd37dpFFhQUkMFgkDQajaRSqSQfeOABsr29nfzlL39J8vl88u233yZJkiRfffVVMi8vj/z73/9O9vX1kYcPHyafffZZ+rO++tWvklu3biX37t1LdnV1kbt37ybFYjHZ0dFBkiRJPv/886RQKCS3bt1K7t+/n2xrayPtdjup0+nI3/zmN/Tn+P3+kOcGBwfJ3bt3kydPniS7u7vp/Tp8eOG82Ww2csuWLeSuXbvIkZERcmRkhPT7/eT7779PAiBnZmZIkiTJY8eOkTwej7znnnvI9vZ28vnnnyelUin5/PPP02MbjUZSrVaTTz75JNnZ2Uk+8MADJI/HI9va2kiSJMndu3eTBoOB3Lt3L2m1Wsl9+/aRv//97yOe23RdN+FwwsHBsQJIxwTQPT4fIhjhj54Jexr3+GMOHTpEAiBfe+21iK8//PDDJABybGyMNBqN5KWXXhry+tVXX01edtllJEmS5C9+8QuypqaG9Hq9iz6nr6+P5PP55NDQUMjzF198Mfn973+fJMkF4QBAnjp1KuQ93/zmN8nt27fTf7/11lukWCymJ/xIXHHFFeTtt99O/71t2zbym9/8Zsh7woXjS1/6EvmJT3wi5D133HEHWV9fT/9tNBrJ6667jv47GAySRUVF5NNPP02SJEnecsst5Pbt28lgMBh13ygyJRycq4qD4wyhb9oZ83XrVGbjHSRJxvW+LVu2LPq7tbUVAPD5z38eLpcLlZWV2LVrF1577TX4/X4AQGNjIwKBAGpqaqBQKOjHnj170N3dTX+eSCTCmjVrQsa49tpr8cEHH2B4eBgA8Morr+CKK66ASqUCsBALuffee7F69Wqo1WooFAq89dZb6O/vT+gctLa24txzzw157txzz0VnZycCgQD9HHP/CIJAcXEx3XfqhhtuwKlTp2CxWHDrrbfi7bffTmgf0gEnHBwcZwhGdex2JSaNPCPjVldXgyAIevIPp7W1FQUFBSgsLFzyswwGA9rb2/HUU09BKpXi61//Oi644AL4fD7Y7Xbw+XwcP34cp06doh+tra147LHH6M+QSqWLgtXnnHMOqqqq8N///d9wuVx47bXXcO2119Kv7969G4899hi++93v4v33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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib import pyplot as plt\n", + "from matplotlib.axes import Axes\n", + "from torch import Tensor\n", + "from mpl_toolkits.mplot3d import Axes3D\n", + "\n", + "# Needed for older versions of matplotlib.\n", + "assert Axes3D\n", + "\n", + "\n", + "def plot_toy_data(x: Tensor, y: Tensor) -> Axes:\n", + " ax = plt.figure().add_subplot(projection=\"3d\")\n", + " ax.scatter(\n", + " x[:, 0].detach().numpy().squeeze(),\n", + " x[:, 1].detach().numpy().squeeze(),\n", + " zs=y.detach().numpy().squeeze(),\n", + " label=\"Observations\",\n", + " )\n", + " ax.set_xlabel(\"X1\")\n", + " ax.set_ylabel(\"X2\")\n", + " ax.set_zlabel(\"Y\")\n", + " ax.set_title(\"Toy Data\")\n", + " ax.view_init(elev=15.0, azim=65)\n", + " ax.legend()\n", + " return ax\n", + "\n", + "\n", + "plot_toy_data(x=train_X, y=Y)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Probabilistic Linear Regression (w/ Torch Distributions)\n", + "BoTorch's `Model` class only requires you to define a `posterior()` method that returns a `Posterior` object, the only requirement of which is to implement an `rsample()` function for drawing posterior samples. Specifically, we can utilize the subclass [`TorchPosterior`](https://github.com/pytorch/botorch/blob/main/botorch/posteriors/torch.py) that directly wraps a [torch distribution](https://pytorch.org/docs/stable/distributions.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[KeOps] Warning : omp.h header is not in the path, disabling OpenMP. To fix this, you can set the environment\n", + " variable OMP_PATH to the location of the header before importing keopscore or pykeops,\n", + " e.g. using os.environ: import os; os.environ['OMP_PATH'] = '/path/to/omp/header'\n", + "[KeOps] Warning : Cuda libraries were not detected on the system or could not be loaded ; using cpu only mode\n" + ] + } + ], + "source": [ + "from typing import Optional, Union\n", + "from torch import Tensor, distributions, nn\n", + "from botorch.acquisition.objective import PosteriorTransform\n", + "from botorch.models.model import Model\n", + "from botorch.posteriors.posterior import Posterior\n", + "from botorch.posteriors.torch import TorchPosterior\n", + "\n", + "\n", + "class ProbabilisticRegressionModel(Model):\n", + " _num_outputs: int\n", + "\n", + " def __init__(self, train_X: Tensor, train_Y: Tensor):\n", + " super(ProbabilisticRegressionModel, self).__init__()\n", + " self._num_outputs = train_Y.shape[-1]\n", + " # Linear layer that will compute the regression output.\n", + " self.linear = nn.Linear(train_X.shape[-1], self.num_outputs)\n", + "\n", + " @property\n", + " def num_outputs(self) -> int:\n", + " return self._num_outputs\n", + "\n", + " def forward(self, x: Tensor) -> distributions.Distribution:\n", + " n, p = x.squeeze().shape\n", + " # For now, let's suppose we have known variance 1.\n", + " return distributions.StudentT(df=n - p, loc=self.linear(x), scale=1)\n", + "\n", + " def posterior(\n", + " self,\n", + " X: Tensor,\n", + " output_indices: Optional[list[int]] = None,\n", + " observation_noise: Union[bool, Tensor] = False,\n", + " posterior_transform: Optional[PosteriorTransform] = None,\n", + " ) -> Posterior:\n", + " if output_indices:\n", + " X = X[..., output_indices]\n", + " # TorchPosterior directly wraps our torch.distributions.Distribution output.\n", + " posterior = TorchPosterior(distribution=self(X))\n", + " if posterior_transform is not None:\n", + " posterior = posterior_transform(posterior)\n", + " return posterior" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def fit_prob_reg(\n", + " epochs: int,\n", + " model: ProbabilisticRegressionModel,\n", + " optimizer: torch.optim.Optimizer,\n", + " train_X: Tensor,\n", + " train_Y: Tensor,\n", + ") -> None:\n", + " \"\"\"Optimization loop for linear regression.\"\"\"\n", + " train_X = train_X.requires_grad_()\n", + " for epoch in range(epochs):\n", + " optimizer.zero_grad()\n", + " outputs = model(train_X)\n", + " loss = -outputs.log_prob(train_Y).mean()\n", + " loss.backward()\n", + " optimizer.step()\n", + " if epoch % 10 == 0:\n", + " print(\"epoch {}, loss {}\".format(epoch, loss.item()))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 0, loss 1.3283335654335957\n", + "epoch 10, loss 1.0691577720241896\n", + "epoch 20, loss 0.9760611872620313\n", + "epoch 30, loss 0.9548081485136333\n", + "epoch 40, loss 0.9551388835842956\n" + ] + } + ], + "source": [ + "prob_regression_model = ProbabilisticRegressionModel(train_X, Y)\n", + "optimizer = torch.optim.Adam(prob_regression_model.parameters(), lr=0.1)\n", + "fit_prob_reg(50, prob_regression_model, optimizer, train_X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vfde2Gw2KJVK2O12PProoxldl4whIiIiBc/i4iJpaWkhi4uLWe3nU88dI9VfepXYv/j/8T/VX3qVfOq5Yzka6XImJycJRVHkG9/4Rtz/33PPPaSkpISwLEvsdjvR6XTk0UcfJe3t7eQ///M/iUQiIa+99hohhJAXX3yR6PV68tvf/pb09vaSY8eOke9973v8vj772c+S3bt3kwMHDpCuri6yb98+olAoSEdHByGEkOeff57IZDKye/ducujQIdLW1ka8Xi+xWCzkueee4/cTDoejvhsYGCD79u0jp0+fJm63mx/XsWNL521mZobs2rWL3HPPPWR4eJgMDw+TcDhM3nrrLQKATE9PE0IIOXHiBKFpmjz88MOkvb2dPP/880SlUpHnn3+e79tutxODwUCeeuop0tnZSR599FFC0zRpa2sjhBCyb98+UllZSQ4cOEB6enrIwYMHyc9//vO45zZX900souAQEVkD5GICcI/NRwmM2J/ucW8OR3yJo0ePEgDkpZdeivv/b3/72wQAGR0dJXa7ndx8881R/7/99tvJLbfcQggh5Fvf+hapq6sjwWBw2X56e3uJRCIhg4ODUd/fcMMN5Mtf/jIhZElwACBnzpyJ2ub+++8n119/Pf/597//PVEoFPyEH4/bbruNPPTQQ/znPXv2kPvvvz9qm1jB8YlPfILcdNNNUdt84QtfIE1NTfxnu91OPvnJT/KfWZYlZrOZPPPMM4QQQj7/+c+T66+/nrAsm3BsHEIJDtFUJSJymdA75Uv6/55JYf0dhJCUttu1a9eyz62trQCAj370o1hcXER1dTXuuecevPTSSwiHwwCA8+fPg2EY1NXVQavV8j/79++H2+3m9yeXy7Fp06aoPu644w68/fbbGBoaAgD87Gc/w2233Ybi4mIAS76QRx55BBs3boTBYIBWq8Xvf/979PX1pXUOWltbcfXVV0d9d/XVV6OzsxMMw/DfRY6PoihYrVa+7tRdd92FM2fOoL6+Hvfddx9ee+21tMaQC0TBISJymWA3JC9X4jBqBOm3trYWFEXxk38sra2tKCkpQWlp6Yr7qqysRHt7O55++mmoVCr89V//Nd773vciFArB6/VCIpHg5MmTOHPmDP/T2tqKJ554gt+HSqVa5qy+8sorUVNTg//6r//C4uIiXnrpJdxxxx38//ft24cnnngCX/ziF/HW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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plot_toy_data(x=train_X, y=Y)\n", + "ax.scatter(\n", + " train_X[:, 0].detach().numpy().squeeze(),\n", + " train_X[:, 1].detach().numpy().squeeze(),\n", + " zs=prob_regression_model(train_X).mean.detach().squeeze().numpy(),\n", + ")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, since our custom model is based off `Model` and `Posterior`, we can use both analytic and MC based acquisition functions for optimization." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0., 0.]]), tensor(-0.1007))" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from botorch.acquisition.analytic import LogExpectedImprovement\n", + "from botorch.optim.optimize import optimize_acqf\n", + "\n", + "candidate, acq_val = optimize_acqf(\n", + " LogExpectedImprovement(model=prob_regression_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + ")\n", + "candidate, acq_val" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before using `qLogExpectedImprovement` we need to register an appropriate sampler for the `TorchPosterior`. We can use the following code to create a `MCSampler` for that is specific to `torch.distributions.StudentT`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from botorch.sampling.base import MCSampler\n", + "from botorch.sampling.get_sampler import GetSampler\n", + "from botorch.sampling.stochastic_samplers import ForkedRNGSampler\n", + "\n", + "\n", + "@GetSampler.register(distributions.StudentT)\n", + "def _get_sampler_torch(\n", + " posterior: TorchPosterior,\n", + " sample_shape: torch.Size,\n", + " *,\n", + " seed: Optional[int] = None,\n", + ") -> MCSampler:\n", + " # Use `ForkedRNGSampler` to ensure determinism in acquisition function evaluations.\n", + " return ForkedRNGSampler(sample_shape=sample_shape, seed=seed)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0., 0.]]), tensor(-0.1105))" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from botorch.acquisition.logei import qLogExpectedImprovement\n", + "\n", + "optimize_acqf(\n", + " qLogExpectedImprovement(model=prob_regression_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Supported PyTorch Distributions\n", + "Although we chose the `StudentT` distribution in the above example, any distribution supporting the `rsample` method will work with BoTorch's automatic differentiation. We can use the `has_rsample` attribute to see a complete listing of compatible distributions." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Beta', 'Cauchy', 'Chi2', 'ContinuousBernoulli', 'Dirichlet', 'Exponential', 'FisherSnedecor', 'Gamma', 'Gumbel', 'HalfCauchy', 'HalfNormal', 'Independent', 'InverseGamma', 'Kumaraswamy', 'Laplace', 'LogNormal', 'LogisticNormal', 'LowRankMultivariateNormal', 'MultivariateNormal', 'Normal', 'OneHotCategoricalStraightThrough', 'Pareto', 'RelaxedBernoulli', 'RelaxedOneHotCategorical', 'StudentT', 'Uniform', 'Weibull', 'Wishart', 'TransformedDistribution']\n" + ] + } + ], + "source": [ + "print(\n", + " [\n", + " j.__name__\n", + " for j in [getattr(distributions, i) for i in distributions.__all__]\n", + " if hasattr(j, \"has_rsample\") and j.has_rsample\n", + " ]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Bayesian Linear Regression\n", + "In the previous section, we directly parameterized a \"posterior\" with a linear layer. In this section, we will follow Chapter 14.2 of [Bayesian Data Analysis](https://stat.columbia.edu/~gelman/book/) to implement a *proper* posterior analytically. This implementation also uses `TorchPosterior` and the `StudentT` distribution like before." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Optional, Union\n", + "from torch import Tensor, distributions, nn\n", + "from botorch.acquisition.objective import PosteriorTransform\n", + "from botorch.models.model import Model\n", + "from botorch.posteriors.posterior import Posterior\n", + "from botorch.posteriors.torch import TorchPosterior\n", + "\n", + "\n", + "def add_intercept(x: Tensor) -> Tensor:\n", + " \"\"\"Adds an intercept column to the design matrix (i.e. tensor).\"\"\"\n", + " return torch.concat([torch.ones_like(x)[..., 0:1], x], dim=-1)\n", + "\n", + "\n", + "class BayesianRegressionModel(Model):\n", + " _num_outputs: int\n", + " df: int\n", + " s_squared: Tensor\n", + " beta: Tensor\n", + " L: Tensor\n", + " add_intercept: bool\n", + "\n", + " def __init__(self, intercept: bool = True) -> None:\n", + " super(BayesianRegressionModel, self).__init__()\n", + " self.add_intercept = intercept\n", + "\n", + " @property\n", + " def num_outputs(self) -> int:\n", + " return self._num_outputs\n", + "\n", + " def forward(self, x: Tensor) -> Tensor:\n", + " return x @ self.beta\n", + "\n", + " def fit(self, x: Tensor, y: Tensor) -> None:\n", + " self._num_outputs = y.shape[-1]\n", + " x = add_intercept(x) if self.add_intercept else x\n", + " n, p = x.shape\n", + " self.df = n - p\n", + " # Rather than V = torch.linalg.inv(x.T @ x) as in BDA\n", + " # instead use L = torch.linalg.cholesky(x.T @ x) for stability.\n", + " # To use L, we can simply replace operations like:\n", + " # x = V @ b\n", + " # with a call to `torch.cholesky_solve`:\n", + " # x = torch.cholesky_solve(b, L)\n", + " self.L = torch.linalg.cholesky(x.T @ x)\n", + " # Least squares estimate\n", + " # self.beta = torch.cholesky_solve(x.T, self.L) @ y\n", + " self.beta = torch.cholesky_solve(x.T, self.L) @ y\n", + " # Model's residuals from the labels.\n", + " r: Tensor = y - self(x)\n", + " # Sample variance\n", + " self.s_squared = (1 / self.df) * r.T @ r\n", + "\n", + " def posterior(\n", + " self,\n", + " X: Tensor,\n", + " output_indices: Optional[list[int]] = None,\n", + " observation_noise: Union[bool, Tensor] = False,\n", + " posterior_transform: Optional[PosteriorTransform] = None,\n", + " ) -> Posterior:\n", + " # Squeeze out the q dimension if needed.\n", + " n, q, _ = X.shape\n", + " if output_indices:\n", + " X = X[..., output_indices]\n", + " if self.add_intercept:\n", + " X = add_intercept(X)\n", + " loc = self(X)\n", + " # Full covariance matrix of all test points.\n", + " cov = self.s_squared * (\n", + " torch.eye(n, n) + X.squeeze() @ torch.cholesky_solve(X.squeeze().T, self.L)\n", + " )\n", + " # The batch semantics of BoTorch evaluate each data point in their own batch.\n", + " # So, we extract the diagonal representing Var[\\tilde y_i | y_i] of each test point.\n", + " scale = torch.diag(cov).reshape(n, q, self.num_outputs)\n", + " # Form the posterior predictive dist according to Sec 14.2, Pg 357 of BDA.\n", + " posterior_predictive_dist = distributions.StudentT(\n", + " df=self.df, loc=loc, scale=scale\n", + " )\n", + " posterior = TorchPosterior(distribution=posterior_predictive_dist)\n", + " if posterior_transform is not None:\n", + " posterior = posterior_transform(posterior)\n", + " return posterior" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "bayesian_regression_model = BayesianRegressionModel(intercept=True)\n", + "bayesian_regression_model.fit(train_X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAGbCAYAAADTH3dUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADOkElEQVR4nOy9d3gsV33//57Z3rXaXa2k1Rb1cnsvLve6cTHGMQEcDC4YgiEBY8CGUMIXEhtwjHEDbBMHsE0oIU6w4/xM3O1bdXvT1VXvvXdtnTm/P8TM3a7tWu2d1/PsI+3snjlnZmfOZz71UIQQAgEBAQEBgRihV3oAAgICAgKrC0FwCAgICAjEhSA4BAQEBATiQhAcAgICAgJxIQgOAQEBAYG4EASHgICAgEBcCIJDQEBAQCAuBMEhICAgIBAXguAQEBAQEIgLQXAICAgICMSFIDgEsgaKomJ6vf/++2kdx969e/m+aJqGVqtFdXU17rzzTrz11ltJ7fuZZ57BCy+8kJqBCgisEJRQq0ogW/jtb38b8P43v/kN3nrrLfz7v/97wPYbbrgBZrM5bePYu3cvOjo68PDDDwMAFhYW0N7ejj/96U/o7OzE3/zN3+C3v/0tJBJJ3Pteu3YtjEZj2oWfgEA6Ea/0AAQEOO64446A90ePHsVbb70Vsj0T6HS6kH7/5V/+Bffddx+eeeYZOBwOPPLIIxkfl4BANiCYqgRWFQsLC3jggQdgtVohk8lQXV2Nn/zkJ/BXnPfs2YMNGzaEbV9dXY19+/Yl1LdIJMJPf/pT1NXV4ec//zlmZmb4z55//nlce+21KCgogEwmQ11dHZ599tmA9g6HA42Njdi/fz9vCtu7dy8AYHJyEl//+texbt06qNVqaLVa3HjjjTh37lxCYxUQSCeC4BBYNRBC8Fd/9Vd44okn8MEPfhCPP/44qqur8Y1vfAP3338//70777wT58+fx4ULFwLanzhxAq2trUlpMCKRCJ/85CexuLiIQ4cO8dufffZZ2O12fOc738Fjjz0Gq9WKL37xi3j66af57zz55JMoKSlBTU0N/v3f/x3//u//jn/8x38EAHR2duKVV17Bhz/8YTz++OP4xje+gYaGBuzZsweDg4MJj1dAIC0QAYEs5Utf+hLxv0RfeeUVAoD84Ac/CPjexz/+cUJRFGlvbyeEEDI9PU3kcjn55je/GfC9++67j6hUKjI/Px+13z179pA1a9ZE/Pzll18mAMhTTz3Fb1tcXAz53r59+0hZWVnAtjVr1pA9e/aEfNflchGGYQK2dXV1EZlMRh588MGo4xUQyDSCxiGwavjzn/8MkUiE++67L2D7Aw88AEII/u///g/Akn/illtuwR/+8AfehMUwDP74xz/iIx/5CFQqVVLjUKvVAIC5uTl+m0Kh4P+fmZnB+Pg49uzZg87OzgCTViRkMhlomubHOjExAbVajerqapw+fTqp8QoIpBpBcAisGnp6elBcXAyNRhOwvba2lv+c46677kJvby8OHjwIAHj77bcxMjKCO++8M+lxzM/PA0DAOA4fPozrr78eKpUKeXl5MJlM+M53vgMAMQkOlmXxxBNPoLKyEjKZDEajESaTCefPn4+pvYBAJhEEh0BOsm/fPpjNZj7E97e//S0KCwtx/fXXJ71vzndSUVEBAOjo6MB1112H8fFxPP7443jttdfw1ltv4Wtf+xqAJaGwHD/60Y9w//334+qrr8Zvf/tbvPHGG3jrrbewZs2amNoLCGQSIRxXYNVgt9vx9ttvY25uLuBpv7m5mf+cQyQS4VOf+hReeOEFPPLII3jllVdwzz33QCQSJTUGhmHw+9//HkqlEldeeSUA4H//93/hdrvx6quvwmaz8d997733QtpTFBV2v//1X/+Fa665Br/61a8Ctk9PT8NoNCY1ZgGBVCNoHAKrhg996ENgGAY///nPA7Y/8cQToCgKN954Y8D2O++8E1NTU/jCF76A+fn5pPNBGIbBfffdh6amJtx3333QarUAwAsj4hcSPDMzg+effz5kHyqVCtPT0yHbRSJRQHsAeOmllzAwMJDUmAUE0oGgcQisGm6++WZcc801+Md//Ed0d3djw4YNePPNN/E///M/+OpXv4ry8vKA72/atAlr167FSy+9hNraWmzevDnmvmZmZngz1+LiIp853tHRgdtuuw0PPfQQ/90PfOADkEqluPnmm3kh9W//9m8oKCjA0NBQwH63bNmCZ599Fj/4wQ9QUVGBgoICXHvttfjwhz+MBx98EJ/5zGewe/duNDQ04He/+x3KysqSOGMCAmliZYO6BAQiExyOSwghc3Nz5Gtf+xopLi4mEomEVFZWkkcffZSwLBt2Hz/+8Y8JAPKjH/0o5n737NlDAPAvtVpNKisryR13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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plot_toy_data(x=train_X, y=Y)\n", + "ax.scatter(\n", + " train_X[:, 0].detach().numpy().squeeze(),\n", + " train_X[:, 1].detach().numpy().squeeze(),\n", + " zs=bayesian_regression_model(add_intercept(train_X)).detach().squeeze().numpy(),\n", + ")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0., 0.]]), tensor(-1.3847))" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optimize_acqf(\n", + " LogExpectedImprovement(model=bayesian_regression_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0., 0.]]), tensor(-1.3684))" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optimize_acqf(\n", + " qLogExpectedImprovement(model=bayesian_regression_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Bayesian Linear Regression w/ `EnsemblePosterior`\n", + "The `EnsembleModel` class provides a default implementation for `posterior()`. Then the MC acquisition function will be optimized using samples from the posterior predictive distribution (`EnsemblePosterior` also implements `mean` and `variance` properties, so some other analytic acquisition functions will also work). We follow this [Pyro tutorial](https://pyro.ai/examples/bayesian_regression.html#Bayesian-Regression-with-Pyro%E2%80%99s-Stochastic-Variational-Inference-(SVI)) for a linear regression model fit with [Stochastic Variational Inference](https://pyro.ai/examples/svi_part_i.html) (SVI)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, we define a Pyro model capable of sampling from a posterior predictive distribution for new observations at test points. Later, when we perform posterior predictive inference, we will use Pyro's [`Predictive`](https://docs.pyro.ai/en/dev/_modules/pyro/infer/predictive.html) class. By default, `Predictive` ignores inference gradients with:\n", + "\n", + "```python\n", + "model = torch.no_grad()(poutine.mask(model, mask=False) if mask else model)\n", + "```\n", + "\n", + "Since we need to retain the autograd graph to optimize the acquisition function, we can use `torch.set_grad_enabled(True)` in the `forward()` method to override this behavior." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "import pyro\n", + "import pyro.distributions as dist\n", + "from pyro.infer.autoguide import AutoGuide, AutoDiagonalNormal\n", + "from pyro.nn import PyroSample, PyroModule\n", + "from pyro.infer import SVI, Trace_ELBO\n", + "from pyro.optim import PyroOptim\n", + "\n", + "pyro.set_rng_seed(1)\n", + "\n", + "\n", + "# Bayesian Regression represented as a single hidden layer.\n", + "class BayesianRegression(PyroModule):\n", + " Y: str = \"y\"\n", + "\n", + " def __init__(self, in_features: int, out_features: int):\n", + " super().__init__()\n", + " # Linear layer like before, but wrapped with PyroModule.\n", + " self.linear = PyroModule[nn.Linear](in_features, out_features)\n", + " # Add priors to the weights & bias of the linear layer.\n", + " self.linear.weight = PyroSample(\n", + " dist.Normal(0.0, 1.0)\n", + " .expand(torch.Size([out_features, in_features]))\n", + " .to_event(2)\n", + " )\n", + " self.linear.bias = PyroSample(\n", + " dist.Normal(0.0, 10.0).expand(torch.Size([out_features])).to_event(1)\n", + " )\n", + "\n", + " def forward(self, x: Tensor, y: Optional[Tensor] = None) -> Tensor:\n", + " # NOTE: Enable gradient tracking to override behavior of `Predictive`.\n", + " torch.set_grad_enabled(True)\n", + " # Prior for the noise level.\n", + " sigma = pyro.sample(\"sigma\", dist.Uniform(0.0, 10.0))\n", + " # Linear layer on the inputs.\n", + " mean = self.linear(x).squeeze(-1)\n", + " n, p = x.shape[0], x.shape[-1]\n", + " with pyro.plate(\"data\", x.shape[0]):\n", + " # Observations will be t distributed.\n", + " t_dist = dist.StudentT(df=n - p, loc=mean, scale=sigma)\n", + " _ = pyro.sample(self.Y, t_dist, obs=y)\n", + " return mean" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "def fit_svi(\n", + " epochs: int,\n", + " model: PyroModule,\n", + " guide: AutoGuide,\n", + " optimizer: PyroOptim,\n", + " train_X: Tensor,\n", + " train_Y: Tensor,\n", + ") -> None:\n", + " svi = SVI(\n", + " model,\n", + " guide,\n", + " optimizer,\n", + " loss=Trace_ELBO(),\n", + " )\n", + " pyro.clear_param_store()\n", + " for epoch in range(epochs):\n", + " loss = svi.step(train_X, train_Y.squeeze())\n", + " if epoch % 10 == 0:\n", + " print(\"epoch {}, loss {}\".format(epoch, loss))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we incorporate our Pyro model into the `Model` and `Posterior` interface like before. `EnsemblePosterior` expects a `(b) x s x q x m` tensor where `m` is the output size of the model and `s` is the ensemble size." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "from botorch.models.ensemble import EnsembleModel\n", + "from pyro.infer import Predictive\n", + "\n", + "class EnsembleBayesianRegressionModel(EnsembleModel):\n", + " model: BayesianRegression\n", + " guide: AutoGuide\n", + " num_samples: int\n", + " _num_outputs: int\n", + "\n", + " def __init__(self, train_X: Tensor, train_Y: Tensor, num_samples: int = 100):\n", + " super(EnsembleBayesianRegressionModel, self).__init__()\n", + " self._num_outputs = train_Y.shape[-1]\n", + " self.model = BayesianRegression(train_X.shape[-1], self.num_outputs)\n", + " self.guide = AutoDiagonalNormal(self.model)\n", + " self.num_samples = num_samples\n", + "\n", + " def forward(self, X: Tensor) -> Tensor:\n", + " predictive = Predictive(\n", + " self.model,\n", + " guide=self.guide,\n", + " num_samples=self.num_samples,\n", + " # Only return the posterior predictive distribution for y.\n", + " return_sites=(self.model.Y,),\n", + " )\n", + " # `EnsemblePosterior` expects a `(b) x s x q x m` tensor where `m` is the\n", + " # output size of the model and `s` is the ensemble size.\n", + " samples = (\n", + " # Retrieve posterior samples from the observation random variable.\n", + " # This is also known as a posterior predictive distribution.\n", + " predictive(X.squeeze())[self.model.Y]\n", + " # Move the ensemble dimension to \"s\" axis.\n", + " .transpose(0, 1)\n", + " # Reshape for `EnsemblePosterior` as mentioned above.\n", + " .reshape(X.shape[0], -1, 1, self.num_outputs)\n", + " )\n", + " return samples" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 0, loss 57.859971924474735\n", + "epoch 10, loss 47.17245571053782\n", + "epoch 20, loss 27.547291517941602\n", + "epoch 30, loss 34.39363837327427\n", + "epoch 40, loss 43.94011251783476\n", + "epoch 50, loss 33.11519462561163\n", + "epoch 60, loss 28.7194289840763\n", + "epoch 70, loss 24.450418378181947\n", + "epoch 80, loss 11.057529271793364\n", + "epoch 90, loss 13.638860647173294\n" + ] + } + ], + "source": [ + "ensemble_bayesian_regression_model = EnsembleBayesianRegressionModel(\n", + " train_X=train_X, train_Y=Y\n", + ")\n", + "fit_svi(\n", + " 100,\n", + " ensemble_bayesian_regression_model.model,\n", + " ensemble_bayesian_regression_model.guide,\n", + " pyro.optim.Adam({\"lr\": 0.1}),\n", + " train_X,\n", + " Y,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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i4s88cQT3HHHHcrzDzzwAA8//DCf+9zneP755zlz5gy33XYbXq83zrOyOnq9PuR/QRCUIP7evXvp7OzkvvvuY3FxkXe/+928853vTMlxREJtcqiicoVQmZfBjTV5HG0bIxB0968VBK6vdlDhSI1w5Obm8oY3vIHvf//7fPrTn1aa78FSx9/HH3+cO++8U5nMT5w4EbL9iRMnaGhoUP43m8287W1v421vexsf//jHqa+v59y5c+zZs4dAIMDIyAg33HBDzMd5xx138Pjjj+N0OtFoNLzlLW9Rnjt69Chvf/vbef/73w+AKIq0tLTQ2NiovMZgMIRYDeFoaGjg6NGjIY8dPXqU2tramJoQ2u123vOe9/Ce97yHd77znbzpTW9iYmKCnJycqPeRCKrFoaJyBfGP793D9dWOkMeur3bwj+/dk9Jxv/vd7+LxeLjttts4dOgQvb29/P73v+cNb3gDJSUlfPWrX1Vee/ToUb7xjW/Q0tLC9773PX7xi1/wqU99CljKivqXf/kXzp8/T0dHBz/96U8xm824XC5qa2u54447uPPOO/nlL39JZ2cnL730Evfffz+//e1v1zzGO+64g1deeYWvfvWrvPOd78RoNCrP1dTU8PTTT3Ps2DEuXbrExz72MYaHh0O2Ly8v5+TJk3R1dTE2NhY2zfczn/kMzz77LPfddx8tLS089thjfPe73+Uv//Ivoz6XDz74ID//+c9pamqipaWFX/ziFxQWFiputbSQ1IiJiopKSkh2kLNjdE56rmk4ZQHxcHR1dUkf/OAHpYKCAkmv10ulpaXSJz/5SWlsbEx5jcvlkr785S9L73rXuySLxSIVFhZKDz/8sPL8E088Ie3fv1+y2+2S1WqVrr32WumZZ55Rnvd6vdLf/d3fSeXl5ZJer5eKioqkP/qjP5LOnj0rSdJScDwzMzPiMV5zzTUSID333HMhj4+Pj0tvf/vbpYyMDCk/P1/64he/KN15553S29/+duU1zc3N0rXXXiuZzWYJkDo7O1cExyVJkv7rv/5LamxslPR6vVRWViY98MADIWO5XC7p29/+dshju3btkr70pS9JkiRJP/zhD6Xdu3dLVqtVstvt0i233CK98sorYd9PqoLjgiRFGbFSUVFZN9xuN52dnVRUVGAymdb7cFQ2Cam6blRXlYqKiopKTKjCoaKioqISE6pwqKio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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plot_toy_data(x=train_X, y=Y)\n", + "ax.scatter(\n", + " train_X[:, 0].detach().numpy().squeeze(),\n", + " train_X[:, 1].detach().numpy().squeeze(),\n", + " zs=ensemble_bayesian_regression_model(train_X)\n", + " .detach()\n", + " .squeeze()\n", + " .mean(dim=-1)\n", + " .numpy(),\n", + ")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0., 0.]]), tensor(-1.0121))" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optimize_acqf(\n", + " LogExpectedImprovement(model=ensemble_bayesian_regression_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0., 0.]]), tensor(-0.8815))" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optimize_acqf(\n", + " qLogExpectedImprovement(model=ensemble_bayesian_regression_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Random Forest w/ Ensemble Posterior\n", + "Finally, we move away from linear models to any ML technique that ensembles many models. Specifically, we can use the [RandomForestRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html) from sklearn which is an ensemble method of individual decision trees. These decision trees can be accessed through the object's `estimators_` attribute." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from botorch.models.ensemble import EnsembleModel\n", + "\n", + "\n", + "class EnsembleRandomForestModel(EnsembleModel):\n", + " model: RandomForestRegressor\n", + " num_samples: int\n", + " _num_outputs: int\n", + "\n", + " def __init__(self, num_samples: int = 100):\n", + " super(EnsembleRandomForestModel, self).__init__()\n", + " self._num_outputs = 1\n", + " self.model = RandomForestRegressor(n_estimators=num_samples)\n", + "\n", + " def fit(self, X: Tensor, y: Tensor) -> None:\n", + " self.model = self.model.fit(\n", + " X=X.detach().numpy(), y=y.detach().numpy().squeeze()\n", + " )\n", + "\n", + " def forward(self, X: Tensor) -> Tensor:\n", + " x = X.detach().numpy().squeeze()\n", + " # Create the ensemble from predictions from each decision tree.\n", + " y = torch.from_numpy(np.array([i.predict(x) for i in self.model.estimators_]))\n", + " # `EnsemblePosterior` expects a `(b) x s x q x m` tensor where `m` is the\n", + " # output size of the model and `s` is the ensemble size.\n", + " samples = y.transpose(0, 1).reshape(X.shape[0], -1, 1, self.num_outputs)\n", + " return samples" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "ensemble_random_forest_model = EnsembleRandomForestModel(num_samples=300)\n", + "ensemble_random_forest_model.fit(X=train_X, y=Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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m9T3kjREQEAg53G73eTChQvE7Xan9Dmf/NURUvXNl4j1G//LP6q++RL55K+OpGlPFzIxMUEoiiI//vGPI75+2223Eb1eT1iWJVarlWg0GnLvvfeS1tZW8l//9V9EJBKRV199lRBCyPPPP08KCgrIP/7xD9LT00OOHDlCnnzySf6zPvOZz5CtW7eSffv2kY6ODrJr1y4ik8lIW1sbIYSQp556ikgkErJ161Zy4MAB0tLSQhwOBzGbzeRXv/oV/zmBQCDkuf7+frJr1y5y6tQp0tnZye/XkSPz5216epps2bKF3HbbbWRoaIgMDQ2RQCBA3nzzTQKATE1NEUIIOX78OKFpmvzwhz8kra2t5KmnniIKhYI89dRT/NhWq5UYDAby6KOPkvb2dnLvvfcSmqZJS0sLIYSQXbt2EYvFQvbt20fsdjvZv38/+f3vfx/x3KbruglHEA4BgWVAOiaAztG5EMEIf3SNOdK4x+9w+PBhAoC88MILEV+///77CQAyMjJCrFYruf7660Nev/nmm8kNN9xACCHk5z//OamrqyM+n2/B5/T09BCRSEQGBgZCnr/22mvJt771LULIvHAAIKdPnw55z5e+9CVyzTXX8H+/8sorRCaT8RN+JG688UZy11138X9v27aNfOlLXwp5T7hwfPzjHyfvete7Qt7zta99jTQ1NfF/W61W8olPfIL/m2VZUlRURB5//HFCCCFf/OIXyTXXXENYlo26bxyZEg7BVSUgcJHQM+mK+bp9IrPxDkJIXO/bsmXLgr+bm5sBAB/+8IfhdrtRVVWF2267DS+88AICgQAA4OzZs2AYBnV1dVCr1fxj79696Ozs5D9PKpVi9erVIWPs2LEDe/bsweDgIADgueeew4033gidTgdgPhZy9913Y9WqVTAYDFCr1XjllVfQ29ub0Dlobm7GZZddFvLcZZddhvb2djAMwz8XvH8URaG4uJjvO3XLLbfg9OnTqK+vxx133IFXX301oX1IB4JwCAhcJFgNsduV2IyqjIxbU1MDiqL4yT+c5uZm6PV6FBYWLvpZFosFra2teOyxx6BQKPD5z38eV155Jfx+PxwOB0QiEU6cOIHTp0/zj+bmZjz00EP8ZygUigXB6ksvvRTV1dX44x//CLfbjRdeeAE7duzgX9+1axceeughfOMb38Cbb76J06dPY/v27fD5fEmeldhI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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plot_toy_data(x=train_X, y=Y)\n", + "ax.scatter(\n", + " train_X[:, 0].detach().numpy().squeeze(),\n", + " train_X[:, 1].detach().numpy().squeeze(),\n", + " zs=ensemble_random_forest_model(train_X).detach().squeeze().mean(dim=-1).numpy(),\n", + ")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to use gradient-based optimization of the acquisition function (via the standard `optimize_acqf()` method) we will need to have the samples drawn from the posterior be differentiable w.r.t. to the input to the `posterior()` method (this is not the case for Random Forest models). Instead, we will perform the acquisition function optimization with gradient-free methods." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0.3959, 1.3023]]), tensor(-4.3914))" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optimize_acqf(\n", + " LogExpectedImprovement(model=ensemble_random_forest_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + " options={\"with_grad\": False},\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[0.9057, 0.0959]]), tensor(-15.1323))" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optimize_acqf(\n", + " qLogExpectedImprovement(model=ensemble_random_forest_model, best_f=Y.max()),\n", + " bounds=bounds,\n", + " q=1,\n", + " num_restarts=5,\n", + " raw_samples=10,\n", + " options={\"with_grad\": False},\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### CMA-ES\n", + "We can also move the optimization loop out of BoTorch entirely and follow the [CMA-ES tutorial](https://botorch.org/tutorials/optimize_with_cmaes) to optimize with an evolution strategy." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(25_w,50)-aCMA-ES (mu_w=14.0,w_1=14%) in dimension 2 (seed=380612, Wed Aug 21 17:25:36 2024)\n" + ] + }, + { + "data": { + "text/plain": [ + "tensor([0.4497, 0.8411])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import cma\n", + "import numpy as np\n", + "\n", + "x0 = np.random.rand(2)\n", + "\n", + "es = cma.CMAEvolutionStrategy(\n", + " x0=x0,\n", + " sigma0=0.2,\n", + " inopts={\"bounds\": [0, 2], \"popsize\": 50},\n", + ")\n", + "\n", + "log_expected_improvement_ensemble_random_forest_model = LogExpectedImprovement(\n", + " model=ensemble_random_forest_model, best_f=Y.max()\n", + ")\n", + "\n", + "with torch.no_grad():\n", + " while not es.stop():\n", + " xs = es.ask()\n", + " y = (\n", + " -log_expected_improvement_ensemble_random_forest_model(\n", + " torch.from_numpy(np.array(xs)).unsqueeze(-2)\n", + " )\n", + " .view(-1)\n", + " .double()\n", + " .numpy()\n", + " )\n", + " es.tell(xs, y)\n", + "\n", + "torch.from_numpy(es.best.x)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/website/tutorials.json b/website/tutorials.json index df92758df0..0593017d1e 100644 --- a/website/tutorials.json +++ b/website/tutorials.json @@ -57,6 +57,10 @@ { "id": "ibnn_bo", "title": "Bayesian optimization with infinite-width neural networks" + }, + { + "id": "custom_model", + "title": "Writing a custom model with the Model and Posterior Interfaces" } ], "Multi-Objective Bayesian Optimization": [