{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "502eaf7d",
   "metadata": {},
   "source": [
    "# Gradient-Free Fitting\n",
    "\n",
    "Not every fitting problem has a usable gradient. The objective might be non-differentiable (a\n",
    "spike count, a discrete decision), the loss surface might be jagged, or you might be fitting a\n",
    "black-box metric. For these cases {class}`brainmass.Fitter` exposes two **gradient-free**\n",
    "backends that search the parameter space directly:\n",
    "\n",
    "- `backend='nevergrad'` -- evolutionary / population-based optimisers,\n",
    "- `backend='scipy'` -- the SciPy optimiser family (gradient *and* gradient-free methods).\n",
    "\n",
    "The headline of {class}`~brainmass.Fitter` is *write the objective once, swap the backend*. We\n",
    "reuse the **exact same amplitude target** from {doc}`/tutorials/06_fitting_with_gradients` and\n",
    "solve it three ways, then compare the cost.\n",
    "\n",
    ":::{note}\n",
    "The gradient-free backends search a **bounded box** per parameter. The box is derived\n",
    "automatically from a parameter's transform when that transform defines a finite interval\n",
    "(e.g. {class}`~brainstate.nn.SigmoidT`). We use `SigmoidT(0.05, 3.0)` so the box is\n",
    "`(0.05, 3.0)` -- no bounds need to be spelled out.\n",
    ":::"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d8210cfb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:11:27.821209Z",
     "iopub.status.busy": "2026-06-19T07:11:27.820965Z",
     "iopub.status.idle": "2026-06-19T07:11:33.258853Z",
     "shell.execute_reply": "2026-06-19T07:11:33.257812Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n"
     ]
    }
   ],
   "source": [
    "import brainmass\n",
    "import brainstate\n",
    "import braintools\n",
    "import brainunit as u\n",
    "import jax.numpy as jnp\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from brainstate.nn import Param, SigmoidT\n",
    "\n",
    "brainstate.environ.set(dt=0.1 * u.ms)\n",
    "brainstate.random.seed(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "240cd68b",
   "metadata": {},
   "source": [
    "## The same problem as Tutorial 06\n",
    "\n",
    "A {class}`~brainmass.HopfStep` whose limit-cycle amplitude we match to a target generated at a\n",
    "known `a* = 1.5`. The only change from the gradient tutorial is the transform: `SigmoidT(0.05,\n",
    "3.0)` gives the gradient-free search a finite box to explore."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "9d42d513",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:11:33.261663Z",
     "iopub.status.busy": "2026-06-19T07:11:33.261045Z",
     "iopub.status.idle": "2026-06-19T07:11:33.573503Z",
     "shell.execute_reply": "2026-06-19T07:11:33.572178Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "target amplitude (true a* = 1.5): 1.2296\n"
     ]
    }
   ],
   "source": [
    "def make_hopf(a, trainable=False):\n",
    "    a_param = Param(a, t=SigmoidT(0.05, 3.0), fit=True) if trainable else a\n",
    "    return brainmass.HopfStep(\n",
    "        in_size=1, a=a_param, w=0.3,\n",
    "        init_x=braintools.init.Constant(0.5),\n",
    "        init_y=braintools.init.Constant(0.0),\n",
    "    )\n",
    "\n",
    "def settled_amplitude(node):\n",
    "    res = brainmass.Simulator(node, dt=0.1 * u.ms).run(\n",
    "        300.0 * u.ms, monitors=['x'], transient=150.0 * u.ms,\n",
    "    )\n",
    "    x = u.get_magnitude(res['x'])\n",
    "    return jnp.sqrt(jnp.mean(x ** 2)) * jnp.sqrt(2.0)\n",
    "\n",
    "target_amplitude = float(settled_amplitude(make_hopf(1.5)))\n",
    "\n",
    "def loss_fn(model):                          # the SAME objective for every backend\n",
    "    amp = settled_amplitude(model)\n",
    "    return (amp - target_amplitude) ** 2, amp\n",
    "\n",
    "print(f\"target amplitude (true a* = 1.5): {target_amplitude:.4f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc00359d",
   "metadata": {},
   "source": [
    "## Nevergrad (evolutionary search)\n",
    "\n",
    "`backend='nevergrad'` runs an evolutionary optimiser over the derived box. For the\n",
    "gradient-free backends the `optimizer` argument is an **options dict** (or a method-name\n",
    "string), not a `braintools.optim` instance -- here Differential Evolution with `n_sample`\n",
    "candidates per generation. `n_steps` is the number of generations, so the total number of\n",
    "simulations is roughly `n_sample x n_steps`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "3d8c177b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:11:33.575900Z",
     "iopub.status.busy": "2026-06-19T07:11:33.575623Z",
     "iopub.status.idle": "2026-06-19T07:11:41.976200Z",
     "shell.execute_reply": "2026-06-19T07:11:41.975578Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "nevergrad: fitted a = 1.4994   (true a* = 1.5)\n",
      "           best loss = 5.84e-08\n",
      "           simulations = 72\n"
     ]
    }
   ],
   "source": [
    "node = make_hopf(0.1, trainable=True)\n",
    "ng_result = brainmass.Fitter(\n",
    "    node,\n",
    "    {'method': 'DE', 'n_sample': 6},\n",
    "    loss_fn=loss_fn,\n",
    "    backend='nevergrad',\n",
    ").fit(n_steps=12)\n",
    "\n",
    "print(f\"nevergrad: fitted a = {float(ng_result.best_params['a']):.4f}   (true a* = 1.5)\")\n",
    "print(f\"           best loss = {ng_result.best_loss:.2e}\")\n",
    "print(f\"           simulations = {len(ng_result.history)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "98d70e53",
   "metadata": {},
   "source": [
    "## SciPy\n",
    "\n",
    "`backend='scipy'` runs {class}`braintools.optim.ScipyOptimizer`. Gradient methods such as\n",
    "`L-BFGS-B` differentiate through the parameter assignment; gradient-free methods such as\n",
    "`Nelder-Mead` work too. Here `n_steps` is the number of random restarts -- a couple of restarts\n",
    "make the search robust to a poor starting point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c6266767",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:11:41.978510Z",
     "iopub.status.busy": "2026-06-19T07:11:41.978281Z",
     "iopub.status.idle": "2026-06-19T07:11:48.927559Z",
     "shell.execute_reply": "2026-06-19T07:11:48.926884Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/chaoming/miniconda3/lib/python3.13/site-packages/braintools/optim/_scipy_optimizer.py:284: RuntimeWarning: Method Nelder-Mead does not use gradient information (jac).\n",
      "  results = minimize(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "scipy: fitted a = 1.5000   (true a* = 1.5)\n",
      "       best loss = 1.55e-11\n"
     ]
    }
   ],
   "source": [
    "node = make_hopf(0.1, trainable=True)\n",
    "sp_result = brainmass.Fitter(\n",
    "    node,\n",
    "    {'method': 'Nelder-Mead'},               # a derivative-free SciPy simplex method\n",
    "    loss_fn=loss_fn,\n",
    "    backend='scipy',\n",
    ").fit(n_steps=3)\n",
    "\n",
    "print(f\"scipy: fitted a = {float(sp_result.best_params['a']):.4f}   (true a* = 1.5)\")\n",
    "print(f\"       best loss = {sp_result.best_loss:.2e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0bceabdb",
   "metadata": {},
   "source": [
    "## Gradient vs gradient-free: the cost\n",
    "\n",
    "For reference we run the **gradient** backend on the identical problem and tally how many\n",
    "forward simulations each method needed to reach a comparable loss."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "4b88c1c3",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:11:48.929420Z",
     "iopub.status.busy": "2026-06-19T07:11:48.929187Z",
     "iopub.status.idle": "2026-06-19T07:11:49.662272Z",
     "shell.execute_reply": "2026-06-19T07:11:49.661311Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "backend       fitted a     best loss   evaluations\n",
      "--------------------------------------------------\n",
      "grad            1.5220      8.29e-05            60\n",
      "nevergrad       1.4994      5.84e-08            72\n",
      "scipy           1.5000      1.55e-11    (restarts)\n"
     ]
    }
   ],
   "source": [
    "# Gradient backend (as in Tutorial 06) for a head-to-head comparison.\n",
    "node = make_hopf(0.1, trainable=True)\n",
    "grad_result = brainmass.Fitter(\n",
    "    node, braintools.optim.Adam(lr=0.1), loss_fn=loss_fn, backend='grad',\n",
    ").fit(n_steps=60)\n",
    "\n",
    "# Nevergrad reports one loss per candidate; count its simulations directly.\n",
    "n_grad = len(grad_result.history)\n",
    "n_nevergrad = len(ng_result.history)\n",
    "\n",
    "print(f\"{'backend':<12}{'fitted a':>10}{'best loss':>14}{'evaluations':>14}\")\n",
    "print(\"-\" * 50)\n",
    "print(f\"{'grad':<12}{float(grad_result.best_params['a']):>10.4f}{grad_result.best_loss:>14.2e}{n_grad:>14}\")\n",
    "print(f\"{'nevergrad':<12}{float(ng_result.best_params['a']):>10.4f}{ng_result.best_loss:>14.2e}{n_nevergrad:>14}\")\n",
    "print(f\"{'scipy':<12}{float(sp_result.best_params['a']):>10.4f}{sp_result.best_loss:>14.2e}{'(restarts)':>14}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "afe2d6a4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:11:49.664987Z",
     "iopub.status.busy": "2026-06-19T07:11:49.664722Z",
     "iopub.status.idle": "2026-06-19T07:11:49.974564Z",
     "shell.execute_reply": "2026-06-19T07:11:49.973567Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAGJCAYAAADlpGXRAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA0odJREFUeJzsnXeYU1X+h9+bKcn0XmFg6L1JFVBAQUTEggUVFSzorriuYgMrrCuo6yqWWfmhq7iuKNhdUVSKIkVpgvTeyxSm18wk9/fHmZuZTMokM8kkM5z3eXhC7r2559yTZO4n36qoqqoikUgkEolEImlW6Hw9AYlEIpFIJBKJ+0gRJ5FIJBKJRNIMkSJOIpFIJBKJpBkiRZxEIpFIJBJJM0SKOIlEIpFIJJJmiBRxEolEIpFIJM0QKeIkEolEIpFImiFSxEkkEolEIpE0Q6SIk0gkEolEImmGSBEnkUgkDWD27NkoimK1LT09nalTp/pmQucxzem9yMzM5PrrrycuLg5FUZg/f76vpyRpxkgRJ2mxHDp0iHvvvZf27dtjMBiIjIxk2LBhvPbaa5SVlfl6ehJJg/j222+ZPXu2r6choWHvxUMPPcT333/PrFmz+OCDD7j88su9MznJeUGgrycgkXiDZcuWccMNN6DX67n99tvp2bMnRqORtWvX8uijj7Jr1y4WLlzo62lKWhj79u1Dp/Pub+Nvv/2WjIwMKeTqwV/fi1WrVnH11VfzyCOPeG9ikvMGKeIkLY4jR45w00030bZtW1atWkVKSopl3/Tp0zl48CDLli3z4QwbT3l5OcHBwV6/SbVESkpKCAsL88q59Xq9V87bUjkf34usrCyio6PrPc6bayNpOcg7gKTF8dJLL1FcXMy///1vKwGn0bFjR/76179anldVVfHcc8/RoUMH9Ho96enpPPHEE1RUVFi9Lj09nSuvvJK1a9cyaNAgDAYD7du35z//+Y/lmM2bN6MoCu+//77NuN9//z2KovDNN99Ytp06dYo777yTpKQk9Ho9PXr04N1337V63U8//YSiKHz88cc89dRTtGrVitDQUAoLCwH45JNP6N69OwaDgZ49e/LFF18wdepU0tPTrc5jNpuZP38+PXr0wGAwkJSUxL333kteXp7b16mRn5/PQw89RHp6Onq9ntatW3P77beTk5NjOaaiooJnn32Wjh07otfrSUtL47HHHrNZ35ycHPbu3UtpaanNOHUpKyvjgQceID4+noiICK666ipOnTqFoihWVhEtVmr37t3ccsstxMTEMHz4cAD++OMPpk6danG3Jycnc+edd3Lu3Dmb8dauXcvAgQMxGAx06NCB//u//7M7L3txWPn5+Tz44IOkpaWh1+vp2LEjL774Imaz2XLM0aNHURSFl19+mYULF1o+iwMHDmTTpk2W46ZOnUpGRgYAiqJY/jniyiuvpH379nb3XXjhhQwYMMDy/Mcff2T48OFER0cTHh5Oly5deOKJJxyeW0O+F669F4sWLUJRFFRVJSMjw+p4bd/PP//MfffdR2JiIq1bt7a89rvvvuOiiy4iLCyMiIgIxo8fz65du2zG2Lt3L9dffz2xsbEYDAYGDBjA119/7XBOkuaPtMRJWhz/+9//aN++PUOHDnXp+Lvvvpv333+f66+/nocffpjffvuNefPmsWfPHr744gurYw8ePMj111/PXXfdxZQpU3j33XeZOnUq/fv3p0ePHgwYMID27duzdOlSpkyZYvXaJUuWEBMTw9ixYwER4DxkyBAUReH+++8nISGB7777jrvuuovCwkIefPBBq9c/99xzBAcH88gjj1BRUUFwcDDLli1j0qRJ9OrVi3nz5pGXl8ddd91Fq1atbK7z3nvvZdGiRdxxxx088MADHDlyhDfffJPff/+ddevWERQU5PJ1AhQXF3PRRRexZ88e7rzzTi644AJycnL4+uuvOXnyJPHx8ZjNZq666irWrl3LPffcQ7du3dixYwevvvoq+/fv58svv7SM+eabbzJnzhxWr17NyJEjnb5nU6dOZenSpdx2220MGTKEn3/+mfHjxzs8/oYbbqBTp07MnTsXVVUBIVoOHz7MHXfcQXJyssXFvmvXLn799VfLDXbHjh1cdtllJCQkMHv2bKqqqnj22WdJSkpyOkeA0tJSRowYwalTp7j33ntp06YN69evZ9asWZw5c8YmqH3x4sUUFRVx7733oigKL730EhMnTuTw4cMEBQVx7733cvr0aX788Uc++OCDesefNGkSt99+O5s2bWLgwIGW7ceOHePXX3/lH//4BwC7du3iyiuvpHfv3vztb39Dr9dz8OBB1q1bV+8Y8r1w7b24+OKL+eCDD7jtttsYM2YMt99+u80x9913HwkJCTzzzDOUlJQA8MEHHzBl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2uH85Xth/7348MMPrQqKO8oQro8OHToAkJiY6HTe2vmDgoI8en0S/0fGxElaHI899hhhYWHcfffdZGZm2uw/dOgQr732GgBXXHEFgE1mmmY5cpZl54xu3brRq1cvlixZwpIlS0hJSeHiiy+27A8ICOC6667js88+syuEsrOz6x0jNTWVnj178p///Ifi4mLL9p9//pkdO3ZYHXvjjTdiMpl47rnnbM5TVVVFfn6+G1cnuO6669i+fbtNBi/UWCtuvPFGTp06xdtvv21zTFlZmSUDD1wvMaJZGv71r39ZbX/jjTdcnrtmZalrVan7OQgICGDs2LF8+eWXHD9+3LJ9z549fP/99/WOc+ONN7Jhwwa7x+bn51NVVeXynDW02mHuvGeTJk3i9OnTvPPOO2zfvt0Sm6mRm5tr85q+ffsC2JSCqY18L+y/F8OGDWP06NGWfw0VcWPHjiUyMpK5c+dSWVlps1/7O5GYmMjIkSP5v//7P86cOePwOEnLQ1riJC2ODh06sHjxYiZNmkS3bt2sOjasX7+eTz75xFI/qk+fPkyZMoWFCxeSn5/PiBEj2LhxI++//z7XXHMNo0aNavA8Jk2axDPPPIPBYOCuu+6yiS164YUXWL16NYMHD2batGl0796d3Nxctm7dyooVK+zeWOsyd+5crr76aoYNG8Ydd9xBXl4eb775Jj179rQSdiNGjODee+9l3rx5bNu2jcsuu4ygoCAOHDjAJ598wmuvvcb111/v1vU9+uijfPrpp9xwww3ceeed9O/fn9zcXL7++msWLFhAnz59uO2221i6dCl/+tOfWL16NcOGDcNkMrF3716WLl3K999/b6lV5mqJkf79+3Pdddcxf/58zp07ZylrsX//fsA1S1VkZCQXX3wxL730EpWVlbRq1YoffviBI0eO2Bw7Z84cli9fzkUXXcR9991HVVUVb7zxBj169OCPP/6od42+/vprrrzySkuJlpKSEnbs2MGnn37K0aNHiY+Pr3e+da8f4IEHHmDs2LEEBARYWXntccUVVxAREcEjjzxi+QFRm7/97W+sWbOG8ePH07ZtW7KysvjXv/5F69atLbXcHM1FvhfuvRfuEBkZyVtvvcVtt93GBRdcwE033URCQgLHjx9n2bJlDBs2jDfffBOAjIwMhg8fTq9evZg2bRrt27cnMzOTDRs2cPLkSbZv3+6x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4PYhbRndzX6ZljX7c/hfLQGnYVbh1n//xqC5K3my2nqnbX/8sx1M/3AL877bw30fbmHovFXc8vZvDH1hFQvXHKbSJNKql2w6zkUv/cT0z/Zz0Us/sWTTcasxzhSUsf5QDmcKyupdZ4lE0jJZsuk4w14Qf0OGvbDK5u+EpykqKmLy5MmEhYWRkpLCq6++ysiRI3nwwQctx6Snp/Pcc89x++23ExkZyT333APA448/TufOnQkNDaV9+/Y8/fTTVFZWWp3/hRdeICkpiYiICO666y6XqiF8/PHHTJgwwWrbiy++SFpaGu+99x6DBg2iXbt2XHbZZXTo0AEQVrj58+fz1FNPcfXVV9O7d2/ee+89Tp8+zZdffulwLLPZzLx582jXrh0hISH06dOHTz/91LKvdevWvPXWW1av+f3339HpdBw7dgwQ1SR69epFWFgYaWlp3HfffRQXFzscc/v27YwaNYqIiAgiIyPp378/mzdvtuyfMGECmzdv5tChQ/WuVUvF7y1xmzdvZtSoUZbnWubolClTWLRoEZMmTSI7O5tnnnmGs2fP0rdvX5YvX26T7OAu3nanAkwa2IbhHePYdvA0fTumWlmcJg1sw8WdE+xmoDrap4m/Jz7fiUlVLeJP229vX89Wwsr4gp19kwa24UxBGav22rcKlhhNXD5/jdU+RYGpQ9M5lVfGD7ut3dwAy3actdmmqjD32z3M/XYPkYZACu24fcuMJjonRbDlWC6vrjggY/ckkhbE3e9v4tg51zs4VJrMHK11vPYj8a2fDhEU4Nw2oQWst40L5Z0pA10ec8aMGaxbt46vv/6apKQknnnmGbZu3Urfvn2tjnv55Zd55plnePbZZy3bIiIiWLRoEampqezYsYNp06YRERHBY489BsDSpUuZPXs2GRkZDB8+nA8++IDXX3+d9u3bO5xPbm4uu3fvtrhINb7++mvGjh3LDTfcwM8//0yrVq247777mDZtGiAMIWfPnmX06NGW10RFRTF48GA2bNjATTfdZHe8efPm8d///pcFCxbQqVMn1qxZw6233kpCQgIjRozg5ptvZvHixfz5z3+2vObDDz9k2LBhFkuhTqfj9ddfp127dhw+fJj77ruPxx57jH/96192x5w8eTL9+vXjrbfeIiAggG3btllli7Zp04akpCR++eUXi0g931BUVbUTmSXR0NypBQUF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s3z5cjIzM7nxxhtt5hEcHMy6detYsGABR44c4frrr+eaa65h+/bt3HvvvTz55JM28y8tLeXFF1/knXfeYdeuXSQmJlJUVMStt97KL7/8wq+//kqnTp244oorKCoSXWLMZjMTJ04kODiY3377jQULFrjkJvzll1/o37+/02P+85//EBoayvXXX+/wGLPZTFFREbGxsQ6POXToEJdffjnXXXcdf/zxB0uWLGHt2rXcf//9gLCKbdy4kUOHDlles2vXLv744w/L2hcVFTFlyhTWrl3Lr7/+SseOHbnqqqss61CX119/na+//pqlS5eyb98+PvzwQ4vbWGPQoEH88ssvTtegscjsVAfIEiMukHsEsvdCj2th1xeiT5SkReAo47XUWMXHm6y7RKgqXPnGL1zaNYnkSAP//e2YLFsicY/84/D5NNePN5ZCwSnQ6aCyGFQzlOfD//4CQaFOXxqgqjV/qya+DQmdXR62d+/ePPvsswB06tSJN998k5UrVzJmzBjWrl3Lxo0bycrKQq/XA/Dyyy/z5Zdf8umnn3LPPfcwefJk3nzzTZ577jlAWOe2bNnCf//7XwDefPNN+vXrx9y5cy1jvvvuu6SlpbF//346d+5sGfull16yHDNz5ky6dOnCP/7xDwC6dOnCzp07ef75563mX1lZyb/+9S/69Olj2XbJJZdQVVVFYGAgiqKwcOFCoqOj+fnnn7nyyitZsWIFe/fu5fvvvyc1NRWAuXPnMm7cOKdrdezYMcvxjvj3v//NLbfcQkiI4+z3l19+meLiYhshW5t58+YxefJkHnzwQUCsz+uvv86IESN466236NGjB3369GHx4sU8/fTTgBDPgwcPpmPHjpZ1qM3ChQuJiYnh559/ZsKECTZjHj9+nE6dOjF8+HAURaFt27Y2x6SmpnLs2DGna9BYpIiTNJwDP4qs1G4ThIgrPQfRab6elcRD2OssYa97hKJA/zYx/LA70+pYkRCx06psiURil+g2QlC5SmkufHkvVJSAIao6Qz4MJrwBoY4tNqBiqjIRGBgAKGJcN+jdu7fV85SUFEtA/vbt2ykuLiYuLs7qmLKyMosF6KabbuKRRx7h119/ZciQIXz44YdccMEFdO3a1XKO1atXEx4ebjP2oUOHLCKuroVr3759Nl6jQYMG2ZwjODjY5hoyMzN58sknWbNmDVlZWZhMJkpL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",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(7, 4))\n",
    "ax.plot(grad_result.history, marker='.', lw=1.2, label=f'grad ({n_grad} evals)')\n",
    "ax.plot(ng_result.history, marker='.', lw=1.0, alpha=0.8,\n",
    "        label=f'nevergrad ({n_nevergrad} evals)')\n",
    "ax.set_yscale('log')\n",
    "ax.set_xlabel('evaluation')\n",
    "ax.set_ylabel('loss')\n",
    "ax.set_title('Convergence: gradient vs gradient-free')\n",
    "ax.legend()\n",
    "ax.grid(alpha=0.3)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "77e25e9e",
   "metadata": {},
   "source": [
    "The gradient method walks straight downhill -- every step is informed by the derivative, so it\n",
    "reaches a tiny loss in a few dozen evaluations. The evolutionary search must *sample* the box\n",
    "to discover the descent direction, so it spends many more simulations to reach a comparable\n",
    "loss. SciPy's simplex sits in between.\n",
    "\n",
    "## When to use which\n",
    "\n",
    "| Situation | Backend |\n",
    "| --- | --- |\n",
    "| Differentiable objective, more than a few parameters | `grad` -- by far the most efficient |\n",
    "| Non-differentiable / discrete / black-box objective | `nevergrad` |\n",
    "| Few parameters, well-behaved loss, want a robust local search | `scipy` (`L-BFGS-B` or `Nelder-Mead`) |\n",
    "| Rugged loss with many local minima | `nevergrad` (population escapes local minima) |\n",
    "\n",
    "The single most important rule: **if you can differentiate the objective, use `grad`.** The\n",
    "whole reason brainmass models are written as differentiable JAX programs is to make that path\n",
    "available. Reach for gradient-free search only when the gradient is unavailable or unreliable.\n",
    "\n",
    "## Summary\n",
    "\n",
    "- The same objective is fit by `nevergrad`, `scipy`, and `grad` -- only the `backend` (and the\n",
    "  `optimizer` argument's form) changes.\n",
    "- Gradient-free backends search a bounded **box** derived from each parameter's transform\n",
    "  ({class}`~brainstate.nn.SigmoidT` here); pass an explicit `search_space` for unbounded\n",
    "  transforms.\n",
    "- Gradient descent reaches the target in far fewer simulations than evolutionary search.\n",
    "\n",
    "## Next steps\n",
    "\n",
    "- {doc}`/tutorials/06_fitting_with_gradients` -- the gradient backend in depth.\n",
    "- {doc}`/tutorials/08_training_on_tasks` -- train a network on a cognitive task over epochs.\n",
    "- {doc}`/reference/orchestration` -- {class}`~brainmass.Fitter` / {class}`~brainmass.FitResult`\n",
    "  API and `search_space` derivation."
   ]
  }
 ],
 "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.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
