Skip to main content

fast-efficient-coding-gain-adaptive

Fast efficient coding and sensory adaptation in gain-adaptive recurrent networks — unified mechanistic model reconciling adapter-repulsion and prior-attraction phenomena via gain modulation.

설치로 이동

소스 정보

저장소
hiyenwong/ai_collection
최근 소스 활동
2026년 6월 4일 13:32
감지된 SKILL.md 언어
영어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
fast-efficient-coding-gain-adaptive
description
Fast efficient coding and sensory adaptation in gain-adaptive recurrent networks — unified mechanistic model reconciling adapter-repulsion and prior-attraction phenomena via gain modulation.
tags
["neuroscience","efficient-coding","sensory-adaptation","gain-modulation","recurrent-networks","computational-neuroscience","tuning-curves","neural-dynamics"]
created
2026-05-27T00:00:00.000Z
source
DOI: 10.1038/s41467-026-73032-0 | PMID: 42140911
# Fast Efficient Coding and Sensory Adaptation in Gain-Adaptive Recurrent Networks ## Overview This methodology from Prat-Carrabin, Harl & Gershman (Nature Communications, 2026) proposes a **gain-adaptive recurrent sensory network model** that unifies two seemingly contradictory sensory adaptation phenomena: - **Adapter repulsion**: tuning curves shift away from adapting stimuli - **Prior attraction**: tuning curves shift toward frequently encountered stimuli The key insight is that gains modulating neural responses optimize an **efficient-coding objective** that balances accuracy and spiking cost — and the propagation of these modulated gains through recurrent connectivity produces rapid, context-appropriate tuning curve adaptation. ## Core Mechanism ### Gain-Adaptive Efficient Coding - Neuronal gains are optimized online to balance **reconstruction accuracy** vs. **metabolic (spiking) cost** - Objective: `max_gains [I(stimulus; response) - λ · E[spike_count]]` - Gains adapt quickly (sub-second) in response to changing stimulus statistics ### Recurrent Gain Propagation - Gain changes in early sensory neurons propagate through recurrent connections - Creates emergent adaptation across the network without explicit global coordination - Accounts for multi-stage cortical processing effects ### Unified Prediction Framework | Condition | Prior Shape | Predicted Effect | Mechanism | |-----------|-------------|-----------------|-----------| | Peaked prior (narrow) | Unimodal | **Adapter repulsion** | High gain at adapter frequency → shift away | | Broad prior (flat) | Diffuse | **Prior attraction** | Low gain → shift toward high-probability region | ## Key Findings 1. **Adapter repulsion under peaked priors**: When stimulus distributions are concentrated (peaked), repeated presentation causes tuning curves to repel from the adapter stimulus — explained by local gain saturation 2. **Prior attraction under broad distributions**: For wider stimulus distributions, the model predicts (and behavioral evidence confirms) attraction toward the high-probability region 3. **Reconciliation**: The same gain-modulation mechanism produces both effects depending on prior shape — no contradiction 4. **Fast adaptation**: The model operates on behaviorally-relevant timescales (hundreds of milliseconds to seconds) ## Implementation ```python import numpy as np from scipy.optimize import minimize class GainAdaptiveNeuron: """Efficient-coding gain-adaptive neuron model.""" def __init__(self, preferred_stimulus, tuning_width=1.0, lambda_cost=0.1): self.s0 = preferred_stimulus # Preferred stimulus self.sigma = tuning_width # Tuning width self.lam = lambda_cost # Spiking cost weight self.gain = 1.0 # Adaptive gain def tuning_curve(self, stimulus): """Gaussian tuning curve with adaptive gain.""" base = np.exp(-0.5 * ((stimulus - self.s0) / self.sigma) ** 2) return self.gain * base def efficient_coding_objective(self, gain, stimuli, prior): """Objective: accuracy - lambda * expected spikes.""" responses = gain * np.exp(-0.5 * ((stimuli - self.s0) / self.sigma) ** 2) # Mutual information approximation via Fisher information fisher_info = np.sum(prior * (responses ** 2)) expected_spikes = np.sum(prior * responses) return -(fisher_info - self.lam * expected_spikes) def adapt_gain(self, stimuli, prior): """Update gain to maximize efficient coding objective.""" result = minimize(self.efficient_coding_objective, [self.gain], args=(stimuli, prior), method='L-BFGS-B', bounds=[(0.01, 10.0)]) self.gain = result.x[0] return self.gain class RecurrentGainAdaptiveNetwork: """Recurrent network with gain-adaptive efficient coding.""" def __init__(self, n_neurons, stimulus_range, recurrent_weight=0.3): self.n = n_neurons self.s_range = stimulus_range self.W_rec = recurrent_weight # Recurrent connectivity strength self.neurons = [ GainAdaptiveNeuron(s) for s in np.linspace(*stimulus_range, n_neurons) ] def propagate_gains(self, gains): """Propagate gain changes through recurrent connectivity.""" # Gains interact via recurrent connections delta_gains = self.W_rec * (np.mean(gains) - gains) return gains + delta_gains def adapt(self, stimuli, prior, n_steps=10): """Iterate gain adaptation + recurrent propagation.""" gains = np.array([n.gain for n in self.neurons]) for _ in range(n_steps): # Update individual gains gains = np.array([ n.adapt_gain(stimuli, prior) for n in self.neurons ]) # Propagate through recurrent connections gains = self.propagate_gains(gains) return gains ``` ## When to Use - Modeling sensory adaptation phenomena in auditory/visual/olfactory cortex - Building efficient neural encoding models with metabolic constraints - Studying gain modulation mechanisms in sensory processing - Computational modeling of adapter repulsion and prior attraction - Reconciling conflicting findings in human/animal psychophysics experiments - Neural population coding models under nonstationary stimuli ## Pitfalls - The lambda (spiking cost) parameter must be tuned per neural population - Model assumes quasi-stationary prior within adaptation timescale - Recurrent weight strength determines balance between local and distributed adaptation - Behavioral evidence for broad-prior attraction may require many trials to observe ## Key Parameters | Parameter | Description | Typical Range | |-----------|-------------|---------------| | `lambda` | Spiking cost weight | 0.01–1.0 | | `sigma` | Tuning curve width | 1–10 (stimulus units) | | `W_rec` | Recurrent strength | 0.1–0.5 | | `n_steps` | Adaptation iterations | 5–20 | ## References - Prat-Carrabin A, Harl MV, Gershman SJ. "Fast efficient coding and sensory adaptation in gain-adaptive recurrent networks." *Nature Communications*, 2026. DOI: 10.1038/s41467-026-73032-0 - Atiani S et al. "Task difficulty and performance induce diverse adaptive patterns in gain and shape of primary auditory cortical tuning curves." *Neuron*, 2009. - Wei XX, Stocker AA. "A Bayesian observer model constrained by efficient coding can explain 'anti-Bayesian' percepts." *Nature Neuroscience*, 2015.
GitHub에서 보기