Page 374 - 《软件学报》2025年第4期
P. 374
1780 软件学报 2025 年第 36 卷第 4 期
4.1 故障与容错介绍
在容错神经系统中有 3 个基本概念, 即故障、错误和失败. 3 个概念对应着从硬件层经过网络模型到行为层,
它们之间存在因果关系, 如图 21 所示.
数据 推理
神经网络模型
物理层 故障 错误 失败 行为层
图 21 故障与容错系统
故障是系统中引起错误的异常物理状态; 错误则是神经网络模型中故障的表现形式, 表现为网络中组分的逻
辑状态与其预期值不同; 失败是指系统由于其元件中的错误或环境中的扰动而无法执行其预期的功能或行为 [232] .
老化等引起的硬件故障. 然而, 在最近的故障注入实验中, 这种假设被证明并不成立
将错误传播到行为层会导致系统功能失败, 但是, 硬件层中的故障不一定会导致错误或失败, 因为这个故障可能会
失效, 未对顶层产生影响.
针对容错神经系统中最底层的硬件故障, 可以分为两类: 软故障和硬故障 [233,234] . 软故障是由运行过程中出现
的不同周期间或器件间的变化引起的, 包括读/写操作过程中的状态变化, 可能只持续很短的时间, 通常是外部干
扰的结果, 也称为瞬时故障. 硬故障是由制造步骤引起的, 也可能是由成型过程或持续应力引起的, 这种故障是连
续的, 不随时间改变的, 主要是由不可逆转的物理损伤造成的, 也称为永久故障. 在当前半导体技术构建的数字计
算系统中, 绝大多数故障都是软故障 [235] , 软故障比硬故障更难检测.
对于神经网络的容错性, 如果从神经网络 N 得到的故障网络 N fault 所执行的计算 能够接近 H N , 则执行
H N fault
计算 H N 的神经网络 N 被称为容错网络. 从形式上讲, 对于 ϵ > 0 的情况, 如果 N 能够容忍任何大小最多为 N fails 的
子集的故障组件 (例如神经元/突触), 则称 N 为 ϵ- 容错神经网络 [236] , 如公式 (16) 所示:
(X) ⩽ ϵ, ∀X ∈ T (17)
H N (X)−H N fault
其中, X 是应用于网络 N 和 N fault 的任何刺激, 属于训练集 T 或输入数据的一部分. 给定一个任务, 容错的目标是
ϵ- 容错特性. 可以理解为网络功能的故障阈
ϵ
确定一个网络 N , 该网络既能执行所需的计算, 又具有相对于 T 的
值, 低于这个阈值, 网络就不能再按照预期执行其功能. 因此, 神经网络的容错取决于性能可接受程度的定义及其
预期应用 [237] .
4.2 脉冲神经网络的容错研究
早在 20 世纪 90 年代初, 就有一些关于 ANN 容错性的研究成果问世, 但在随后的 20 年间, 人们几乎遗忘了
这一问题 [238] . 近年来, 随着边缘人工智能的研究发展, 越来越多的工作将神经网络模型部署到嵌入式系统中, 这些
边缘硬件设备或由于自身材料制造问题带来硬故障, 或因为持续性工作发生软故障, 故障的产生给装置的正常运
行带来隐患. 因此, 如何处理边缘设备运行 AI 应用时出现的硬件故障已成为当下亟待解决的问题之一.
与 ANN 相比, SNN 被认为继承了生物大脑卓越的容错能力, 能够抵御由制造缺陷、降压内存操作、辐射和
[239]
.
为了确定 SNN 的故障模型, 文献 [240] 在仅考虑由制造缺陷和老化现象引起的硬故障的前提下, 首次尝试对
实现 SNN 的元件中可能出现的故障进行分类定义. 故障模型包括最坏情况下的故障行为, 如死神经元故障和死突
触故障, 其中死突触故障以零权重建模. 结果表明, 要想明显降低识别率, 需要较高的故障密度. 根据过往理论研
究 [238,241] , 故障神经元比故障突触对神经网络行为的影响更大, 同时, SNN 中使用的在线学习算法能有效减轻突触
变化或输入噪声对网络鲁棒性的影响.
文献 [242] 研究了前馈结构的 SNN 在使用不同算法训练时对死突触故障的恢复能力. 结果表明, 复原特性在