Group intervention-based causal discovery for identifying causal structure in deep neural network subsystems — extending causal discovery from single neurons to functional subnetwork groups. Activation: causal discovery, deep network, subsystem, group intervention, causal structure, neural circuit, interpretability, interventional causality.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill group-intervention-causal-discovery-subsystems --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Group Intervention Causal Discovery Subsystems?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-group-intervention-causal-discovery-subsystems-4aa33d49)More formats (shields.io, HTML) on the badges page.
---
name: group-intervention-causal-discovery-subsystems
description: "Group intervention-based causal discovery for identifying causal structure in deep neural network subsystems — extending causal discovery from single neurons to functional subnetwork groups. Activation: causal discovery, deep network, subsystem, group intervention, causal structure, neural circuit, interpretability, interventional causality."
---
# Group Intervention Causal Discovery in Deep Network Subsystems
> Causal discovery framework that extends interventional causality analysis from individual neurons to functional subsystems within deep neural networks, revealing mesoscale computational circuits.
## Metadata
- **Source**: arXiv:2510.23906
- **Authors**: Wasim Ahmad, Sreejith Sreekumar, Vijay S. Raju
- **Published**: 2025-10-16
- **Categories**: cs.LG, cs.AI
## Core Methodology
### Key Innovation
Proposes group-level causal discovery for deep networks. Instead of treating each neuron individually (exponential search space) or each layer as a unit (too coarse), the method identifies functional subsystems — groups of neurons that work together — and discovers causal relationships between these subsystems via targeted interventions.
### Technical Framework
1. **Subsystem Identification**: Cluster neurons by activation correlation patterns across diverse inputs → functional groups
2. **Group Intervention Design**: Systematically perturb subsystem outputs (ablation, activation scaling, noise injection) while observing effects on other subsystems
3. **Causal Graph Construction**: Build a directed causal graph where nodes=subsystems, edges=causal influences
4. **Discovery Algorithm**: Use interventional data to orient causal edges (resolving ambiguity from observational correlations)
5. **Validation**: Verify discovered causal structure predicts effects of novel interventions
### Implementation Guide
#### Prerequisites
- Causal inference and discovery (Pearl's do-calculus, DAGs)
- Deep network interpretability
- Statistical hypothesis testing
- Activation clustering methods
#### Step-by-Step
1. **Extract activations** from all layers for a diverse input dataset
2. **Cluster neurons** into functional subsystems using activation correlation
3. **Design interventions**: For each subsystem pair (A, B), perturb A and measure B's response
4. **Test causality**: Apply conditional independence tests on interventional data
5. **Construct DAG**: Orient edges based on intervention outcomes
6. **Validate**: Predict effects of unseen perturbations using discovered causal graph
### Code Example
```python
import numpy as np
from sklearn.cluster import AgglomerativeClustering
def identify_subsystems(activations, n_subsystems=20):
"""Cluster neurons into functional subsystems by activation correlation."""
# activations: [n_samples, n_neurons]
corr_matrix = np.corrcoef(activations.T)
# Hierarchical clustering on correlation distance
distance_matrix = 1 - np.abs(corr_matrix)
clustering = AgglomerativeClustering(
n_clusters=n_subsystems,
metric='precomputed',
linkage='average'
)
labels = clustering.fit_predict(distance_matrix)
return labels # subsystem assignment per neuron
def group_intervention(model, subsystem_labels, target_subsystem,
intervention_fn, inputs):
"""Apply intervention to a subsystem and measure effects on others."""
n_subsystems = len(set(subsystem_labels))
effects = {}
# Register hooks for all subsystems
def make_hook(sub_id):
def hook(module, input, output):
if sub_id == target_subsystem:
return intervention_fn(output)
return output
return hook
# Measure baseline and intervened activations
with torch.no_grad():
baseline = model(inputs)
# Apply intervention and measure changes in other subsystems
# ... (hook-based intervention and measurement)
return effects # causal effect of target on each other subsystem
```
## Applications
- **Network Interpretability**: Understand computational pathways in deep networks at mesoscale
- **Neural Circuit Discovery**: Identify functional subnetworks analogous to brain circuits
- **Model Debugging**: Trace error propagation through causal subsystem chains
- **Architecture Design**: Inform better architectures based on causal subsystem analysis
## Pitfalls
- Subsystem identification depends heavily on clustering method and granularity
- Intervention design is combinatorial — O(n²) for n subsystems
- Causal relationships may be context-dependent (vary across input distributions)
- Intervention effects can be nonlinear and non-additive
## Related Skills
- causal-brain-network-inference
- computational-lesions-brain-alignment
- neural-population-decoding
- ultrastructure-to-dynamics-compiler
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!