Functional Ensembles as Units of Computation in Deep Spiking Networks. 1FC (first-order functionally-connected) ensembles framework for analyzing information encoding in SNNs through rare coordinated firing events.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Functional Ensembles as Units of Computation in Deep Spiking Networks. 1FC (first-order functionally-connected) ensembles framework for analyzing information encoding in SNNs through rare coordinated firing events.
version
1.0.0
author
Aditi Aravind, Konstantinos Ladakis, Mario Alexios Savaglio, Stelios M. Smirnakis, Maria Papadopouli
For neuron i in layer L:
1FC(i) = {j in layer L-1 : corr(spike_i, spike_j) > threshold}
2. ReLU-like Input-Output Relationship
Aggregate cofiring predicts downstream response:
1FC ensemble 的集体发放产生可靠的响应预测
输入-输出关系类似 ReLU (thresholded)
Gain 与 ensemble size 系统性相关
Response = ReLU-like(Σ spikes_in_1FC - threshold)
Gain ∝ ensemble_size
3. Rare Event Information Encoding
关键发现:
Reliable class encoding 仅在 高 1FC cofiring 事件 时出现
这些事件本身发生频率很低 (rare but highly coordinated)
信息表示集中在稀有协同模式中
High information content ⊂ Rare high-coordination events
4. Adversarial Robustness Diagnosis
Uniform random noise: 破坏早期和中间层响应
Adversarial perturbations: 扰乱功能连接结构
Weight permutation: 功能连接结构崩溃
提供精细粒度的节点和通路诊断
Technical Framework
Functional Connectivity Analysis
# 计算 pairwise correlationdefcompute_1FC_groups(spike_trains_L, spike_trains_L_minus_1, threshold=0.05):
"""
spike_trains: binary arrays (n_neurons, T)
"""
correlations = np.corrcoef(spike_trains_L, spike_trains_L_minus_1)
# Statistical significance test
significant_connections = correlations > threshold
# Form 1FC groups
1FC_groups = {}
for i in (n_neurons_L):
1FC_groups[i] = np.where(significant_connections[i])[]
1FC_groups
range
0
return
Ensemble Cofiring Analysis
defanalyze_cofiring_events(1FC_groups, spike_trains):
"""检测高协同发放事件"""# Aggregate cofiring for each neuron
cofiring_strength = []
for i, ensemble inenumerate(1FC_groups.items()):
ensemble_spikes = spike_trains[ensemble].sum(axis=0)
neuron_spike = spike_trains[i]
# Cofiring during neuron's spike
cofiring_when_spike = ensemble_spikes[neuron_spike > 0]
cofiring_strength.append(cofiring_when_spike.mean())
# Identify rare high-coordination events
threshold = np.percentile(cofiring_strength, 95)
high_cofiring_events = cofiring_strength > threshold
return high_cofiring_events
Information Encoding Detection
defmeasure_information_encoding(spike_trains, labels, high_cofiring_events):
"""量化稀有事件中的信息编码"""# Compare class encoding during high vs low cofiring
spikes_high_cofiring = spike_trains[high_cofiring_events]
spikes_low_cofiring = spike_trains[~high_cofiring_events]
# Mutual information with class labels
MI_high = mutual_info_class(spikes_high_cofiring, labels)
MI_low = mutual_info_class(spikes_low_cofiring, labels)
print(f"Information during high cofiring: {MI_high}")
print(f"Information during low cofiring: {MI_low}")
print(f"Ratio: {MI_high / MI_low}") # >> 1 typically
Implementation Guidelines
When to Use 1FC Analysis
适用场景:
SNN 解释性分析: 理解内部表示如何形成
信息流诊断: 精细粒度分析特定节点/通路
对抗鲁棒性检测: 识别脆弱层和通路
生物神经网络类比: 与皮层功能连接对比
Step-by-Step Workflow
训练 SNN
# Spiking ResNet architecture
model = SpikingResNet(num_layers=5)
model.train_on_dataset(images, labels)
提取 spike trains
# Record all layer spike trains during inference
spike_recordings = {}
for layer_idx inrange(num_layers):
spike_recordings[layer_idx] = model.get_layer_spikes(layer_idx)
形成 1FC groups
# Compute 1FC for each layer
1FC_groups = {}
for L inrange(1, num_layers):
1FC_groups[L] = compute_1FC_groups(
spike_recordings[L],
spike_recordings[L-1]
)
Aravind A, Ladakis K, Savaglio MA, Smirnakis SM, Papadopouli M. "Rare Events, Real Signals: Functional Ensembles as Units of Computation in Deep Spiking Networks" arXiv:2606.00073
Related work on cortical ensembles: [citations needed]