目录
这个方法能否用来检测矩阵本身?如果一个矩阵 123 1 2 ;123 1 2 ;123 1 2; 这样处理完之后岂不是变化巨大,本身是对的处理完之后结果有问题了?对于用于DNN层目前来看应该没有问题
Boosting Bit-Error Resilience of DNN Accelerators Through Median Feature Selection
这篇文章的核心是提出一种名为“中值特征选择”的新技术,以提高DNN加速器在比特错误环境中的抗扰性。作者通过在每层DNN计算之前过滤比特错误的影响,极大地增强了系统在高错误率下的可靠性,同时保持了较低的面积和功耗开销。
-
核心内容
- 引入了一种新的中值特征选择技术,通过在每层DNN计算之前过滤比特错误的影响,来提高系统的可靠性。
- 这种技术利用了神经网络固有的冗余,不需要额外的参数或乘加操作,从而避免了传统技术通常带来的高昂开销。
- 中值特征选择可以有效地在硬件中执行,并作为模块化插件无缝集成到嵌入式DNN加速器中。
可靠性实现方式
文章的可靠性实现主要是通过在每层计算之前进行中值特征选择过滤来实现的。该技术的核心思想是:
- 通过滑动窗口对输入特征进行中值过滤,去除大幅度的数值偏差,从而减少比特错误对DNN计算的影响。
- 这种方法可以在硬件中高效实现,并能与现有的DNN训练工具和技术无缝结合。
侧重点
- 体系架构:该技术是一种体系架构级的解决方案,通过硬件模块的设计和集成来实现抗扰性提升。
- 算法:中值特征选择本身是一种基于统计学的算法,用于识别和过滤异常值。
- 推理:文章的主要工作在推理阶段,通过硬件实现中值过滤来增强DNN的抗扰性。
中值特征选择的原理:中值特征选择技术的核心思想是将图像处理中成功应用的中值滤波技术引入到神经网络中,以过滤掉激活值和权重中的尖峰错误。
操作步骤:
检测错误:在神经网络每一层的计算之前,检查输入数据中可能存在的异常值(错误信号)。
中值过滤:
- 使用一个“滑动窗口”覆盖输入数据的一部分。
- 在每个窗口内,找出中间的那个值(即“中值”),把它当作代表,这样就能过滤掉那些特别大的错误值。
- 例如,如果窗口大小是3,输入数据是 [1, 100, 2],中值是2,所以过滤后的值就是2。
替换输入:用这些中值替换原来的输入数据,确保进入下一层计算的数据更加“干净”。
类比:想象你在做一个平均分数的统计,但有些成绩单上有明显的错误,比如满分是100,有个成绩却写了999。为了不让这个错误影响整体结果,你可以:
- 把所有成绩按顺序排好
- 取中间的那个值作为代表(而不是简单地取平均值)
- 这样,即使有极端错误,也不会对结果有太大影响。
一、引言
深度学习在实际应用中的广泛应用
- 广泛应用:深度学习技术已经被广泛应用于现实生活中,特别是在各种安全关键的嵌入式应用中,如自动驾驶、医疗设备、机器人和工业控制系统。
- 高准确性:现代深度神经网络在诸如图像分类和目标检测等实际计算机视觉任务中达到了接近人类水平的准确性。
- 降低设计成本:DNN通过消除手动特征工程的需求,降低了设计成本,这对于规模庞大的实际问题尤为重要。
面临的挑战
- 硬件错误保护:神经网络计算需要防范硬件错误,但传统的错误容忍技术的开销非常大,限制了它们在资源有限的嵌入式平台上的使用。
- 高错误率场景:在积极的能源和性能优化下,高错误率场景变得越来越普遍,这进一步限制了传统技术的应用。
本文提出的新技术
- 中值特征选择技术:为了应对上述挑战,本文引入了一种新的中值特征选择技术,用于在每层执行之前过滤比特错误的影响。
- 技术特点:
- 可以视为一种细粒度的模块化冗余方案,但它完全基于网络的固有冗余构建,不需要额外的参数或乘加操作,从而消除了传统技术通常带来的过高开销。
- 中值特征选择可以高效地在硬件中执行,并作为模块化插件无缝集成到嵌入式深度学习加速器中。
- 深度学习模型可以通过标准工具和技术进行训练,以确保与特征选择阶段的良好操作接口。
二、相关工作
错误注入框架
- 研究内容:Li等人、Reagen等人和Neggaz等人通过广泛的错误注入实验评估了最先进神经网络模型的抗比特错误能力。提出的技术在DNN图抽象层面进行错误注入,以加速评估过程。
- 方法:Dos Santos等人进行了架构级错误注入以及中子束实验,以评估深度学习算法在GPU设备上的可靠性。
错误检测技术
- 研究内容:Li等人和Schorn等人提出了基于症状的错误检测技术,用于DNN计算。
- 方法:
- Li等人检查激活幅度是否在预期范围内,以识别关键的比特错误。
- Schorn等人使用一个较小的独立DNN模型来区分主网络中的关键和非关键比特错误。
- Ozen和Orailoglu利用乘加运算(MAC)操作的线性特性构建全连接层和卷积层计算中的错误检测校验和。
- Ozen和Orailoglu在DNN训练中使用额外的惩罚项,以嵌入有用的错误检查不变量。
这些技术主要处理错误检测问题,尽管[22]中提供了有限的错误校正能力,并且可以集成到[17]中,但当计算中存在大量错误时,这些方法都不能提供令人满意的错误校正结果。
对电压/频率缩放的抗比特错误能力
- 研究内容:Zhang等人利用Razor触发器检测定时错误,并结合架构旁路阻止电压缩小DNN加速器中的比特错误传播。
- 方法:Reagen等人采用Razor技术和错误掩蔽来处理电压缩小DNN加速器缓冲区中的SRAM读取错误。Pandey等人设计了一种自适应电压提升方案