Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install hiyenwong-ai-collection-collection-skills-emergent-ei-reservoir-networksgit clone https://github.com/hiyenwong/ai_collection.gitcp ai_collection/SKILL.MD ~/.claude/skills/hiyenwong-ai-collection-collection-skills-emergent-ei-reservoir-networks/SKILL.md---
name: emergent-ei-reservoir-networks
description: "Emergent Excitatory-Inhibitory structure in performance-evolved reservoir computing networks for neuronal population dynamics. Uses PDNE framework to evolve compact reservoirs from Wilson-Cowan systems, recovering E-I sign patterns without explicit design. Activation: excitatory inhibitory, E-I balance, reservoir computing, Wilson-Cowan, neuronal population dynamics, PDNE, network evolution, digital twin neuron."
---
# Emergent E-I Structure in Performance-Evolved Reservoir Networks
> Performance-driven network evolution (PDNE) applied to Wilson-Cowan neuronal systems produces compact reservoir computing networks that spontaneously recover excitatory-inhibitory sign patterns from data alone, enabling structurally interpretable digital twins of neuronal systems.
## Metadata
- **Source**: arXiv:2603.13635
- **Authors**: Manish Yadav
- **Published**: 2026-03-13
- **Category**: nlin.AO (Adaptation and Self-Organizing Systems)
## Core Methodology
### Key Innovation
The paper demonstrates that performance-driven network evolution can produce **structurally interpretable** models of physiological rhythms. Starting from minimal seed networks, the PDNE framework grows and prunes reservoir computing networks based solely on prediction performance — and the evolved networks spontaneously recover the correct E-I sign pattern of the Wilson-Cowan model for 3 of 4 interaction types, without this being imposed by design.
### Technical Framework
#### 1. Wilson-Cowan (WC) Model
The canonical two-population model of excitatory-inhibitory interaction:
- Two coupled ODEs for excitatory E(t) and inhibitory I(t) population activities
- Underlies physiological rhythms (alpha, gamma oscillations)
- Four interaction types: E→E, E→I, I→E, I→I
#### 2. Performance-Dependent Network Evolution (PDNE)
- **Initialization**: Start from a minimal seed reservoir network
- **Iterative Growth**: Add nodes/connections to improve prediction accuracy
- **Pruning**: Remove low-contribution connections to maintain compactness
- **Fitness**: Prediction performance on WC dynamics (no structural bias imposed)
- **Termination**: When prediction accuracy plateaus
#### 3. Structural Analysis
- Node specialization: E-specialized, I-specialized, and shared E-I representation nodes
- Connectivity sign analysis: Examine whether evolved connections recover WC sign patterns
- Generalization testing: Zero-shot transfer to novel stimulus configurations
### Key Results
1. **Accurate Prediction**: Evolved reservoirs accurately predict both E(t) and I(t) across unseen stimulus amplitudes
2. **Zero-Shot Generalization**: Transfer to novel pulse number, position, and amplitude without retraining
3. **Structural Recovery**: Population-level connectivity recovers correct E-I sign patterns for 3/4 interaction types
4. **Compact Models**: Performance-driven evolution yields minimal sufficient networks
## Implementation Guide
### Prerequisites
- Python with NumPy, SciPy for ODE integration
- Reservoir computing framework (e.g., PyReservoir or custom implementation)
- Wilson-Cowan model implementation
### Step-by-Step
1. **Implement Wilson-Cowan Model**
```python
import numpy as np
from scipy.integrate import odeint
def wilson_cowan(state, t, params):
E, I = state
w_ee, w_ei, w_ie, w_ii = params['weights']
tau_e, tau_i = params['time_constants']
# Sigmoid activation
S = lambda x: 1 / (1 + np.exp(-x))
dE = (-E + S(w_ee * E - w_ei * I + params['stim_e'])) / tau_e
dI = (-I + S(w_ie * E - w_ii * I + params['stim_i'])) / tau_i
return [dE, dI]
```
2. **Initialize Seed Reservoir**
```python
# Minimal reservoir with small random connectivity
n_nodes = 10 # Start small
W_res = np.random.randn(n_nodes, n_nodes) * 0.1
W_in = np.random.randn(n_nodes, 2) # 2 inputs: E, I
```
3. **PDNE Evolution Loop**
```python
for generation in range(max_generations):
# Evaluate prediction performance on WC dynamics
performance = evaluate_reservoir(W_res, W_in, wc_data)
# Grow: add nodes if performance below threshold
if performance < target:
W_res, W_in = add_nodes(W_res, W_in, n_new=2)
# Prune: remove low-contribution connections
W_res = prune_weak_connections(W_res, threshold=0.01)
# Analyze emergent structure
ei_structure = analyze_ei_signs(W_res)
```
4. **Structural Analysis**
```python
def analyze_ei_signs(W_res):
"""Check if evolved connectivity recovers E-I sign patterns."""
# Classify nodes by their specialization
# Compare connectivity signs to expected WC pattern
# Expected: E→E (+), E→I (+), I→E (-), I→I (-)
pass
```
## Applications
- **Digital Twins of Neuronal Systems**: Compact, data-efficient models that capture both dynamics and structure
- **Neuroscience Model Discovery**: Inferring E-I structure from neural recordings without prior assumptions
- **Brain-Computer Interfaces**: Lightweight models for real-time neural dynamics prediction
- **Neuromorphic Computing**: Evolved compact network architectures for hardware implementation
- **Epilepsy Research**: Understanding E-I balance disruption through structural analysis
## Pitfalls
- PDNE may not recover all interaction types — the I→I connection sign was not consistently recovered
- Wilson-Cowan is a simplification; real neuronal systems have more complex dynamics
- Reservoir size and initialization sensitivity may affect convergence
- Zero-shot generalization has limits — extreme stimulus changes may require adaptation
## Related Skills
- neural-population-dynamics
- reservoir-computing
- wilson-cowan-model
- excitatory-inhibitory-balance
- network-evolution
- snn-working-memory-heterogeneous-delays