Accurate Neuron Resilience Prediction for a Flexible Reliability Management in Neural Network Accelerators
准确的神经元弹性预测,实现神经网络加速器中灵活的可靠性管理
目录
文章核心
主要内容:
- 背景:深度神经网络(DNN)已经成为处理复杂分类任务的广泛工具。当前的研究重点在于为移动和嵌入式设备开发高效且快速的神经网络硬件加速器。
- 问题:在一些安全关键应用中(如自动驾驶汽车),除了功耗效率和延迟之外,硬件加速器的可靠性也是一个重要的优化指标。然而,确保硬件可靠性在纳米半导体技术时代变得越来越具有挑战性。
- 解决方案:一个解决方案是利用深度神经网络中容错部分的特性。
- 方法:本文提出了一种新的方法来预测深度神经网络中神经元的错误弹性(error resilience),并显示这种方法在准确性和可解释性上显著优于现有方法。
二、引言
主要内容:
- 背景与现状:
- 深度神经网络在计算机视觉中引发了一场革命,已成为大多数视觉识别和检测任务的主要方法。
- DNN方法在一些非常复杂的决策问题上超过了人类的表现,成为环境感知系统(如自动驾驶车辆)的关键组件。
- 挑战:
- 在汽车中应用神经网络对未来汽车硬件平台设计提出了一些挑战:
- 需要高效且快速的加速器,因为最先进的图像识别DNN需要大量计算。
- 功能安全法规(如ISO 26262)要求冗余设计以确保关键硬件组件的容错能力。
- 随着集成电路技术的发展,确保可靠性变得越来越具有挑战性,因为结构宽度的缩小增加了电路对电噪声、老化、工艺和温度变化以及辐射诱发软错误的敏感性。
- 新兴的低功耗技术(如近阈值电压计算和近似计算)进一步复杂了可靠性管理。
- 在汽车中应用神经网络对未来汽车硬件平台设计提出了一些挑战:
- 解决方案:
- 一种解决这些挑战的方法是在算法层面上利用容错能力,并允许硬件层面上的一定程度的不准确性。
- 多项研究表明,神经网络可以设计和训练得非常抗计算错误。
- 由于网络的不同部分在错误弹性上有所不同,需要一种准确且细粒度的弹性表征方法,以决定哪些计算需要防护,哪些可以在潜在不可靠或近似硬件元素上执行。
三、相关工作
- 现有研究概述:本文的研究与近年来关于深度神经网络(DNN)分类决策的理解密切相关。这些研究致力于理解DNN是如何进行分类决策的,这是为网络中的个体神经元分配准确的弹性值的必要前提。
- 方法基础:本文的方法基于最近提出的深度泰勒分解(Deep Taylor Decomposition)。该方法通过逐层传播相关性,从输入图像中确定每个像素对分类决策的贡献。
- 与现有研究的区别:本文研究的不同之处在于,利用相关性传播(Relevance Propagation)方法不是为了在输入空间中生成显著图,而是为了获得分配给每一层神经元的中间相关性分数。并且,本文的方法关注的是整个分类器的行为,而不是单个分类决策。
- 现有弹性预测方法:最近,其他两个研究小组也提出了在个体神经元级别上的弹性预测方法。这些方法的目标与本文相似,即将神经网络的神经元根据精确性分配给不同的硬件单元。
四、方法
基础
- DNN定义:前馈DNN可以递归定义为N层的级联,其中第i层的输出基于前一层的输出。
- 层结构:卷积神经网络(CNN)的前几层通常由输入特征图与多个不同的权重核进行二维卷积,然后是ReLU非线性处理。在某些卷积层中,添加了池化操作(例如最大池化)以减少空间维度。每个像素在这些输出特征图中被称为神经元,本文旨在确定其相应的错误弹性。
神经元弹性预测
- 弹性定义:本文基于神经元对DNN目标输出的平均贡献来表征其错误弹性。假设那些对网络输出贡献大的神经元在其输出受扰时对分类准确性的影响较大。
- 泰勒分解与相关性传播:利用泰勒分解和层级相关性传播(LRP)算法来确定每个神经元对DNN输出函数值的贡献。
- 公式描述:LRP算法迭代地将每个神经元的贡献从层i+1向前一层的神经元传播。在ReLU神经元的情况下,传播规则如下:
其中,yi,j是第i层第j个神经元的输出值,wj,k是连接神经元j与k的权重。最后一层神经元的初始传播值由输入图像对应的one-hot编码类别向量给出
- 弹性估计:通过对训练数据集上的一组M个图像取平均值来估计每个神经元的弹性。
- 属性:一个显著的属性是,给定层中所有神经元的平均弹性等于该层中的神经元数量。
灵活的可靠性管理
- 优先级排序:根据估计的神经元弹性值,对网络的所有神经元进行排序,优先级最低的神经元优先计算在受保护的硬件元素上,反之亦然。
- 硬件架构:提出了一种高层次的神经计算引擎架构,其控制器将弹性最低的神经元映射到受保护的处理单元(PPE),并将其中间和最终计算结果映射到受保护的本地内存缓冲区或外部内存。所有其他神经元计算和相应结果则映射到常规处理单元(PE),这些单元可能不可靠或精度较低,但能耗和硅面积较小。
- 灵活性:保护和不可靠元件的比例可以在设计时静态配置或运行时动态配置,从而在效率和可靠性之间实现灵活权衡。
文章中好像并没有提到PPE是如何工作的,准确来说 只是提出了这样一种算法,选择将不同弹性的神经元映射到不同PE上。