通过内部激活的频谱分析检测神经网络故障
摘要
本文识别了神经网络在错误分类期间内部激活中的频谱漂移,并引入了自检测神经网络(SDNN),通过监控频谱动态来检测故障,在CIFAR-10上实现了79%的AUROC,比基于置信度的方法高出25-30个百分点。
arXiv:2607.20590v1 Announce Type: new
摘要:神经网络的错误分类在其内部激活中表现出特征性的频谱不稳定性,而这种不稳定性在输出层是不可见的。本文将这一现象识别并形式化为频谱漂移——连续层激活之间的频域距离——并通过实证验证表明,错误预测的漂移显著高于正确预测(增加1.9%,p<0.001)。这种频谱特征在内部处理过程中出现,但在最终输出中被掩盖,这解释了为什么基于置信度的检测方法难以奏效。
本文引入了自检测神经网络(SDNN),这是一种通过短时傅里叶变换、小波分解和统计矩来捕捉多尺度频谱特征,从而监控网络深度上频谱动态的框架。一个轻量级检测器网络(参数开销5%)通过课程学习在逐渐困难的分布上学习识别故障指示模式:自然错误分类、分布偏移和对抗扰动。
在CIFAR-10上的实验表明,SDNN在三个种子上的AUROC达到79.0±25.3%,大幅优于基于置信度的基线方法,包括MaxSoftmax(50.5%)和Energy Score(52.9%),高出约25-30个百分点。消融研究表明,小波分解和统计特征贡献一致,而STFT的作用尚不明确。本文确立了内部激活频谱分析作为神经网络可靠性的一个有前景的方向,揭示了基于输出的方法无法获得的诊断信息。
查看缓存全文
缓存时间: 2026/07/24 05:12
# 通过内部激活的频谱分析检测神经网络故障
来源:https://arxiv.org/html/2607.20590
\\jmlryear
2026\\jmlrworkshopACML 2026
###### 摘要
神经网络误分类在内部激活中表现出特征性的频谱不稳定性,而这种不稳定性在输出层是不可见的。本文识别并形式化了这一现象,称之为**频谱漂移**——即连续层激活之间的频域距离——并通过实证验证表明,故障情况下的漂移显著高于正确预测(增加1.9%,p<0.001)。这种频谱特征在内部处理过程中出现,但在最终输出中被掩盖,这解释了为何基于置信度的检测方法难以奏效。
本文引入了自检测神经网络(SDNN),该框架通过短时傅里叶变换、小波分解和统计矩来监测网络深度的频谱动态,捕获多尺度频谱特征。一个轻量级的检测器网络(参数开销5%)通过课程学习在逐渐困难的数据分布上学习识别指示故障的模式:自然误分类、分布漂移和对抗扰动。
在CIFAR-10上的实验表明,SDNN在三个随机种子下实现了79.0±25.3%的AUROC,大幅优于包括MaxSoftmax(50.5%)和能量分数(52.9%)在内的基于置信度的基线方法,高出约25-30个百分点。消融研究表明,小波分解和统计特征具有一致的贡献,而STFT的作用尚不明确。本工作确立了内部激活的频谱分析作为神经网络可靠性研究的一个有前景方向,揭示了输出层方法无法获得的诊断信息。
###### 关键词:
神经网络;故障检测;误分类检测;频谱分析;信号处理;深度学习可靠性
††编辑:Andy Song, Bo Han and Sarah Erfani
## 1 引言
深度学习模型在分布内测试数据上取得了显著的准确率,但当输入偏离训练分布时,往往不可预测地失败。一个在清晰白天图像上训练的模型可能自信地误分类雾天或夜晚场景,却输出同样高的softmax分数。这种静默故障模式在自动驾驶、医疗诊断和金融交易等应用中构成严重风险,因为错误的预测可能带来严重后果。
当前检测误分类的方法主要依赖输出层信号。最大softmax概率、基于温度缩放的方法(如ODIN)和基于能量的分数都检查模型的最终预测以推断置信度。然而,这些方法有一个根本局限性:它们只能看到网络想展示给它们的内容。如果模型学会了虚假的相关性或捷径,它可能产生看似与正确预测无法区分的自信错误预测,仅凭输出统计量无法区分。
本文采用不同的方法。我们不再问“模型有多自信?”,而是聚焦于“当模型犯错时,网络内部发生了什么?”通过监控多个层的内部激活,我们可以检测到在前向传播过程中出现的指示故障的模式——这些模式在输出层是不可见的。关键洞察是,分布漂移下的误分类在跨网络深度时表现出特征性的时间动态。当模型遇到漂移或对抗输入时,从早期层到晚期层的激活进展显示出与正常处理不同的独特特征。
为了捕获这些特征,我们将激活序列视为多通道信号,并应用经典信号处理。对于网络中的每个探测点,我们计算三种互补表示:通过STFT获得的频谱特征捕捉频域异常,小波系数编码多尺度模式,统计矩(均值、方差、偏度、峰度)总结分布特性。然后使用双向GRU模型跨层的时序依赖,学习哪些激活模式预测故障。
训练这样的检测器具有挑战性,因为需要故障示例。我们通过课程学习(Bengio et al., 2009)来解决,分三个阶段。首先,在验证集的自然误分类上训练,给监控器提供简单的负面示例。其次,引入导致更系统性故障的分布漂移输入(旋转、平移、噪声)。最后,添加通过FGSM和PGD生成的对抗示例,迫使监控器处理最坏情况的扰动。这种课程学习实现了稳定训练,并防止过拟合于任何单一故障模式。
我们在CIFAR-10(Krizhevsky and Hinton, 2009)上评估SDNN,使用提供现实故障分布的验证集——这与标准测试集不同,标准测试集中模型达到近乎完美的准确率。在三个随机种子下,SDNN达到79.0±25.3%的AUROC,显著优于现有方法(约50-55%,仅略好于随机)。高方差反映了训练不稳定性(种子范围从50%到96%),我们承认这是局限性。为了详细分析,我们在后续章节中报告种子42(AUROC为90.9%),以便在消融研究中进行受控比较。监控器网络仅添加1.3M参数(ResNet-50(He et al., 2016)的5%),并且在单次前向传播中处理图像,使其适合部署。
贡献:(1)频谱漂移现象:识别并形式化了内部激活中的频谱不稳定性作为一种特征性的故障特征,通过实证验证表明误分类的漂移显著更高(p<0.001,Cohen's d≈0.16);(2)理论基础:解释了为何频域分析能揭示在输出层不可见的故障,基于异常信息传播动态;(3)检测方法:SDNN框架结合多尺度频谱特征与课程学习,实现实用的故障检测,计算开销最小;(4)消融分析:系统评估揭示小波分解和统计特征有持续贡献;(5)实证验证:展示了相对于基于置信度的方法(79.0±25.3% vs 50-55%)的显著AUROC提升。
## 2 相关工作
**置信度估计。** 检测故障最简单的方法使用最大softmax概率作为置信度度量(Hendrycks and Gimpel, 2017)。然而,神经网络在分布外输入上往往过于自信(Nguyen et al., 2015)。温度缩放方法(Guo et al., 2017)调整softmax分布,但仍依赖输出统计量。基于能量的分数(Liu et al., 2020)通过检查softmax前的logits提供更好的校准,但仍从根本上局限于输出层信息。
**不确定性量化。** 贝叶斯方法如MC Dropout(Gal and Ghahramani, 2016)通过多次随机前向传播估计不确定性。虽然理论上严谨,但这些方法需要显著的计算开销(10-50次传播),并且相比于简单基线仅带来边际改善。深度集成(Lakshminarayanan et al., 2017)获得更好的不确定性估计,但训练和推理成本随集成大小成倍增加。
**分布外检测。** 诸如ODIN(Liang et al., 2018)和马氏距离(Lee et al., 2018)等方法旨在区分分布内和分布外输入。然而,它们在近分布漂移和对抗样本上表现不佳。关键是,这些方法检测的是分布差异而非实际误分类——模型可能正确分类某些OOD输入,却误分类另一些(Hendrycks et al., 2019)。
**对抗鲁棒性。** 对抗训练(Madry et al., 2018)和认证防御(Cohen et al., 2019)提高了对扰动的鲁棒性,但常常牺牲干净准确率。快速基于梯度的方法如FGSM(Goodfellow et al., 2015)和迭代方法如PGD(Madry et al., 2018)揭示了模型的脆弱性。本文提出的方法是互补的:我们不是防止故障,而是事后检测它们,从而允许使用标准准确率优化的模型,并配以安全监控器。
**内部表示。** 近期工作探索了内部激活用于多种目的,包括表示相似性分析(Raghu et al., 2017, SVCCA)和(Kornblith et al., 2019, CKA)、层探测(Alain and Bengio, 2017)以及激活监控(Olah et al., 2018)。然而,这些方法主要分析表示*编码了什么*,而不是表示*如何在层间演化*。本文提出的频谱分析在三个根本方面不同:(1)分析的是激活动态的频域特性,而不是向量空间中的表示相似性;(2)使用信号处理(STFT,小波)建模跨深度的时序演化,而不是静态的逐层比较;(3)本文明确针对分布漂移下的误分类检测,而不是表示分析或可解释性。
## 3 方法
### 3.1 问题形式化
问题形式化如下。给定一个预训练的分类器 f_θ: X → Y,其权重 θ 被冻结,目标是构建一个检测器 d_φ: X → [0,1],预测 f_θ 是否会误分类输入 x。令 ŷ = f_θ(x) 表示分类器的预测,y 为真实标签。定义故障指示器:
z = 𝟙[ŷ ≠ y] (1)
其中 z=1 表示误分类。目标是通过分析内部激活(而非仅依赖输出统计量)来学习 d_φ(x) ≈ z。
### 3.2 提取内部激活
在 f_θ 的不同位置插入 K 个探测点,以捕获中间激活。对于像 ResNet(He et al., 2016)这样的CNN,探测点放置在每个残差阶段之后和最终池化层之前。在 ResNet-50 中,这产生 K=5 个探测点,激活张量为 {A₁, A₂, ..., A_K},其中 A_k ∈ R^{B × C_k × H_k × W_k},B 为批次大小。
关键洞察是将这些激活视为跨网络深度的时序序列,而非静态特征。随着信息从早期层传播到晚期层,会出现区分故障与正确预测的特征性模式。
### 3.3 激活的信号处理
对于每个探测点 k,提取三种类型的特征,它们捕获激活模式的不同方面:
**通过STFT的频谱特征。** 展平空间维度,并沿着空间轴应用短时傅里叶变换,将每个通道视为独立信号:
S_k(f, t) = STFT(A_k) (2)
对数幅度谱捕获频域特性。对频率和时间应用全局平均和最大池化,然后投影到64维向量。
**小波系数。** 离散小波变换将激活分解为多个尺度:
[W_k^(1), W_k^(2), ..., W_k^(L)] = DWT(A_k) (3)
采用 Daubechies-4 小波,分解层数为3。每个子带中的能量产生一个32维特征向量。
**统计矩。** 对每个通道在空间维度上计算均值和方差、偏度、峰度,然后池化得到一个16维向量。
所有三种表示被拼接,得到每个探测点的 h_k ∈ R^112。所有探测点的完整序列为:
H = [h₁, h₂, ..., h_K] ∈ R^{K×112} (4)
### 3.4 监控器网络架构
采用双向GRU来建模跨层的依赖关系:
→h_k = GRU(h_k, →h_{k-1}) (5)
←h_k = GRU(h_k, ←h_{k+1}) (6)
最终的隐藏状态被拼接,并应用带有dropout的两层MLP:
p = σ(MLP([→h_K; ←h₁])) (7)
其中 σ 是sigmoid函数,p ∈ [0,1] 表示预测的故障概率。GRU每方向采用64个隐藏单元,dropout为0.3。监控器总参数量:约1.3M(ResNet-50的25.5M的5%)。
### 3.5 理论动机:频谱漂移
我们的假设是,误分类源于跨网络深度的异常信息传播。考虑层 k 的激活变换:
A_{k+1} = f_k(A_k) + ε_k (8)
其中 f_k 表示层变换,ε_k 捕获传播误差。对于分布内输入的正确分类,ε_k 保持有界且具有平滑的频谱特性——激活频率内容逐步演化,特征变得越来越抽象。
分布漂移或对抗扰动破坏了这种平滑进程。训练分布之外的输入在 ε_k 中引起不稳定性,在频域引入高频成分。这通过**频谱漂移**来形式化,即连续层激活之间的频域距离:
D_k = ||F(A_k) - F(A_{k+1})||₂ (9)
其中 F(·) 表示短时傅里叶变换。核心假设是:
E[D_k | 故障] > E[D_k | 成功] (10)
关键的是,这种频谱不稳定性在内部处理过程中出现,但在随后的变换中在输出层被掩盖。基于输出的置信度方法无法访问这一诊断信号——这相似文章
基于频谱图神经网络强化学习的自愈智能电网故障检测
本文提出了一种频谱图强化学习框架,用于自愈智能电网的故障检测和电力恢复,在IEEE测试系统上实现了接近最优的实时性能。
CAFD: 使用VLMs的概念感知DNN故障检测
本文介绍了CAFD,一种基于学习的DNN故障检测方法,它整合了基于模型、基于距离以及一种新颖的基于概念的特征——概念失败率(CFR),该特征源自视觉语言模型。CAFD在多个数据集和预算下的故障检测率方面持续优于最先进的基线方法。
频谱混叠前置任务:旋转机械自监督故障诊断的新任务
本文介绍了频谱混叠前置任务(SAP),一种面向旋转机械故障诊断的自监督学习方法。通过有意对振动信号进行欠采样,并训练Transformer重建原始频谱,SAP学习到具有判别性的频域表示,从而在有限标注数据下实现强大的分类性能。
多智能体AI中的隐藏联盟:基于内部表示的光谱诊断
本文介绍了一种光谱诊断方法,通过互信息分析内部神经表示来检测多智能体AI系统中的隐藏联盟,以应对关键的AI安全和对齐挑战。
图谱分析(Fiedler值与Scheffer CSD指标)在损失函数变化前21,000步预测grokking——五个可重复实验 [R]
应用图谱分析(Fiedler值)和Scheffer临界减速指标来预测神经网络中的grokking,在损失函数变化前21,000步检测到它,在五个可重复实验中。