Triple Configuration Brain Networks framework using RNNs to model EEG source-localized dynamics. Separates exogenous stimuli, task demands, and spontaneous activity contributions to brain network configurations. Identifies parietal network as critical hub. Activation: triple configuration brain, RNN brain network, EEG source localization, parietal hub, brain network configuration, exogenous endogenous brain dynamics
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill triple-config-brain-network-rnn --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Triple Config Brain Network Rnn?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-triple-config-brain-network-rnn-ai-collection)More formats (shields.io, HTML) on the badges page.
---
name: triple-config-brain-network-rnn
description: "Triple Configuration Brain Networks framework using RNNs to model EEG source-localized dynamics. Separates exogenous stimuli, task demands, and spontaneous activity contributions to brain network configurations. Identifies parietal network as critical hub. Activation: triple configuration brain, RNN brain network, EEG source localization, parietal hub, brain network configuration, exogenous endogenous brain dynamics"
tags: ["brain-network", "RNN", "EEG", "source-localization", "parietal-network", "cognitive-flexibility"]
related_skills: ["brain-connectivity-analysis", "brain-state-transition-network-control", "eeg-brain-connectivity-bci"]
---
# Triple Configuration Brain Networks Based on RNNs
Based on arXiv:2604.23525 (April 26, 2026) — "Triple Configuration of Brain Networks Based on Recurrent Neural Networks: The Synergistic Effects of Exogenous Stimuli, Task Demands, and Spontaneous Activity"
## Overview
This paper proposes a computational framework using **Recurrent Neural Networks (RNNs) with neural dynamic constraints** to model source-localized resting-state EEG data from 114 participants. The framework identifies **three brain network configurations** driven by:
1. **Exogenous stimuli** — external sensory input
2. **Task demands** — information processing requirements
3. **Spontaneous activity** — intrinsic brain dynamics
## Key Findings
### Parietal Network as Critical Hub
- The **parietal network** is identified as the critical hub supporting multiple configuration patterns
- **Anterior parietal** and **posterior parietal** regions exhibit distinct functional specializations under different stimulus modalities
### Triple Configuration Framework
The framework separates latent factors of brain dynamics:
- **Configuration 1**: Stimulus-driven reconfiguration (exogenous)
- **Configuration 2**: Task-dependent reconfiguration (endogenous, goal-directed)
- **Configuration 3**: Spontaneous reconfiguration (endogenous, intrinsic)
## RNN Model Architecture
```python
import torch
import torch.nn as nn
import torch.nn.functional as F
class ConstrainedRNN(nn.Module):
"""
RNN with neural dynamic constraints for modeling EEG source activity.
Key constraint: dynamics must be biologically plausible
- Bounded activation (physiological voltage ranges)
- Smooth transitions (temporal continuity)
- Sparse connectivity (brain-like sparsity)
"""
def __init__(self, n_regions, hidden_dim, n_configs=3):
super().__init__()
self.n_regions = n_regions
self.n_configs = n_configs
# Shared recurrent weights
self.W_rec = nn.Parameter(torch.randn(hidden_dim, hidden_dim) * 0.1)
# Configuration-specific input weights
self.W_config = nn.ParameterList([
nn.Parameter(torch.randn(hidden_dim, n_regions) * 0.1)
for _ in range(n_configs)
])
# Configuration mixing weights
self.mixing = nn.Linear(n_regions, n_configs)
# Output projection
self.W_out = nn.Linear(hidden_dim, n_regions)
# Neural constraints
self.register_buffer('voltage_min', torch.tensor(-70.0)) # mV
self.register_buffer('voltage_max', torch.tensor(30.0)) # mV
def forward(self, eeg_data, configs=None):
"""
Args:
eeg_data: [batch, timesteps, n_regions] source-localized EEG
configs: optional configuration labels
Returns:
predicted: [batch, timesteps, n_regions] predicted EEG
hidden_states: [batch, timesteps, hidden_dim]
config_weights: [batch, timesteps, n_configs]
"""
batch, T, _ = eeg_data.shape
hidden = torch.zeros(batch, self.W_rec.shape[0], device=eeg_data.device)
predictions = []
hidden_states = []
config_weights = []
for t in range(T):
x_t = eeg_data[:, t, :] # [batch, n_regions]
# Configuration mixing
weights = F.softmax(self.mixing(x_t), dim=-1) # [batch, n_configs]
# Weighted combination of configuration-specific inputs
input_current = torch.zeros(batch, self.W_rec.shape[0], device=eeg_data.device)
for c in range(self.n_configs):
input_current += weights[:, c:c+1] * (self.W_config[c] @ x_t.T).T
# Recurrent update with constraints
hidden = torch.tanh(self.W_rec @ hidden.T + input_current.T).T
# Physiological bounding
hidden = torch.clamp(hidden, self.voltage_min, self.voltage_max)
# Output projection
predicted = self.W_out(hidden)
predictions.append(predicted)
hidden_states.append(hidden)
config_weights.append(weights)
return (torch.stack(predictions, dim=1),
torch.stack(hidden_states, dim=1),
torch.stack(config_weights, dim=1))
class TripleConfigAnalyzer:
"""
Analyzes triple configuration patterns in brain networks.
"""
def __init__(self, model):
self.model = model
def identify_parietal_hub(self, hidden_states, eeg_data):
"""
Identify parietal regions as critical configuration hubs.
Args:
hidden_states: [batch, timesteps, hidden_dim]
eeg_data: [batch, timesteps, n_regions]
Returns:
parietal_importance: [n_parietal_regions] importance scores
"""
# Compute gradient-based importance
eeg_input = eeg_data.requires_grad_(True)
_, hidden, _ = self.model(eeg_input)
# Gradient of hidden state w.r.t. input
grad = torch.autograd.grad(hidden.sum(), eeg_input)[0]
# Parietal region indices (source-localized)
parietal_indices = self._get_parietal_indices()
# Importance = mean absolute gradient for parietal regions
parietal_importance = grad[:, :, parietal_indices].abs().mean(dim=(0, 1))
return parietal_importance
def analyze_modality_specialization(self, config_weights, stimulus_type):
"""
Analyze anterior vs. posterior parietal specialization
under different stimulus modalities.
Args:
config_weights: [batch, timesteps, n_configs]
stimulus_type: 'visual', 'auditory', 'somatosensory'
Returns:
specialization: dict of anterior/posterior specialization scores
"""
# Separate anterior and posterior parietal contributions
anterior_mask = self._get_anterior_parietal_mask()
posterior_mask = self._get_posterior_parietal_mask()
# Configuration weight differences by modality
config_diff = config_weights[:, :, 0] - config_weights[:, :, 1]
anterior_spec = (config_diff * anterior_mask).sum()
posterior_spec = (config_diff * posterior_mask).sum()
return {
'anterior_parietal': anterior_spec.item(),
'posterior_parietal': posterior_spec.item(),
'stimulus_type': stimulus_type
}
def _get_parietal_indices(self):
"""Return indices of parietal regions in source space."""
# Based on standard brain atlas (e.g., AAL, Desikan-Killiany)
return [12, 13, 14, 15, 16, 17] # example indices
def _get_anterior_parietal_mask(self):
"""Mask for anterior parietal regions."""
return [1, 1, 1, 0, 0, 0] # first 3 are anterior
def _get_posterior_parietal_mask(self):
"""Mask for posterior parietal regions."""
return [0, 0, 0, 1, 1, 1] # last 3 are posterior
```
## Training Pipeline
```python
def train_constrained_rnn(model, eeg_data, epochs=100):
"""
Train RNN with neural dynamic constraints.
Args:
model: ConstrainedRNN
eeg_data: [batch, timesteps, n_regions] source-localized EEG
"""
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
for epoch in range(epochs):
optimizer.zero_grad()
# Predict next timestep
predicted, hidden, config_weights = model(eeg_data[:, :-1])
# MSE loss
loss = F.mse_loss(predicted, eeg_data[:, 1:])
# Neural dynamic constraints
# 1. Smoothness: penalize rapid state changes
state_diff = torch.diff(hidden, dim=1)
smoothness_loss = (state_diff ** 2).mean()
# 2. Sparsity: encourage sparse connectivity
sparsity_loss = torch.abs(model.W_rec).mean()
# 3. Physiological bounds
bound_violation = torch.relu(hidden - model.voltage_max).mean() + \
torch.relu(model.voltage_min - hidden).mean()
# Total loss
total_loss = loss + 0.01 * smoothness_loss + 0.001 * sparsity_loss + 0.1 * bound_violation
total_loss.backward()
optimizer.step()
if epoch % 10 == 0:
print(f"Epoch {epoch}: loss={total_loss.item():.4f}")
```
## Applications
1. **Cognitive Flexibility Analysis** — understand how brain networks reconfigure for different tasks
2. **Higher-Order Intelligence** — study parietal hub role in intelligence
3. **Stimulus Modality Effects** — compare visual vs. auditory vs. somatosensory processing
4. **Clinical Applications** — identify configuration disruptions in neurological disorders
## Pitfalls
1. **Source Localization Quality**: Results depend on accurate EEG source localization. Poor source estimates lead to spurious findings.
2. **RNN Capacity**: Standard RNNs may be insufficient for complex brain dynamics. Consider LSTM or GRU variants.
3. **Configuration Interpretation**: The three configurations are data-driven — their neurobiological interpretation requires careful validation.
4. **Parietal Region Definition**: Anterior vs. posterior parietal boundaries vary across atlases. Be explicit about your parcellation.
5. **Cross-Subject Variability**: 114 participants show individual differences. Use mixed-effects models to account for this.
## Verification Steps
1. Verify parietal hub importance exceeds other regions significantly
2. Confirm anterior/posterior parietal show different specialization patterns
3. Test generalization to held-out subjects
4. Validate that constraint regularization improves biological plausibility
5. Compare with alternative models (e.g., dynamic causal modeling)
## References
- Yang, B. & Chen, G. (2026). *Triple Configuration of Brain Networks Based on Recurrent Neural Networks: The Synergistic Effects of Exogenous Stimuli, Task Demands, and Spontaneous Activity.* arXiv:2604.23525 [q-bio.NC].Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!