{ "cells": [ { "cell_type": "markdown", "id": "9da7374b", "metadata": {}, "source": [ "# STRF parameterizations \u2014 same data, same model, different inductive bias\n", "\n", "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/urancon/deepSTRF/blob/develop/examples/strf_parameterizations_ns1.ipynb)\n", "\n", "This notebook fits a `Linear` STRF model on **NS1** with three different\n", "kernel parameterizations of the spectro-temporal receptive field, all\n", "else equal:\n", "\n", "1. **Vanilla `nn.Conv2d`** \u2014 the textbook unconstrained STRF. Every\n", " `(F, T)` cell of the kernel is a free parameter.\n", "2. **`SeparableSTRF`** \u2014 frequency-time separable, rank-1. The kernel\n", " factorises as `w_F(f) \u00b7 w_T(t)`, drastically reducing the parameter\n", " count.\n", "3. **`ParametricSTRF`** \u2014 sum of `K` learnable 2D Gaussians (DCLS-style;\n", " see [DCLS asymmetric-kernel bug\n", " note](../docs/_source/md/README_models.md) for why deepSTRF\n", " reimplements rather than wraps the upstream library).\n", "\n", "Same NS1 split (14 train / 3 val / 3 test), same `Fitter` settings,\n", "same seed. The questions:\n", "\n", "- How does mean test `cc_norm` compare?\n", "- For a cell that fits well across all three, what do the learned\n", " STRFs look like? Where do the inductive biases pull the kernel?\n", "\n", "> **Note on runtime**: three end-to-end fits at 100 epochs each on a\n", "> consumer GPU. Around 25 min total.\n" ] }, { "cell_type": "markdown", "id": "48760e89", "metadata": {}, "source": [ "## Setup \u2014 Google Colab\n", "\n", "If you're running on Google Colab, the cell below installs deepSTRF\n", "from source. On a local install (`pip install -e .`) it's a no-op." ] }, { "cell_type": "code", "execution_count": null, "id": "ab4825e0", "metadata": {}, "outputs": [], "source": [ "import sys\n", "if 'google.colab' in sys.modules:\n", " !pip install -q git+https://github.com/urancon/deepSTRF.git\n", " print(\"deepSTRF installed from GitHub.\")\n", "else:\n", " print(\"Local environment \u2014 assuming deepSTRF is already importable.\")\n" ] }, { "cell_type": "markdown", "id": "23c5c6e3", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": null, "id": "fc129eb8", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:28:36.810085Z", "iopub.status.busy": "2026-05-03T13:28:36.809471Z", "iopub.status.idle": "2026-05-03T13:28:39.199590Z", "shell.execute_reply": "2026-05-03T13:28:39.198738Z" } }, "outputs": [], "source": "%matplotlib inline\nfrom collections import OrderedDict\nimport time\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport torch\nimport torch.nn as nn\nfrom torch.utils.data import DataLoader, Subset\n\nfrom deepSTRF.datasets.audio.ns1 import NS1Dataset\nfrom deepSTRF.models.audio import Linear\nfrom deepSTRF.models.layers import ParametricSTRF, SeparableSTRF\nfrom deepSTRF.training import Fitter, set_random_seed\nfrom deepSTRF.utils import neural_collate, plot_strf_grid\n\ndevice = \"cuda\" if torch.cuda.is_available() else \"cpu\"\nprint(f\"Using device: {device}\")" }, { "cell_type": "markdown", "id": "9b81b689", "metadata": {}, "source": [ "## 1. Load NS1 and set up the same train / val / test split" ] }, { "cell_type": "code", "execution_count": 2, "id": "6a5b9091", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:28:39.201382Z", "iopub.status.busy": "2026-05-03T13:28:39.201123Z", "iopub.status.idle": "2026-05-03T13:28:42.332370Z", "shell.execute_reply": "2026-05-03T13:28:42.331662Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NS1: N=119 cells | F=34 bands | dt=5 ms | T_strf=15 frames\n" ] } ], "source": [ "ds = NS1Dataset(dt_ms=5.0, smooth=True, download=True)\n", "F = 34 # spectrogram frequency bands\n", "T_strf = 15 # STRF temporal extent (frames at dt=5 ms \u2192 75 ms history)\n", "N = ds.N_neurons\n", "\n", "train_loader = DataLoader(Subset(ds, list(range(14))), batch_size=1, shuffle=True, collate_fn=neural_collate)\n", "val_loader = DataLoader(Subset(ds, list(range(14, 17))), batch_size=1, shuffle=False, collate_fn=neural_collate)\n", "test_loader = DataLoader(Subset(ds, list(range(17, 20))), batch_size=1, shuffle=False, collate_fn=neural_collate)\n", "\n", "print(f\"NS1: N={N} cells | F={F} bands | dt=5 ms | T_strf={T_strf} frames\")\n" ] }, { "cell_type": "markdown", "id": "ee7403ef", "metadata": {}, "source": [ "## 2. A small fit-and-extract helper\n", "\n", "One function that:\n", "\n", "- Builds a `Linear(F, T_strf, N, kernel=...)` model with the chosen\n", " STRF parameterization.\n", "- Trains for 50 epochs with the canonical `Fitter` defaults.\n", "- Returns the training history, test metrics, and the learned STRF\n", " weights for every cell (`(N, F, T)` tensor \u2014 see\n", " `model_paradigm.md` \u00a79)." ] }, { "cell_type": "code", "execution_count": 3, "id": "a6149c41", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:28:42.334258Z", "iopub.status.busy": "2026-05-03T13:28:42.334053Z", "iopub.status.idle": "2026-05-03T13:28:42.338624Z", "shell.execute_reply": "2026-05-03T13:28:42.338016Z" } }, "outputs": [], "source": [ "def fit_with_kernel(name, build_kernel_fn, max_epochs=100, seed=0):\n", " set_random_seed(seed)\n", " kernel = build_kernel_fn()\n", " model = Linear(n_frequency_bands=F, temporal_window_size=T_strf,\n", " out_neurons=N, kernel=kernel)\n", " n_params = model.count_trainable_params()\n", " print(f\" {name:20s} | params/neuron: {n_params // N:>5,d} (total {n_params:,})\", flush=True)\n", " optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=0.0)\n", " fitter = Fitter(model, train_loader, val_loader,\n", " optimizer=optimizer, device=device,\n", " max_epochs=max_epochs, patience=max_epochs, # disable early stop for fair compare\n", " monitor=\"val_cc_norm\", mode=\"max\",\n", " log_fn=lambda d: None)\n", " t0 = time.time()\n", " history = fitter.fit()\n", " elapsed = time.time() - t0\n", " test_metrics = fitter.evaluate(test_loader)\n", " strfs = model.STRF_weight().cpu() # (N, F, T)\n", " return {\n", " \"name\": name,\n", " \"history\": history,\n", " \"test_cc\": test_metrics[\"cc\"].cpu(),\n", " \"test_cc_norm\": test_metrics[\"cc_norm\"].cpu(),\n", " \"strfs\": strfs,\n", " \"n_params\": n_params,\n", " \"elapsed\": elapsed,\n", " }\n" ] }, { "cell_type": "markdown", "id": "94c97ef2", "metadata": {}, "source": [ "## 3. Three fits\n", "\n", "Same NS1 split, same `Fitter` settings, three different kernels." ] }, { "cell_type": "code", "execution_count": 4, "id": "3ba66db9", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:28:42.340429Z", "iopub.status.busy": "2026-05-03T13:28:42.340262Z", "iopub.status.idle": "2026-05-03T13:54:10.673037Z", "shell.execute_reply": "2026-05-03T13:54:10.672218Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting Linear with three STRF parameterizations on NS1 ...\n", " vanilla Conv2d | params/neuron: 511 (total 60,877)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " SeparableSTRF | params/neuron: 50 (total 6,018)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " ParametricSTRF (8G) | params/neuron: 41 (total 4,947)\n" ] } ], "source": [ "results = OrderedDict()\n", "print(\"Fitting Linear with three STRF parameterizations on NS1 ...\")\n", "results[\"vanilla\"] = fit_with_kernel(\"vanilla Conv2d\", lambda: None)\n", "results[\"separable\"] = fit_with_kernel(\"SeparableSTRF\", lambda: SeparableSTRF(F, T_strf, C_in=1, C_out=N))\n", "results[\"parametric\"] = fit_with_kernel(\"ParametricSTRF (8G)\", lambda: ParametricSTRF(F, T_strf, C_in=1, C_out=N, num_gaussians=8))\n" ] }, { "cell_type": "markdown", "id": "76290dd9", "metadata": {}, "source": [ "## 4. Side-by-side training curves" ] }, { "cell_type": "code", "execution_count": 5, "id": "4445f0cc", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:54:10.675108Z", "iopub.status.busy": "2026-05-03T13:54:10.674864Z", "iopub.status.idle": "2026-05-03T13:54:10.912707Z", "shell.execute_reply": "2026-05-03T13:54:10.912028Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1, 2, figsize=(11, 3.8))\n", "for key, r in results.items():\n", " epochs = [h[\"epoch\"] for h in r[\"history\"]]\n", " val_loss = [h[\"val_loss\"] for h in r[\"history\"]]\n", " val_ccn = [torch.nanmean(h[\"val_cc_norm\"]).item() for h in r[\"history\"]]\n", " axs[0].plot(epochs, val_loss, label=r[\"name\"], lw=1.5)\n", " axs[1].plot(epochs, val_ccn, label=r[\"name\"], lw=1.5)\n", "axs[0].set_xlabel(\"epoch\"); axs[0].set_ylabel(\"val MSE loss\"); axs[0].legend(); axs[0].set_title(\"Validation loss\")\n", "axs[1].set_xlabel(\"epoch\"); axs[1].set_ylabel(\"val cc_norm\"); axs[1].legend(); axs[1].set_title(\"Validation cc_norm\")\n", "plt.tight_layout(); plt.show()\n" ] }, { "cell_type": "markdown", "id": "fce92779", "metadata": {}, "source": [ "## 5. Test-set metrics + parameter-count summary" ] }, { "cell_type": "code", "execution_count": 6, "id": "b1e20c2f", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:54:10.914622Z", "iopub.status.busy": "2026-05-03T13:54:10.914454Z", "iopub.status.idle": "2026-05-03T13:54:10.918402Z", "shell.execute_reply": "2026-05-03T13:54:10.917646Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "parameterization params/neuron total fit (s) test cc (mean) test cc_norm (mean)\n", "-----------------------------------------------------------------------------------------------\n", "vanilla Conv2d 511 60,877 484.7 +0.523 +0.609\n", "SeparableSTRF 50 6,018 522.7 +0.159 +0.184\n", "ParametricSTRF (8G) 41 4,947 517.8 +0.383 +0.445\n" ] } ], "source": [ "print(f\"{'parameterization':<22s} {'params/neuron':>14s} {'total':>9s} {'fit (s)':>8s} {'test cc (mean)':>16s} {'test cc_norm (mean)':>22s}\")\n", "print(\"-\" * 95)\n", "for r in results.values():\n", " print(f\"{r['name']:<22s} {r['n_params'] // N:>14,d} {r['n_params']:>9,} {r['elapsed']:>8.1f} \"\n", " f\"{torch.nanmean(r['test_cc']):>+16.3f} {torch.nanmean(r['test_cc_norm']):>+22.3f}\")\n" ] }, { "cell_type": "markdown", "id": "2c54086f", "metadata": {}, "source": [ "## 6. Per-cell test `cc_norm` distributions" ] }, { "cell_type": "code", "execution_count": 7, "id": "a1bc49b2", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:54:10.920009Z", "iopub.status.busy": "2026-05-03T13:54:10.919863Z", "iopub.status.idle": "2026-05-03T13:54:11.110553Z", "shell.execute_reply": "2026-05-03T13:54:11.109804Z" } }, "outputs": [ { "data": { "image/png": "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v4/09PT8zJGIiIiIiIq4XB+xiI+Px9atW9GgQQMoFAr4+vqiWrVqSE1NxcGDBxEbG5ufeRIRERERURGW68IiPT0d7u7u+Prrr2FkZIQrV65g7dq10NXVxZo1a+Dg4IDq1avnZ65ERERERFRE5XoolKWlJerWrQtPT0+kpaXh9evX8PT0RKlSpbB582ZUrFgRFy5cyM9ciYiIiq3HTx7gyJE1ksVLSHwmWayi7El0NH5Y9YcksS5fC0dzZ09JYhFRVrkuLJ48eYIzZ87g9OnTyMjIQIMGDdCwYUOkpaXh8uXLqFSpEpo0aZKfuRIRERVbGTppsGxgJVk8xYmScX5jWoaAuUTFQNL5K5LEIaLs5XooVNmyZdGxY0fMmzcPxsbGuHDhAkaNGgWZTIbx48fDwsICXl5e+ZkrEREREREVUXm+QZ6FhQX8/Pygp6eHI0eOICoqCsOHD5cyNyIiIiIiKiZyPRTqXdeuXUPFihUBAHZ2dtDT04NcLkfPnj0lTY6IiIiIiIqHPBUWtra2qr9v3LghWTJERERERFQ85XkoFBERERERkRILCyIiIiIi0hoLCyIiIiIi0hoLCyIiIiIi0hoLCyIiIiIi0hoLCyIiIiIi0lqeLjdLRPQp2bf1d6TFx0gS63RkFMo7V5MklrW5Nfy7+UsSqyjbsGMD4hLiJIt35eYVtGrYSpJY/0XH4tjZi5LESkhMkiROfngVH4cjR9ZIEish8ZkkcYio+GFhQUQlXlp8DLrUMpIk1p6w/1Cr4WeSxIq7IN3OdlEWlxAHq4ZWksVLuizdDnxaRiYMrR0kiZWpCJEkTn4QepmwbCDNNlCcSJckDhEVPxwKRUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWitV2AkQEWnqethlYPVCyeLdvn4ZqOUpWTzSzO3rl2GeqStZvKcx/0kWi6igXA67hh9W/SFJLGtLU/T16ypJLCJNsLAgomJHJy0RXWoZSRZvzvlEyWKR5jLfJMBFbi1ZvDMZqZLFIiooSWmZMHeW5geOuNuhksQh0hSHQhERERERkdZYWBARERERkdZYWBARERERkdZYWBARERERkdZYWBARERERkdZYWBARERERkdaKdGERFBQEmUym9nB2di7stIiIiIiI6D1F/j4WtWrVwuHDh1XPS5Uq8ikTEREREZU4RX4vvVSpUpDL5YWdBhERERERfUCRHgoFAHfu3EGFChVQpUoV+Pv74+HDhx/sn5qaioSEBLUHERERERHlryJ9xKJRo0ZYt24dqlevjujoaAQHB6Np06a4ceMGzMzMsp1n3rx5CA4OLuBMiYiIKD+8io/DkSNrJIn1X3SEJHGIKHtFurBo166d6u/atWujUaNGsLOzw5YtWzBo0KBs55kyZQrGjRunep6QkABbW9t8z5WIiIikJ/QyYdnASpJYGZfeSBKHiLJXpAuL91laWqJatWq4e/dujn0MDAxgYGBQgFkREREREVGRP8fiXUlJSYiMjET58uULOxUiIiIiInpHkS4sxo8fj+PHj+P+/fs4ffo0unbtCl1dXfTu3buwUyMiIiIioncU6aFQjx8/Ru/evfH8+XOUK1cOTZo0wdmzZ1GuXLnCTo2IiIiIiN5RpAuLTZs2FXYKRERERESUC0V6KBQRERERERUPLCyIiIiIiEhrLCyIiIiIiEhrLCyIiIiIiEhrLCyIiIiIiEhrRfqqUERExU1M9H+4cfaoJLESwjMliUNEJcvlsGv4YdUfksSytjRFX7+uksSiTx8LCyIiCcky0uAi15Mk1snLLyWJQ0QlS1JaJsydPSWJFXc7VJI4VDJwKBQREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmtVGEnQETSuRodjUWHj0sWb8+t2zA+bCRJrKvR0ZLEUcaScj2lzK0omzh5GF4k/idJrLvhD1DfyVmSWP9G3UZTX2tJYgFAYkICbpw9KkmsV08f43nEGUlipSc+lywWAGS+SZIsVknxKj4OR46skSRW+K1jMD5iLEksAPgvOkKyWESFhYUF0SfktU4mrBqUlixeyrEMyeK9vpgpSRxA+vWUMrei7EXif5LtwN++cQ1+XtIUFuf/PSdJHBVFBlzkepKE+luRARdraWJdkGVKFgsALkAhWaySQuhlwrKBlSSxMk68kSwWAGRceiNZLKLCwqFQRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESktVKFnQB9Wjbs2IC4hDhJYlmbW8O/m78ksajwRce/wqLDx6WJlZggSZz8kJCUiLsPHksS69LNe1i0bpEksQAgKiYaTWEtSaznya+x6eIFSWK9SH0jSRyl1LQ0ybZBRkaGJHFKksw3SXgecUbSeERUPLCwIEnFJcTBqqGVNLEuSFOgUNGQXkrAqkFpaWIdU0gSJz9kZgromUqznqk6GZJ9ngAgdXe6ZLEy9QGr+haSxMo4LySJo6RQSLcNpM2sZNCFAi7WepLFu4Ci+3knInUcCkVERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERFpjYUFERERERForVdgJUOHasGMD4hLiJIt35eYVtGrYSpJYe/fuxM0LxySJdetmBKJaukgSCwCOR0TA82w5yWIZHzaSJFZ0YoIkcZRS09Jw98FjSWIlJadIFis1LU2SOEqRMXEYueYvSWLFJiVKEgcA0lJf48bZo5LFS06Q9v0hlYyMDMneG8p4pJnMN0l4HnFGkliKjFRJ4hR1Ur5mAJCeECtZLCldDruGH1b9IVk8a0tT9PXrKlk8KlpYWJRwcQlxsGpoJVm8pMtJksV6k5mIpr7VJYl14VYYrBqUliQWAKSEZMLQ2l6aWLLjkuWWfkwhSRwlhUJAz1Sa3BRCwlgKIUkcpYxSAtbNHKSJde2OJHEAQEco4CLXkyzeP4qiucMtAMneG8p4pBldKOBiLc177UIJ2QJSvmYAcBdF8/OZlJYJc2dPyeLF3Q6VLBYVPRwKRUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWmNhQUREREREWisWhcWyZctgb28PQ0NDNGrUCOfPny/slIiIiIiI6B1FvrDYvHkzxo0bhxkzZuDy5cuo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LU1UqFBBLFy4UAghxNGjRwUAsWvXLrXYXl5eokmTJqrnGRkZwsTERPTt21fVFh0dLQCIM2fOaJw7EVFJUKpwyxoiIiooV69exdGjR2FqapplWmRkJNq0aYNWrVrB1dUVPj4+aNOmDXr06IHSpUvnehm3bt1CamoqWrVqle30sLAw1KtXD1ZWVnlaB3t7e5iZmamely9fHnFxcap1SE9Ph6enp2q6np4e3N3dcevWLbU4bm5uWWIrj1wAgK6uLsqUKQNXV1dVm/Koi3J5RESkjkOhiIhKiKSkJHTs2BFhYWFqjzt37qBZs2bQ1dXFoUOHsH//ftSsWRNLly5F9erVERUVletlGBkZaTX9Y/T09NSey2SyXA+jepeJiUmuYr/bJpPJACBPyyMiKglYWBARfYL09fWRmZmp1la/fn3cvHkT9vb2cHJyUnsod7RlMhk8PT0RHByMK1euQF9fHzt37swx5vuqVq0KIyMjhISEZDu9du3aCAsLy3LOgxQcHR2hr6+P0NBQVVt6ejouXLiAmjVrSr48IiJSx8KCiOgTZG9vj3PnzuH+/ft49uwZFAoFRowYgRcvXqB37964cOECIiMjcfDgQQwYMACZmZk4d+4c5s6di4sXL+Lhw4fYsWMHnj59iho1aqhiXrt2DREREXj27BnS09OzLNfQ0BCTJk3CxIkT8fvvvyMyMhJnz57Fb7/9BgDo3bs35HI5unTpgtDQUNy7dw/bt2/HmTNntF5nExMTDBs2DBMmTMCBAwcQHh6OwMBApKSkYNCgQVrHJyKiD2NhQUT0CRo/fjx0dXVRs2ZNlCtXDg8fPkSFChUQGhqKzMxMtGnTBq6urhg7diwsLS2ho6MDc3NznDhxAr6+vqhWrRqmTZuGH374Ae3atQMABAYGonr16nBzc0O5cuXUjgy869tvv8XXX3+N6dOno0aNGujZs6fqvAR9fX38888/sLa2hq+vL1xdXTF//nzo6upKst7z589H9+7d0bdvX9SvXx93797FwYMHNTpPhIiI8kYmhBCFnQQRERERERVvPGJBRERERERaY2FBRERFQq1atWBqaprtY8OGDYWdHhERfQSHQhERUZHw4MGDbE8IB97eQ+Ld+1cQEVHRw8KCiIiIiIi0xqFQRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESkNRYWRERERESktf8HindqX66Ly0QAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 3.8))\n", "bins = np.linspace(-0.2, 1.0, 35)\n", "for key, r in results.items():\n", " ax.hist(r[\"test_cc_norm\"].numpy(), bins=bins, alpha=0.45, label=r[\"name\"], edgecolor=\"black\", linewidth=0.5)\n", "ax.set_xlabel(\"test cc_norm\")\n", "ax.set_ylabel(\"# neurons\")\n", "ax.set_title(\"Per-cell test cc_norm \u2014 three STRF parameterizations on NS1\")\n", "ax.legend()\n", "plt.tight_layout(); plt.show()\n" ] }, { "cell_type": "markdown", "id": "bc591f91", "metadata": {}, "source": [ "## 7. Pick a well-fit cell, compare STRFs side by side\n", "\n", "We pick the neuron whose **mean** test `cc_norm` across the three\n", "parameterizations is highest \u2014 i.e. a cell that all three models can\n", "fit reasonably. The three STRFs for that cell are plotted on the same\n", "colour scale." ] }, { "cell_type": "code", "execution_count": 8, "id": "d651c174", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:54:11.112403Z", "iopub.status.busy": "2026-05-03T13:54:11.112180Z", "iopub.status.idle": "2026-05-03T13:54:11.116033Z", "shell.execute_reply": "2026-05-03T13:54:11.115467Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best-fit cell across the three parameterizations: idx=49\n", " vanilla Conv2d test cc_norm = +0.807\n", " SeparableSTRF test cc_norm = +0.647\n", " ParametricSTRF (8G) test cc_norm = +0.697\n" ] } ], "source": [ "ccn_stack = torch.stack([r[\"test_cc_norm\"] for r in results.values()]) # (3, N)\n", "mean_per_cell = torch.nanmean(ccn_stack, dim=0)\n", "best_cell = int(torch.argmax(mean_per_cell).item())\n", "print(f\"Best-fit cell across the three parameterizations: idx={best_cell}\")\n", "for r in results.values():\n", " print(f\" {r['name']:<22s} test cc_norm = {r['test_cc_norm'][best_cell]:+.3f}\")\n" ] }, { "cell_type": "code", "execution_count": null, "id": "2de05c73", "metadata": { "execution": { "iopub.execute_input": "2026-05-03T13:54:11.117644Z", "iopub.status.busy": "2026-05-03T13:54:11.117510Z", "iopub.status.idle": "2026-05-03T13:54:11.328224Z", "shell.execute_reply": "2026-05-03T13:54:11.327278Z" } }, "outputs": [], "source": "strfs_for_best = [r[\"strfs\"][best_cell].numpy() for r in results.values()] # 3 \u00d7 (F, T)\ntitles = [f\"{r['name']}\\ncc_norm = {r['test_cc_norm'][best_cell]:+.3f}\"\n for r in results.values()]\n\nplot_strf_grid(\n strfs_for_best, titles=titles, dt_ms=5, ncols=3, shared_clim=True,\n suptitle=f\"Cell idx={best_cell}: same neuron, same data, three inductive biases\",\n figsize=(11, 3.5),\n)\nplt.show()" }, { "cell_type": "markdown", "id": "0d06d075", "metadata": {}, "source": [ "## Reading the result\n", "\n", "These vanilla-Linear numbers are in the literature range for NS1\n", "(Rancon et al. 2025, Comms. Biol. report >0.5 mean cc_norm on the\n", "NS1 Linear baseline). Compared to the StateNet GRU fit on the same\n", "split ([`fit_ns1_statenet.ipynb`](fit_ns1_statenet.ipynb), `cc_norm \u2248 0.77`),\n", "Linear leaves headroom on the table \u2014 that's exactly the gap a\n", "recurrent / feed-forward nonlinearity can recover.\n", "\n", "The interesting comparison is the **inductive-bias trade-off**:\n", "\n", "- **Vanilla Conv2d** (511 params/neuron) wins on absolute `cc_norm` \u2014\n", " the unconstrained `(F, T)` kernel can carve out arbitrary\n", " spectro-temporal patterns.\n", "- **ParametricSTRF** (41 params/neuron, 8 Gaussians) trails modestly\n", " with **~12\u00d7 fewer parameters per neuron**. The Gaussian-mixture\n", " parameterization is a strong prior for STRFs that look like\n", " spectrally-localised excitation/inhibition pairs \u2014 common in\n", " auditory cortex.\n", "- **SeparableSTRF** (50 params/neuron, rank-1) collapses well below the\n", " other two. The rank-1 constraint `w_F(f) \u00b7 w_T(t)` forces the\n", " kernel to be a single frequency profile multiplied by a single\n", " temporal profile \u2014 too restrictive for cells whose\n", " spectro-temporal response evolves through time (e.g. excitatory\n", " band early followed by inhibition at a different band).\n", "\n", "## What's next\n", "\n", "- **AdapTrans prefilter** \u2014 a learnable cochlear-adaptation front-end\n", " that often improves mean cc_norm on auditory data; pairs with any\n", " of the three STRF parameterizations above.\n", "- **Gradmaps** \u2014 an architecture-agnostic alternative to closed-form\n", " STRF extraction, computed via gradient-of-output-vs-input. Useful for\n", " models without a pluggable kernel (DNet, ConvNet2D, StateNet, ...).\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.20" } }, "nbformat": 4, "nbformat_minor": 5 }