Skip to main content

chasmbrain-mamba-brain-reconstruction

CHASMBrain - Hierarchical Mamba architecture for image-to-fMRI brain reconstruction with coarse-to-fine strategy. Use when building brain encoding models, visual cortex modeling, or implementing Mamba-based neural decoding systems. Separates global semantic (CLS) and local spatial (patch) processing streams for anatomically-specialized predictions.

Ir para a instalação

Informações da origem

Repositório
hiyenwong/ai_collection
Última atividade na origem
8 de junho de 2026 às 08:11
Idioma detectado do SKILL.md
chinês
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
chasmbrain-mamba-brain-reconstruction
description
CHASMBrain - Hierarchical Mamba architecture for image-to-fMRI brain reconstruction with coarse-to-fine strategy. Use when building brain encoding models, visual cortex modeling, or implementing Mamba-based neural decoding systems. Separates global semantic (CLS) and local spatial (patch) processing streams for anatomically-specialized predictions.
license
MIT
# CHASMBrain: Hierarchical Mamba for Brain Reconstruction ## Overview **论文**: "Coarse-to-fine Hierarchical Architecture with Sequential Mamba for Brain Reconstruction" (arXiv:2606.04772) **核心创新**: 双流 Mamba 设计分离全局语义与局部空间,粗到细分层策略预测 ROI → voxel ## 核心方法论 ### 1. 问题背景 **图像到 fMRI 编码的挑战**: - 视觉皮层层级组织复杂 - 现有模型与脑层级对应性弱 - 传统方法无法区分功能专化 **灵感**: 视觉皮层的功能分离 - **早期视觉区** (V1-V3): 位置/方向特异性 → 局部空间 - **高阶区域** (IT): 语义/物体特异性 → 全局语义 ### 2. 双流 Mamba 架构 ```python import torch import torch.nn as nn from mamba_ssm import Mamba class DualStreamMamba(nn.Module): """ 双流 Mamba: 分离 CLS (语义) 和 Patch (空间) 设计原理: - CLS stream: 捕获全局语义 → 高阶视觉区 - Patch stream: 捕获局部位置 → 早期视觉区 """ def __init__(self, d_model=256, n_layers=4): super().__init__() # CLS stream: 全局语义处理 self.cls_mamba = nn.ModuleList([ Mamba(d_model=d_model, d_state=16, d_conv=4, expand=2) for _ in range(n_layers) ]) # Patch stream: 局部空间处理 self.patch_mamba = nn.ModuleList([ Mamba(d_model=d_model, d_state=16, d_conv=4, expand=2) for _ in range(n_layers) ]) # 融合层 self.fusion = nn.Linear(d_model * 2, d_model) def forward(self, cls_token, patch_tokens): """ Args: cls_token: (B, 1, D) - 全局语义 patch_tokens: (B, N, D) - 局部空间 Returns: fused: (B, N+1, D) - 融合表示 """ # CLS stream processing cls_out = cls_token for mamba_layer in self.cls_mamba: cls_out = mamba_layer(cls_out) # Patch stream processing patch_out = patch_tokens for mamba_layer in self.patch_mamba: patch_out = mamba_layer(patch_out) # 融合 # 注意: 不同流对应不同脑区 return cls_out, patch_out ``` ### 3. 粗到细分层策略 ```python class CHASMBrain(nn.Module): """ CHASMBrain: Stage 1 (ROI-level) → Stage 2 (voxel-level) 两阶段设计: - Stage 1: 预测去噪 ROI 级激活 - Stage 2: Mamba-VAE 精细 voxel 级预测 """ def __init__(self, n_rois=10, n_voxels_per_roi=1000): super().__init__() # 视觉特征提取 (如 DINOv2) self.backbone = load_dino_v2() # Stage 1: ROI-level coarse prediction self.stage1_roi = nn.Sequential( DualStreamMamba(d_model=256), nn.Linear(256, n_rois) ) # Stage 2: Voxel-level refinement self.stage2_vae = MambaVAE( latent_dim=128, n_voxels=n_voxels_per_roi ) def forward(self, image): """ Args: image: (B, 3, H, W) Returns: roi_activations: (B, n_rois) voxel_predictions: (B, n_voxels) """ # 提取视觉特征 cls_token, patch_tokens = self.backbone(image) # Stage 1: ROI coarse cls_out, patch_out = self.stage1_roi(cls_token, patch_tokens) roi_activations = self.aggregate_to_roi(cls_out, patch_out) # Stage 2: Voxel refinement voxel_predictions = self.stage2_vae(roi_activations, patch_out) return roi_activations, voxel_predictions def aggregate_to_roi(self, cls_out, patch_out): """ 聚合到 ROI 级 关键发现: - patch stream → 早期视觉 ROI (V1-V3) - CLS stream → 高阶视觉 ROI (OTC) """ # ROI-specific pooling roi_activations = [] # Early visual ROIs: use patch stream early_rois = torch.mean(patch_out[:, :5, :], dim=1) # Higher-order ROIs: use CLS stream higher_rois = cls_out.squeeze(1) roi_activations = torch.cat([early_rois, higher_rois], dim=1) return roi_activations ``` ### 4. Mamba-VAE 细化模块 ```python class MambaVAE(nn.Module): """ Mamba-based VAE for voxel-level refinement 将粗 ROI 预测细化为 voxel 级激活 """ def __init__(self, latent_dim=128, n_voxels=1000): super().__init__() # Encoder: ROI → latent self.encoder = nn.Sequential( Mamba(d_model=256, d_state=16), nn.Linear(256, latent_dim * 2) # mean + logvar ) # Decoder: latent → voxels self.decoder = nn.Sequential( nn.Linear(latent_dim, 256), Mamba(d_model=256, d_state=16, expand=n_voxels // 256), nn.Linear(256, n_voxels) ) def forward(self, roi_activations, spatial_context): """ Args: roi_activations: (B, n_rois) spatial_context: (B, N, D) from patch stream Returns: voxel_predictions: (B, n_voxels) """ # Encode ROI to latent latent_params = self.encoder(roi_activations) mean, logvar = latent_params.chunk(2, dim=-1) # Sample latent z = self.sample_latent(mean, logvar) # Decode to voxels with spatial context voxels = self.decoder(z) return voxels def sample_latent(self, mean, logvar): """VAE latent sampling""" std = torch.exp(0.5 * logvar) eps = torch.randn_like(std) return mean + eps * std ``` ## 实验结果 **Natural Scenes Dataset (NSD)**: | 模型 | Pearson Correlation | MSE | |------|-------------------|-----| | Ridge Regression | 0.358 | 0.293 | | DINOv2 Linear Probe | 0.391 | 0.278 | | **CHASMBrain** | **0.429** | **0.261** | ## 关键发现:因果分支消融 **实验设计**: 分别消融 CLS stream 和 Patch stream **核心发现**: ``` Patch Stream 消融 → 早期视觉区 (V1-V3) 性能下降 CLS Stream 消融 → 高阶区域 (OTC) 性能下降 结论: - Patch stream 专化于早期视觉(视网膜拓扑区) - CLS stream 专化于高阶语义区 - 对应关系是因果性的,不仅是相关性 ``` ## 跨被试迁移 ```python def cross_subject_transfer(source_model, target_subject_data): """ CHASMBrain 跨被试迁移 发现: backbone 学到的表示是被试无关的 只需少量 per-subject adaptation """ # 加载预训练 backbone backbone = source_model.backbone # 目标被试少量数据 target_images, target_fmri = target_subject_data # 最小适配 adaptation_layer = nn.Linear(256, target_fmri.shape[1]) # Fine-tune on target for img, fmri in zip(target_images[:50], target_fmri[:50]): pred = backbone(img) adaptation_layer(pred) return adapted_model ``` ## 应用场景 ### 1. 视觉皮层建模 ```python # 预测特定 ROI 的激活 model = CHASMBrain() roi_names = ['V1', 'V2', 'V3', 'V4', 'OTC'] for roi in roi_names: activations = model.predict_roi(image, roi) visualize_roi_activation(activations, roi) ``` ### 2. 脑-模型对应性分析 ```python # 消融实验分析脑区专化 cls_contribution = model.cls_stream_ablation(image) patch_contribution = model.patch_stream_ablation(image) # 比对真实 fMRI correlation_cls = correlate(cls_contribution, real_fmri['OTC']) correlation_patch = correlate(patch_contribution, real_fmri['V1-V3']) ``` ### 3. 神经解码器设计 ```python # 逆向: fMRI → image reconstruction class BrainToImageDecoder(nn.Module): def __init__(self): self.inverted_mamba = InvertedMamba() self.generator = DiffusionGenerator() def forward(self, fmri_activations): # fMRI → latent → image latent = self.inverted_mamba(fmri_activations) image = self.generator(latent) return image ``` ## 实现要点 ### 数据预处理 ```python def preprocess_nsd_data(nsd_dataset): """ NSD 数据预处理 Args: nsd_dataset: Natural Scenes Dataset Returns: images: 预处理图像 fmri: 对应 fMRI voxel 激活 """ # 图像标准化 images = normalize_images(nsd_dataset.images) # fMRI 去噪 + ROI 定义 fmri = denoise_fmri(nsd_dataset.fmri) # ROI 分组 roi_activations = { 'early_visual': fmri[:, early_visual_mask], 'higher_order': fmri[:, higher_order_mask] } return images, fmri, roi_activations ``` ### 避免陷阱 **常见错误**: 1. ✗ 单流处理所有特征 → 无法区分功能专化 2. ✗ 直接预测 voxel → 计算成本高 + 噪声敏感 3. ✗ 固定 backbone → 跨被试迁移差 **正确做法**: 1. ✓ 双流分离: CLS (语义) + Patch (空间) 2. ✓ 粗到细: ROI → Voxel 分层预测 3. ✓ 共享 backbone + per-subject adaptation ## 代码资源 **Mamba SSM**: https://github.com/state-spaces/mamba **NSD Dataset**: https://naturalscenesdataset.org **依赖**: - Python 3.9+ - PyTorch 2.0+ - mamba-ssm - einops ## 扩展方向 1. **动态视觉**: 视频 → 时序 fMRI 编码 2. **多模态**: 视觉 + 语言 Mamba 融合 3. **逆向解码**: fMRI → 图像重建 4. **临床应用**: 视觉功能障碍诊断 ## 关键论文引用 ```bibtex @article{vo2026chasmbrain, title={Coarse-to-fine Hierarchical Architecture with Sequential Mamba for Brain Reconstruction}, author={Vo, Hoang-Son and Bui, Van-Hung and Mai-Duc, Minh-Huy and Mai, Tien-Dung and Kim, Soo-Hyung}, journal={arXiv preprint arXiv:2606.04772}, year={2026} } ``` --- **Activation Keywords**: CHASMBrain, Mamba brain reconstruction, image-to-fMRI, visual cortex modeling, dual-stream Mamba, ROI voxel prediction, coarse-to-fine neural decoding, NSD dataset
Ver no GitHub