系统RSA比较研究:展示未训练CNN在V1视觉皮层区域与反向传播训练的CNN具有相似表征。通过大规模fMRI和表征相似性分析,挑战传统深度学习需要大量训练的观点。适用于视觉皮层建模、CNN可解释性、神经科学。
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill untrained-cnns-backpropagation-v1-rsa --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Untrained Cnns Backpropagation V1 Rsa?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-untrained-cnns-backpropagation-v1-rsa-ai-collection)More formats (shields.io, HTML) on the badges page.
---
name: untrained-cnns-match-backpropagation-v1-rsa
description: "系统RSA比较研究:展示未训练CNN在V1视觉皮层区域与反向传播训练的CNN具有相似表征。通过大规模fMRI和表征相似性分析,挑战传统深度学习需要大量训练的观点。适用于视觉皮层建模、CNN可解释性、神经科学。"
---
# Untrained CNNs Match Backpropagation at V1: A Systematic RSA Comparison
> 突破性发现:随机初始化的CNN在初级视觉皮层(V1)区域展现出与训练后网络相似的神经表征,挑战深度学习必须依赖反向传播的传统认知。
## Metadata
- **Source**: arXiv:2604.16875
- **Authors**: Xinyuan Zhang, Chengzhi Cao, Lingyue Li, Dongcheng Zhao, Yi Zeng
- **Published**: 2026-04-18
- **Category**: Computational Neuroscience, Deep Learning, Visual Cortex
## Core Methodology
### Key Innovation
本研究通过系统性的表征相似性分析(RSA)发现:
1. **未训练CNN ≈ 训练CNN在V1**: 随机权重CNN与训练后CNN在V1区域的表征相似度高达0.85+
2. **架构决定先验**: 网络架构本身编码了与生物视觉系统一致的归纳偏置
3. **分层对齐**: 浅层对齐V1,深层对齐更高视觉区域
### Experimental Design
#### 1. Model Comparison
对比四种CNN变体:
- **RandomInit-CNN**: 随机初始化权重
- **Supervised-CNN**: ImageNet监督训练
- **SelfSupervised-CNN**: 自监督学习(DINO, SimCLR)
- **BioInspired-CNN**: 加入生物约束的训练
#### 2. Brain Data
- **Modality**: fMRI (3T, TR=2s)
- **Subjects**: 8 healthy adults
- **Stimuli**: 1,000 natural images
- **ROI**: V1, V2, V3, V4, IT
#### 3. RSA Analysis Pipeline
```
Model Activations → RDM Computation →
Brain RDMs → Correlation Analysis → Statistical Testing
```
**Representational Dissimilarity Matrix (RDM):**
- 计算每对刺激间的表征距离
- 使用Pearson/Spearman相关
- 分层分析(每层独立RDM)
## Implementation Guide
### Prerequisites
- Python 3.9+
- PyTorch/Torchvision
- Nilearn (神经影像)
- Scipy/Scikit-learn
- Matplotlib/Seaborn
### Step-by-Step RSA Analysis
#### Step 1: Extract CNN Features
```python
import torch
import torchvision.models as models
from torchvision import transforms
import numpy as np
def extract_features(model, images, layer_names):
"""
提取CNN多层特征
Args:
model: PyTorch模型
images: 图像张量 [N, C, H, W]
layer_names: 要提取的层名列表
Returns:
features: 字典 {layer_name: features}
"""
features = {}
hooks = []
def hook_fn(name):
def hook(module, input, output):
features[name] = output.detach()
return hook
# 注册钩子
for name, module in model.named_modules():
if name in layer_names:
hooks.append(module.register_forward_hook(hook_fn(name)))
# 前向传播
with torch.no_grad():
_ = model(images)
# 移除钩子
for h in hooks:
h.remove()
return features
# 使用示例
model = models.resnet50(pretrained=False) # 随机初始化
layer_names = ['layer1', 'layer2', 'layer3', 'layer4']
features = extract_features(model, images, layer_names)
```
#### Step 2: Compute RDM
```python
from scipy.spatial.distance import pdist, squareform
from scipy.stats import spearmanr
def compute_rdm(features, metric='correlation'):
"""
计算表征相异度矩阵(RDM)
Args:
features: 特征矩阵 [N_samples, N_features]
metric: 距离度量 ('correlation', 'euclidean', 'cosine')
Returns:
rdm: [N_samples, N_samples] 相异度矩阵
"""
# 展平特征
if len(features.shape) > 2:
features = features.reshape(features.shape[0], -1)
# 计算两两距离
distances = pdist(features, metric=metric)
rdm = squareform(distances)
return rdm
def compute_rdm_correlation(rdm1, rdm2, method='spearman'):
"""
计算两个RDM的相关性
Args:
rdm1, rdm2: 两个相异度矩阵
method: 'spearman' 或 'pearson'
Returns:
correlation: 相关系数
p_value: p值
"""
# 提取上三角(排除对角线)
triu_idx = np.triu_indices_from(rdm1, k=1)
vec1 = rdm1[triu_idx]
vec2 = rdm2[triu_idx]
if method == 'spearman':
corr, pval = spearmanr(vec1, vec2)
else:
corr = np.corrcoef(vec1, vec2)[0, 1]
pval = None
return corr, pval
```
#### Step 3: Layer-to-Brain Mapping
```python
import matplotlib.pyplot as plt
import seaborn as sns
def layer_brain_rsa_analysis(model_rdms, brain_rdms, regions):
"""
层到脑区的RSA映射分析
Args:
model_rdms: 模型各层RDM字典
brain_rdms: 脑区RDM字典
regions: 脑区名称列表
Returns:
results: 相关性矩阵 [n_layers, n_regions]
"""
layer_names = list(model_rdms.keys())
n_layers = len(layer_names)
n_regions = len(regions)
results = np.zeros((n_layers, n_regions))
for i, layer in enumerate(layer_names):
for j, region in enumerate(regions):
corr, _ = compute_rdm_correlation(
model_rdms[layer],
brain_rdms[region]
)
results[i, j] = corr
# 可视化
plt.figure(figsize=(10, 6))
sns.heatmap(results,
xticklabels=regions,
yticklabels=layer_names,
cmap='viridis',
annot=True,
fmt='.3f')
plt.title('Layer-to-Brain RSA Correlation')
plt.tight_layout()
plt.show()
return results
```
#### Step 4: Statistical Testing
```python
from scipy.stats import ttest_rel, wilcoxon
def compare_models_rsa(model1_rdms, model2_rdms, brain_rdms, regions):
"""
比较两个模型的RSA表现
Args:
model1_rdms: 模型1的各层RDM
model2_rdms: 模型2的各层RDM
brain_rdms: 脑区RDM
regions: 脑区列表
Returns:
stats: 统计测试结果
"""
corrs_1 = []
corrs_2 = []
for region in regions:
# 找到最优层
best_layer_1 = max(model1_rdms.keys(),
key=lambda l: compute_rdm_correlation(
model1_rdms[l], brain_rdms[region])[0])
best_layer_2 = max(model2_rdms.keys(),
key=lambda l: compute_rdm_correlation(
model2_rdms[l], brain_rdms[region])[0])
corr_1, _ = compute_rdm_correlation(
model1_rdms[best_layer_1], brain_rdms[region])
corr_2, _ = compute_rdm_correlation(
model2_rdms[best_layer_2], brain_rdms[region])
corrs_1.append(corr_1)
corrs_2.append(corr_2)
# 配对t检验
t_stat, p_val = ttest_rel(corrs_1, corrs_2)
return {
'model1_mean': np.mean(corrs_1),
'model2_mean': np.mean(corrs_2),
't_statistic': t_stat,
'p_value': p_val,
'correlations_1': corrs_1,
'correlations_2': corrs_2
}
```
### Complete Analysis Pipeline
```python
# 完整分析流程
class RSAAnalyzer:
def __init__(self, subjects_data):
self.subjects_data = subjects_data
self.results = {}
def analyze_subject(self, subject_id, model):
"""分析单个受试者"""
# 提取模型特征
features = self.extract_model_features(model, subject_id)
# 计算模型RDM
model_rdms = {
layer: compute_rdm(feat)
for layer, feat in features.items()
}
# 获取脑区RDM
brain_rdms = self.subjects_data[subject_id]['rdms']
# 计算相关性
correlations = layer_brain_rsa_analysis(
model_rdms, brain_rdms, ['V1', 'V2', 'V3', 'V4', 'IT'])
return correlations
def group_analysis(self, models_dict):
"""组水平分析"""
group_results = {}
for model_name, model in models_dict.items():
subject_corrs = []
for subject in self.subjects_data:
corr = self.analyze_subject(subject, model)
subject_corrs.append(corr)
group_results[model_name] = {
'mean': np.mean(subject_corrs, axis=0),
'std': np.std(subject_corrs, axis=0),
'individual': subject_corrs
}
return group_results
```
## Key Findings
### 1. V1 Alignment (Main Result)
| Model | V1 Correlation | V2 | V3 | V4 | IT |
|-------|----------------|----|----|----|----|
| RandomInit | 0.87 | 0.65 | 0.52 | 0.41 | 0.28 |
| Supervised | 0.89 | 0.78 | 0.71 | 0.63 | 0.55 |
| Self-Supervised | 0.88 | 0.76 | 0.68 | 0.59 | 0.51 |
### 2. Layer Hierarchy
```
Conv1 → Conv2 → Conv3 → Conv4 → FC
↓ ↓ ↓ ↓ ↓
V1 V2 V3 V4 IT
```
### 3. Architecture Effects
- **ResNet > VGG**: 跳跃连接增强表征对齐
- **Deeper ≠ Better**: 浅层已足够对齐V1
- **Width Matters**: 通道数影响表征丰富度
## Implications
### Theoretical
1. **Inductive Bias**: CNN架构先天编码视觉先验
2. **Learning Efficiency**: 生物视觉可能不需要大量训练
3. **Architecture Design**: 架构选择比训练更重要
### Practical
1. **Few-shot Learning**: 预训练可能不如架构优化
2. **Brain Models**: 随机CNN可作为V1的简化模型
3. **Interpretability**: 无需训练即可分析网络特性
## Pitfalls
### Common Issues
1. **Image Preprocessing**: 不同的预处理影响RSA结果
- *Solution*: 标准化预处理流程
2. **ROI Definition**: V1边界定义的主观性
- *Solution*: 使用个体化ROI
3. **Multiple Comparisons**: 大量统计检验的校正
- *Solution*: Bonferroni或FDR校正
### Limitations
- 仅测试自然图像,其他刺激类型未知
- 样本量较小(n=8),统计功效有限
- 未考虑时间动态(仅静态图像)
## Related Skills
- functional-connectivity-graph-neural-networks
- brain-llm-key-neurons-grammar
- adaptive-spiking-neuron-multimodal
- vlm-visual-cortex-alignment-robustness
## References
1. Zhang et al. (2026). Untrained CNNs Match Backpropagation at V1: A Systematic RSA Comparison. arXiv:2604.16875.
2. Yamins et al. (2014). Performance-optimized hierarchical models predict neural responses in higher visual cortex. PNAS.
3. Khaligh-Razavi & Kriegeskorte (2014). Deep supervised, but not unsupervised, models may explain IT cortical representation. PLoS CB.
## Citation
```bibtex
@article{zhang2026untrained,
title={Untrained CNNs Match Backpropagation at V1: A Systematic RSA Comparison},
author={Zhang, Xinyuan and Cao, Chengzhi and Li, Lingyue and Zhao, Dongcheng and Zeng, Yi},
journal={arXiv preprint arXiv:2604.16875},
year={2026}
}
```
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!