| name | adult-neurogenesis-olfactory-representational-stability |
| description | Adult-neurogenesis dual role methodology — spiking network model showing how continuous addition of new neurons supports both odor representational stability and flexibility in olfactory circuits. |
| tags | ["neuroscience","neurogenesis","olfactory-system","representational-drift","spiking-network","computational-neuroscience","plasticity","neural-coding","brain-network"] |
| created | 2026-05-27T00:00:00.000Z |
| source | DOI: 10.7554/eLife.107905 | PMID: 42112574 |
Adult-Neurogenesis Allows for Representational Stability and Flexibility in Early Olfactory System
Overview
This methodology from Chen & Padmanabhan (eLife, 2026) uses a detailed spiking network model of early olfactory circuits to reveal how adult neurogenesis (continuous addition of new neurons throughout life) simultaneously enables two seemingly opposing properties:
- Representational stability: faithful odor encoding at the population level
- Representational flexibility/drift: experience-dependent plasticity and learning
The model covers two major olfactory processing stages with distinct computational roles.
Core Model Architecture
Stage 1: Main Olfactory Bulb (MOB)
- Adult neurogenesis affects individual cell responses but preserves population-level representations
- New neurons (granule cells) provide inhibitory interneuron replacement
- Net effect: individual mitral/tufted cells shift, but population code remains robust
- Mechanism: lateral inhibition redistribution via new granule cells
Stage 2: Piriform Cortex (PCx)
- Both individual cell responses AND population dynamics undergo progressive change
- Representational drift: stimulus-evoked activity patterns gradually change
- Drift rate is experience-dependent — repeated odor exposure reduces drift
- Implements a form of temporal context coding
Key Findings
- MOB preserves population code: Even as individual neurons are replaced/rewired, the high-dimensional population vector representation of each odor remains stable
- PCx implements representational drift: The cortex continuously updates its odor representations — encoding not just what but when
- Experience protects stability: Frequently encountered odors have more stable representations (reduced drift)
- Dual functional role: Same neurogenesis process serves both stability (MOB) and flexibility (PCx) via different circuit mechanisms
Spiking Network Model
import numpy as np
from typing import List, Tuple
class OlfactoryBulbModel:
"""Simplified spiking network model of main olfactory bulb."""
def __init__(self, n_glomeruli=200, n_mitral=200, n_granule=1000,
neurogenesis_rate=0.01):
self.n_glom = n_glomeruli
self.n_mitral = n_mitral
self.n_granule = n_granule
self.neurogenesis_rate = neurogenesis_rate
self.W_olf_mitral = np.random.randn(n_mitral, n_glomeruli) * 0.1
self.W_granule_mitral = np.random.randn(n_mitral, n_granule) * 0.05
self.W_mitral_granule = np.random.randn(n_granule, n_mitral) * 0.05
self.tau_m = 20e-3
self.V_rest = -65.0
self.V_thresh = -50.0
def apply_neurogenesis(self, n_replace=None):
"""Replace a fraction of granule cells with new neurons."""
n_replace :
n_replace = (.n_granule * .neurogenesis_rate)
replace_idx = np.random.choice(.n_granule, n_replace, replace=)
.W_granule_mitral[:, replace_idx] = np.random.randn(.n_mitral, n_replace) *
.W_mitral_granule[replace_idx, :] = np.random.randn(n_replace, .n_mitral) *
replace_idx
():
n_steps = (duration / dt)
V_mitral = np.ones(.n_mitral) * .V_rest
V_granule = np.ones(.n_granule) * .V_rest
spikes_mitral = np.zeros((n_steps, .n_mitral))
t (n_steps):
I_ff = .W_olf_mitral @ odor_input
I_inh = .W_granule_mitral @ (V_granule > .V_thresh).astype()
dV_m = (-(V_mitral - .V_rest) + I_ff - I_inh) / .tau_m * dt
V_mitral += dV_m
fired = V_mitral >= .V_thresh
spikes_mitral[t] = fired
V_mitral[fired] = .V_rest
I_exc = .W_mitral_granule @ fired.astype()
dV_g = (-(V_granule - .V_rest) + I_exc) / .tau_m * dt
V_granule += dV_g
spikes_mitral
():
np.mean(spikes[-(time_window / ):], axis=)
:
() -> :
norm1, norm2 = np.linalg.norm(v1), np.linalg.norm(v2)
norm1 == norm2 == :
np.dot(v1, v2) / (norm1 * norm2)
() -> np.ndarray:
initial = representations[]
np.array([
- RepresentationalDriftAnalysis.cosine_similarity(initial, r)
r representations
])
():
reps_naive = []
_ ():
model.apply_neurogenesis(neurogenesis_per_day)
spikes = model.simulate_response(odor)
reps_naive.append(model.population_vector(spikes))
model2 = OlfactoryBulbModel()
reps_experienced = []
day ():
model2.apply_neurogenesis(neurogenesis_per_day)
day % == :
_ (n_exposures):
spikes = model2.simulate_response(odor)
pvec = model2.population_vector(spikes)
model2.W_olf_mitral += * np.outer(pvec, odor)
spikes = model2.simulate_response(odor)
reps_experienced.append(model2.population_vector(spikes))
naive_drift = RepresentationalDriftAnalysis.measure_drift(reps_naive)
exp_drift = RepresentationalDriftAnalysis.measure_drift(reps_experienced)
naive_drift, exp_drift
When to Use
- Modeling adult neurogenesis effects in hippocampus, olfactory bulb, or cortex
- Studying representational drift in sensory systems
- Building computational models of learning-induced circuit changes
- Understanding how biological neural networks balance stability and plasticity
- Modeling olfactory system computations (odor discrimination, recognition)
- Continual learning in artificial neural networks inspired by neurogenesis
Key Insights for AI Systems
| Biological Principle | AI Application |
|---|
| MOB population stability | Ensemble methods for stable feature representations |
| PCx representational drift | Temporal context encoding in sequence models |
| Experience-dependent protection | Rehearsal/replay in continual learning |
| Neurogenesis turnover | Growing neural networks, neuron dropout/replacement |
Pitfalls
- Neurogenesis rate is species/region-specific (mice: ~1-2% granule cells/day in OB)
- New neuron integration time (weeks) must be modeled for accurate drift dynamics
- Model granularity (single neuron vs. population) affects stability predictions
- Experience-dependent stabilization requires realistic exposure statistics
Parameters
| Parameter | Description | Biological Value |
|---|
| Neurogenesis rate | Fraction cells replaced/day | 0.5–2% (OB granule) |
| Integration time | New neuron maturation | 2–4 weeks |
| Drift timescale | Days to weeks for PCx drift | Weeks–months |
| Stabilization threshold | Exposures to protect representation | 20–100 |
References
- Chen Z, Padmanabhan K. "Adult-neurogenesis allows for representational stability and flexibility in early olfactory system." eLife, 2026. DOI: 10.7554/eLife.107905
- Bhattacharya S, Bhattacharya S. "Olfactory bulb granule cells: New neurons in an old circuitry." Progress in Neurobiology, 2020.
- Rangel LM et al. "Temporally selective contextual encoding in the dentate gyrus of the hippocampus." Nature Communications, 2016.