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.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
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]