| name | multimodal-brain-network-m3d-bfs |
| description | M3D-BFS: Multi-stage Dynamic Fusion Strategy for Sample-Adaptive Multi-Modal Brain Network Analysis. Combines Mixture-of-Experts (MoE) with multi-modal brain networks (structural and functional connectivity) through dynamic, sample-adaptive fusion. 3-stage training: uni-modal encoders, MoE expert pretraining, and full model finetuning with multi-modal disentanglement loss. Activation: multi-modal brain network, M3D-BFS, dynamic fusion, mixture-of-experts brain, sample-adaptive fusion, SC-FC fusion, brain network analysis. |
M3D-BFS: Multi-stage Dynamic Fusion for Multi-Modal Brain Networks
Sample-adaptive multi-modal brain network analysis using dynamic Mixture-of-Experts fusion strategy with 3-stage training pipeline.
Metadata
- Source: arXiv:2604.01667
- Authors: Rui Dong, Xiaotong Zhang, Jiaxing Li, Yueying Li, et al.
- Published: 2026-04-02
- Categories: cs.AI, cs.CV
- Link: https://arxiv.org/abs/2604.01667
Core Methodology
Key Innovation
M3D-BFS addresses a critical limitation in multi-modal brain network analysis: static fusion methods that apply identical computations to all samples regardless of their inherent differences. The method introduces:
- Dynamic sample adaptation: Different computation pathways activate based on input sample characteristics
- Multi-stage training strategy: Prevents MoE expert collapse through careful staged optimization
- Multi-modal disentanglement: Enhances representation quality by encouraging modality-independent features
Technical Framework
1. Architecture Components
Uni-Modal Encoders
- Separate encoders for Structural Connectivity (SC) and Functional Connectivity (FC)
- Each encoder learns modality-specific representations
- Graph Neural Network (GNN) or Transformer-based architectures
Mixture-of-Experts (MoE) Layers
- Multiple expert networks for each modality
- Gating network selects experts dynamically per sample
- Enables sample-specific computation allocation
Multi-Modal Fusion Module
- Cross-modal attention mechanism
- Disentanglement loss to separate modality-shared vs modality-specific features
- Final classification or regression head
2. Three-Stage Training Pipeline
Stage 1: Uni-Modal Pretraining
for modality in ['SC', 'FC']:
encoder = ModalityEncoder(modality)
train(encoder, data[modality], task_loss)
- Prevents modality interference during initial learning
- Establishes strong uni-modal feature extractors
- Provides warm-start for multi-modal training
Stage 2: MoE Expert Pretraining
for expert in moe_experts:
pretrain(expert, frozen_encoder_output, auxiliary_task)
- Initializes experts with diverse specializations
- Prevents expert collapse (all experts learning same function)
- Ensures expert diversity for effective dynamic routing
Stage 3: End-to-End Fine-tuning
loss = task_loss + λ * disentanglement_loss
optimize(full_model, loss)
- Joint optimization of all components
- Multi-modal disentanglement loss encourages modality-invariant representations
- Fine-tunes gating networks for optimal expert selection
3. Multi-Modal Disentanglement Loss
L_disentangle = Σ ||z_shared - z_modality_specific||²
- Minimizes correlation between shared and modality-specific representations
- Encourages extraction of modality-invariant features in shared space
- Improves generalization across different modality combinations
Implementation Guide
Prerequisites
- PyTorch or TensorFlow
- Brain connectivity data (SC from DTI, FC from fMRI)
- Graph Neural Network library (PyTorch Geometric, DGL)
Data Preparation
sc_matrix = load_dti_connectivity(subject_id)
fc_matrix = compute_fc_correlation(fmri_timeseries)
node_features = extract_roi_features(brain_atlas)
Model Architecture
import torch
import torch.nn as nn
class M3DBFS(nn.Module):
def __init__(self, n_regions=90, n_experts=4, hidden_dim=256):
super().__init__()
self.sc_encoder = GraphEncoder(n_regions, hidden_dim)
self.fc_encoder = GraphEncoder(n_regions, hidden_dim)
self.sc_moe = MoELayer(hidden_dim, n_experts)
self.fc_moe = MoELayer(hidden_dim, n_experts)
self.fusion = CrossModalFusion(hidden_dim * 2)
self.classifier = nn.Linear(hidden_dim, n_classes)
def forward(self, sc_data, fc_data):
sc_emb = self.sc_encoder(sc_data)
fc_emb = self.fc_encoder(fc_data)
sc_moe_out, sc_gates = self.sc_moe(sc_emb)
fc_moe_out, fc_gates = self.fc_moe(fc_emb)
fused = self.fusion(sc_moe_out, fc_moe_out)
logits = self.classifier(fused)
return logits, (sc_gates, fc_gates)
Training Loop
def train_m3dbfs(model, train_loader, optimizer, epochs_per_stage=[50, 30, 50]):
for epoch in range(epochs_per_stage[0]):
for sc_data, fc_data, labels in train_loader:
loss = train_uni_modal(model.sc_encoder, sc_data, labels)
loss += train_uni_modal(model.fc_encoder, fc_data, labels)
optimizer.step()
for epoch in range(epochs_per_stage[1]):
for sc_data, fc_data, labels in train_loader:
loss = pretrain_experts(model.sc_moe, model.sc_encoder(sc_data))
loss += pretrain_experts(model.fc_moe, model.fc_encoder(fc_data))
optimizer.step()
for epoch in range(epochs_per_stage[2]):
for sc_data, fc_data, labels in train_loader:
logits, gates = model(sc_data, fc_data)
task_loss = cross_entropy(logits, labels)
disentangle_loss = compute_disentanglement(model)
total_loss = task_loss + 0.1 * disentangle_loss
total_loss.backward()
optimizer.step()
Applications
- Brain disorder classification: ADHD, Autism, Alzheimer's disease prediction
- Cognitive state decoding: Task-based fMRI analysis
- Brain aging prediction: Age estimation from connectivity patterns
- Treatment response prediction: Predicting therapy outcomes
Pitfalls
- MoE expert collapse: Without staged training, all experts may converge to similar functions
- Data imbalance: Uneven sample distribution across classes affects gating network
- Modality missing: Requires handling missing modalities at inference time
- Computational cost: MoE increases parameters; use top-k gating to reduce inference cost
- Small datasets: May overfit with limited training samples; consider data augmentation
Related Skills
- functional-connectivity-graph-neural-networks
- brain-graph-neural
- hyperbolic-gcn-brain-network
- parallelized-hierarchical-connectome-phc