-
摘要:
容错深度学习加速器是保障高可靠深度学习的基石,也是深度学习应用于安全关键领域如宇航、机器人等面临的一个关键环节. 然而,深度学习计算和访存都非常密集,传统基于冗余计算的容错方法直接应用于深度学习加速器的容错设计会导致严重的功耗、芯片面积等硬件资源开销. 为此,从神经元计算任务和神经元的数据位宽2个维度挖掘深度学习模型对于故障的敏感度差异,并利用这些差异从架构和电路层分别对于敏感的部分提供更多的保护以降低容错代价. 同时,利用深度学习自身的容错特性,通过限制量化缩小电路层需要保护的电路逻辑规模. 最后,利用贝叶斯优化协同优化算法、架构和电路的跨层设计参数,在保障深度学习可靠性、精度以及性能的前提下,最小化硬件资源开销.
Abstract:Fault-tolerant deep learning accelerator is the basis for highly reliable deep learning processing, and is also critical to deploy deep learning in safety-critical applications such as avionics and robotics. Since deep learning is known to be both computing-intensive and memory-intensive, traditional fault-tolerant approaches based on redundant computing will incur substantial overhead including power consumption and chip area. To this end, we propose to characterize deep learning vulnerability difference across both neurons and bits of each neuron, and leverage the vulnerability difference to enable selective protection of the deep learning processing components from the perspective of architecture layer and circuit layer respectively for the sake of lower fault-tolerant design overhead. At the same time, we observe the correlation between model quantization and bit protection overhead of the underlying processing elements of deep learning accelerators, and propose to reduce the bit protection overhead by adding additional quantization constrain without compromising the model accuracy. Finally, we employ Bayesian optimization strategy to co-optimize the correlated cross-layer design parameters at algorithm layer, architecture layer, and circuit layer to minimize the hardware resource consumption while fulfilling multiple user constraints including reliability, accuracy, and performance of the deep learning processing at the same time.
-
小目标检测作为目标检测中的难点技术,被广泛应用于自动驾驶、医学领域、无人机导航、卫星定位和工业检测等视觉任务中. 近些年基于深度学习的目标检测算法发展迅猛. 以YOLO(You Only Look Once)[1]和SSD(Single Shot MultiBox Detector)[2]为代表的一阶段算法直接预测出目标的位置和类别,具有较快的速度. 而二阶段算法[3-4]在生成候选框的基础上再回归出目标区域,具有更高的精度.但是这些算法在检测只含有较少像素的小目标(小于32×32像素)时表现较差,检测率甚至不到较大目标的一半. 因此,小目标检测仍然具有很大的改进空间.
小目标检测效果差主要是由于网络本身的局限性以及训练数据不平衡所导致[5]. 为了获得较强的语义信息和较大的感受野,检测网络不断堆叠下采样层,使得小目标信息在前向传播的过程中逐渐丢失[6],限制了小目标的检测性能. 特征金字塔网络(feature pyramid network, FPN)[7]将低层特征图和高层特征横向融合,可以在一定程度上缓解信息丢失的问题[1-2]. 然而FPN直接融合不同层级的特征会造成语义冲突,限制多尺度特征的表达,使小目标容易淹没于冲突信息中. 同时,目前主流的公开数据集中,小目标的数量远远小于较大目标,使得小目标对损失的贡献小,网络收敛的方向不断向较大目标倾斜.
针对小目标检测效果差的问题,本文提出一种上下文增强和特征提纯相结合的复合FPN结构,该结构主要包括上下文增强模块(context augmentation module, CAM)和特征提纯模块(feature refinement module, FRM). 同时,提出一种复制—缩小—粘贴(copy-reduce-paste)的数据增强方法,具体有3点:
1)CAM融合多尺度空洞卷积特征以获取丰富的上下文信息,补充检测所需信息;
2)FRM引入通道和空间自适应融合的特征提纯机制以抑制特征中的冲突信息;
3)通过copy-reduce-paste数据增强来提高小目标在训练过程中对损失的贡献率.
1. 相关工作
1.1 现代目标检测器
目标检测是一种基础的计算机视觉任务,经过多年的发展,基于卷积神经网络(convolutional neural network, CNN)的目标检测器逐渐成为主流. RCNN[3]首先生成候选区域以匹配不同尺寸的目标,然后通过CNN筛选候选区域. FasterR-CNN[4]将候选区域生成阶段和分类阶段结合在一起,以提高检测速度. EFPN[8]提出超分辨率FPN结构以放大小目标的特征[9]. 一阶段网络SSD将锚盒密集的布置在图像上以回归出目标框,同时充分利用不同尺度的特征,以检测较小目标. YOLOV3[1]利用特征金字塔的3层输出分别检测大、中、小目标,明显提高小目标检测性能. RefineDet[10]引入一种新的损失函数以解决简单样本和复杂样本不平衡的问题. 同时也有研究者提出基于anchor-free架构的检测器[11].尽管目标检测算法发展迅速,但是小目标检测率却一直较低. 本文选用带有FPN的YOLOV3作为基础网络,并在此基础上做出改进.
1.2 多尺度特征融合
多尺度特征是一种提高小目标检测率的有效方法. SSD[2]首次尝试在多尺度特征上预测目标位置和类别. FPN[7]自上而下地将含有丰富语义信息的高层特征图和含有丰富几何信息的低层特征图横向融合. PANet[12]在FPN的基础上添加了额外的自下而上的连接以更高效地传递浅层信息到高层. NAS-FPN[13]利用神经架构搜索技术搜索出了一种新的连接方式. BiFPN[14]改良了PANet的连接方式,使其更加高效,并在连接处引入了简单的注意力机制. 虽然文献[12−14]中的结构都能提升网络多尺度表达的能力,但是都忽略了不同尺度特征之间冲突信息的存在可能会阻碍性能的进一步提升,本文则充分考虑了冲突信息对检测精度的影响.
1.3 数据增强
深度学习是基于数据的方法,因而对训练数据的预处理是其关键的一环. 常见的数据预处理方法如旋转、变形、随机擦除、随机遮挡和光照畸变等. Stitcher[15]将4张训练图像缩小为原图的1/4,并且将它们拼接为1张图像来实现小目标的数据增强,同时将损失值作为反馈信号以指导数据增强的进行. YOLOV4[16]将4张训练图像缩小为不同大小并且拼接为1张来实现小目标的数据增强. 文献[15−16]中的方式对于目标尺寸普遍很大的图像来说,会将大目标图像缩小为中等目标大小,最终提高中等目标图像的检测率. Kisantal等人[5]采用将图像的小目标区域复制然后粘贴回原图的方式实现小目标数据增强. 但这种方式只能增加小目标个数而不能增加含有小目标的图像个数,也会造成一定的不平衡. 本文提出的数据增强算法则基于较大目标广泛分布于训练的各个批次的事实,保证训练平衡进行. 本文算法结构图如图1所示:
2. 本文算法
图1中{C2, C3,C4,C5}分别表示图像经过{4, 8, 16, 32}倍下采样后的特征图,{C3,C4,C5}经过1层卷积后分别生成{F1,F2,F3},其中C2由于含有大量噪声而未被使用. {L1,L2,L3}分别是{F1,F2,F3}经过FPN后的结果,{P1,P2,P3}为{L1,L2,L3}经过FRM的输出.
CAM启发于人类识别物体的模式. 如,我们很难分辨很高天空中的小鸟,但是考虑天空作为其背景,我们就很容易分辨出,因为从我们学习到的知识中可知,在天空背景下的微小目标很有可能是小鸟,而这种背景信息,即是目标的上下文信息.因此如果目标检测网络也在图像中学习到这样的“知识”将会有助于检测小目标.
由于FPN不同层的特征密度不同,因而含有大量的语义差异,在实现信息共享的同时也引入了很多冲突信息. 因此,本文提出了FRM用于过滤冲突信息,减少语义差异. FRM通过将不同层间的特征自适应融合,以达到抑制层间冲突信息的目的.
针对小目标对损失贡献低的问题,提出了一种copy-reduce-paste数据增强方法,以提高小目标对损失的贡献.
2.1 上下文增强和特征提纯的特征金字塔网络
2.1.1 上下文增强模块(CAM)
目标检测需要定位信息也需要语义信息,处于FPN最低层的L3含有较多的定位信息而缺少语义信息. FPN自上而下的信息共享结构在通道数减少之后才进行融合,使得L3未能获取充分的语义信息. 为此我们利用不同空洞卷积率的空洞卷积来获取上下文信息,并将其注入到FPN中,以补充上下文信息.
图2(a)是CAM的结构图. 对于大小为[bs, C, H, W]的输入分别进行空洞卷积率为1,3,5的空洞卷积[17]. bs, C, H, W分别为特征图的批次大小、通道数、高和宽.由于该模块输入的尺寸较小,为了获取更多的细节特征,不宜使用大卷积,因此选用3×3的卷积.同时为了避免引入较多的参数量,选取卷积核的个数为C/4,即首先压缩通道数为输入的1/4,然后再通过1×1的卷积扩张通道数为C,得到3种大小相同而感受野不同的输出,最后融合得到的特征. 特征融合可采用的方式如图2(b)~(d)所示. 图2(b),(c)分别为拼接融合和加权融合,即分别在通道和空间维度上直接拼接和相加. 图2(d)是自适应融合方式,即通过卷积、拼接和归一化等操作将输入特征图压缩为通道为3的空间权重,3个通道分别与3个输入一一对应,计算输入特征和空间权重的加权和可以将上下文信息聚合到输出中.
本文通过消融实验验证各个融合方式的有效性,实验结果如表1所示.
表 1 CAM消融实验结果Table 1. Ablation Experimental Results of CAM% 算法 AP(IOU=0.5) AR(IOU=0.5) APs APm ARs ARm 基线模型 34.8 60.5 57.9 78.7 相加融合 35.6 63.0 60.5 81.8 自适应融合 36.0 63.1 58.9 81.0 拼接融合 36.6 61.0 59.8 79.5 注:基线模型为YOLOV3,测试数据集为VOC,IOU为交并比. APs,APm分别指小目标、中目标的平均精度;ARs,ARm分别指小目标、中目标的平均召回率. 由表1可知,对于小目标来说,拼接融合所取得的增益最大,APs和ARs分别提高了1.8%和1.9%. 自适应融合对中目标的提升最为明显,APm提升了2.6%. 相加融合带来的提升则基本介于拼接融合和自适应融合两者之间,因此本文选择拼接融合的方式.
本文将部分特征图可视化以说明CAM的效果,可视化结果如图3所示.
图3(b)为CAM输入特征图,从中可以发现在图像的目标处有微小响应,呈现为较小的“白点”. 图3(c)为CAM输出特征图,可以明显看到目标处的响应明显增强,并且响应范围更大,这是因为CAM将目标周围的上下文信息也融入特征中,使得目标处的响应更强. 因此将CAM提取的上下文信息注入网络中将有助于小目标的检测.
2.1.2 特征提纯模块(FRM)
FPN用于融合不同尺度大小的特征,然而不同尺度的特征具有不可忽视的语义差异,将不同尺度的特征直接融合可能引入大量的冗余信息和冲突信息,降低多尺度表达的能力. 为了抑制冲突信息,本文提出FRM,该模块结构如图4所示.
图4(a)为接在FPN第2层后的FRM结构图. 从图(4)可看出,
{\boldsymbol{X}}^1 ,{\boldsymbol{X}}^2 ,{\boldsymbol{X}}^3 (FPN的3层输出)为该模块的输入,首先将{\boldsymbol{X}}^1 ,{\boldsymbol{X}}^2 ,{\boldsymbol{X}}^3 3个输入缩放到同一大小,分别为{\boldsymbol{R}}^1 ,{\boldsymbol{R}}^2 ,{\boldsymbol{R}}^3 ,然后再利用拼接和卷积操作将所有输入特征的通道数压缩为3,随后接上并联的通道提纯模块和空间提纯模块.通道提纯模块的具体结构如图4(b)所示,为了计算通道注意力,采用平均池化和最大池化相结合的方式来聚合图像的全局空间信息. 用
{\boldsymbol{X}}^m 表示FRM的第m(m∈{1,2,3})层输入特征图,其输出可表示为{\boldsymbol{U}} = {\boldsymbol{\alpha }} \times RS({{\boldsymbol{X}}^1}) + {\boldsymbol{\beta }} \times {{\boldsymbol{X}}^2} + {\boldsymbol{\gamma }} \times RS({{\boldsymbol{X}}^3}). (1) 其中RS表示resize函数,在式(1)中将
{\boldsymbol{X}}^1 和{\boldsymbol{X}}^3 特征缩放到和{\boldsymbol{X}}^2 同一尺度.{\boldsymbol{\alpha }} ,{\boldsymbol{\beta }} ,{\boldsymbol{\gamma }} 为通道自适应权重,其尺度为1×1×1. 经过归一化的{\boldsymbol{\alpha }} ,{\boldsymbol{\beta }} ,{\boldsymbol{\gamma }} 代表3个输入的相对权重,这3个值越大表示具有更大的响应,将它们与输入相乘,响应大的输入将被放大,响应小的输入将被抑制,以此将更加有用的信息增强而抑制不重要的噪声.{\boldsymbol{\alpha }} ,{\boldsymbol{\beta }} ,{\boldsymbol{\gamma }} 可表示为{\text{[}}{\boldsymbol{\alpha }},{\boldsymbol{\beta }},{\boldsymbol{\gamma }}{\text{]}} = sigmoid{\kern 1pt} {\kern 1pt} {\text{[}}{AvgPool} {\text{(}}{\boldsymbol{F}}{\text{)}} + {MaxPool} {\text{(}}{\boldsymbol{F}}{\text{)]}}. (2) 其中F为图4(a)中标识的特征图,AvgPool和MaxPool分别为平均池化和最大池化操作.
空间提纯模块利用softmax函数将特征图在空间上归一化,得到特征图中某点关于其他所有位置的相对权重,然后将其与输入分别相乘. 其输出可表示为
\begin{split} {\boldsymbol{D}} =\;& {{\boldsymbol{\mu }}_{{\text{(}}x,y{\text{)}}}} \times RS\left( {{\boldsymbol{X}}_{{\text{(}}x,y{\text{)}}}^1} \right) + \;{{\boldsymbol{\nu }}_{{\text{(}}x,y{\text{)}}}} \times {\boldsymbol{X}}_{{\text{(}}x,y{\text{)}}}^2+ \\ &{{\boldsymbol{\omega }}_{{\text{(}}x,y{\text{)}}}} \times RS\left( {{\boldsymbol{X}}_{{\text{(}}x,y{\text{)}}}^3} \right). \end{split} (3) (x,y)表示特征图的空间坐标.
{\boldsymbol{\mu }} ,{\boldsymbol{\nu }} ,{\boldsymbol{\omega }} 为空间自适应权重,目标区域的响应较大,将会获得更大的权重,反之背景区域获得的权重较小.{\boldsymbol{\mu }} ,{\boldsymbol{\nu }} ,{\boldsymbol{\omega }} 与输入具有相同的空间大小,因此将它们和输入直接相乘可以达到将目标特征放大和背景噪声抑制的目的.{\boldsymbol{\mu }} ,{\boldsymbol{\nu }} ,{\boldsymbol{\omega }} 可由式(4)表示.[{\boldsymbol{\mu }},{\boldsymbol{\nu }},{\boldsymbol{\omega }}] = {\text{soft}}\max ({\boldsymbol{F}}). (4) softmax函数用于归一化特征参数以提高模型的泛化能力.那么此模块的总输出为
{\boldsymbol{P}} = {\boldsymbol{U}} + {\boldsymbol{D}}. (5) FPN所有层的特征都在自适应权重的引导下融合,融合的结果作为整个网络的输出.
为更加直观地说明特征提纯模块的作用,图5展示了部分可视化的特征图. 由于小目标的检测由FPN的最低层主导,因此我们仅可视化了最低层的特征. 图5中F3,L3,P3分别对应图1中的标签F3,L3,P3.
由图5可知,F3特征可大致定位目标位置,但是包含较多背景噪声,具有较大误检的可能. L3相比于F3,背景信息明显减少,这是FPN融合高层信息的结果. 高层信息更加关注于物体的抽象信息而不关注背景信息,因此背景信息会被中和. 但是由于特征的细腻度不同,引入了冲突信息,使得目标的响应被削弱.而P3的目标特征被强化,并且目标和背景之间的边界更加明显. 由可视化分析可知,本文提出的FRM可减少干扰小目标的冲突信息,提高判别性,以此提高小目标的检测率.
2.2 copy-reduce-paste数据增强
当前主流的公开数据集中,小目标的数量或包含小目标的图片数量远远小于较大目标的,如VOC数据集,统计情况如表2所示. 同时,如图6(a)所示,小目标产生的正样本数量远远小于较大目标的,因而小目标对损失的贡献率远远小于较大目标的,使得网络收敛的方向不断向较大目标倾斜.
表 2 VOC数据集目标尺寸统计结果Table 2. Statistical Results of Target Size on VOC Datebase% 统计值 小目标 中目标 大目标 目标数量占比 10.0 16.6 73.4 图片数量占比 8.2 16.2 75.6 为了缓解这个问题,我们在训练过程中复制、缩小、粘贴图像中的目标,以增加小目标产生的正样本数量以及对损失的贡献值,使得训练更为平衡. 数据增强效果如图6(b)和图6(c)所示.
图6(b),图6(c)是粘贴1次的结果示例,实线框是原有的目标,虚线框为粘贴的目标. 首先复制大目标图像块,然后对图像块进行缩小,最后粘贴到原图的不同位置.我们提出的数据增强方法并没有直接复制小目标图像区域粘贴到不同位置,这是考虑到数据集中含有小目标的图像数量较少,如果仅仅复制粘贴小目标,在很多批次中小目标对损失的贡献仍然很低. 此外,我们研究了粘贴次数对小目标检测性能的影响, 实验结果如表3所示.
表 3 数据增强消融实验结果Table 3. Ablation Experimental Results of Data Augmentation% 粘贴次数 AP(IOU=0.5) AR(IOU=0.5) APs APm ARs ARm 0(基线模型) 34.8 60.5 57.9 78.7 1 37.3 62.7 59.8 80.9 2 36.8 62.6 58.0 81.0 3 33.2 59.7 58.0 79.8 注:基线模型为YOLOV3,IOU为交并比.APs,APm分别指小目标、中目标的平均精度;ARs,ARm分别指小目标、中目标的平均召回率. 从表3中可知,随着粘贴次数的增加,小目标的检测率逐渐减小,甚至会造成低于基线模型的情况.这可能是由于随着粘贴次数的增加,逐渐破坏了原始数据的分布,使得在测试集的表现较差. 在粘贴1次时,APs提高了2.5%,ARs提高了1.9%,同时中目标的检测率也略有提升,结果表明粘贴1个目标是最佳的设定.
3. 实 验
3.1 训练设置
本文实验在VOC和TinyPerson两种数据集[18]上进行. VOC有22136张训练图像和4952张测试图像,共20个类别. TinyPerson数据集包含2个类别,798张训练图片和816张测试图片,其场景多为远距离大背景下的图像,所标注目标的平均大小为18像素,是一个真正意义上的小目标数据集.
本文所使用的评估指标为:
精度(precision, P),用来检测结果中相关类别占总结果的比重;
召回率(recall, R),用来检测结果中相关类别占总类别的比重. 由P-R曲线可计算所有大、中、小目标平均检测精度的均值(mAP):
mAP = \frac{{\text{1}}}{k}\sum\limits_{n = 1}^N {P\left( n \right) \times\Delta r\left( n \right)} . (6) 其中N为测试集总数,P(n)表示n张图像的精确度,∆r(n)表示从n−1增加到n时召回率的变化量,k为类别数. 同时,使用下标s,m,l分别表示在小尺度、中尺度和大尺度目标上的性能. 本文所有的实验在同样的软件和硬件条件下进行(pytorch[19]框架,Intel Core i7-5820k CPU@3.30 GHz处理器,16 GB内存,GeForce GTX TITAN显卡).
图7为训练时的损失变化曲线,我们采用SGD优化器训练50轮次(前2个轮次预热),批次设定为8,学习率初始值为 0.0001,训练的损失值平滑下降.部分特征可视化结果如图8所示.
如图8所示,图8(b)为浅层特征,网络更关注物体的纹理信息. 图8(c)为深层特征,图像的信息逐渐抽象,网络更关注物体的高层语义信息.
3.2 实验结果
为验证本文算法在小目标检测上的有效性,本文在TinyPerson和VOC数据集上分别进行了实验.
本文复现了4种算法在TinyPerson数据集上的检测结果,由于该数据集几乎全是小目标,因此只进行APs指标的对比,对比结果如表4所示.
由表4可知,本文算法在该数据集上的APs达到55.1%. 相比YOLOV5和DSFD算法,本文算法分别有0.8%和3.5%的提升,而相比于AL-MDN和MaskR-CNN则分别高出21%和12.6%.
本文复现了3种较为前沿的目标检测算法在VOC上的结果,并且比较这些算法在小目标、中目标上的AP和AR,实验结果如表5所示:
表 5 VOC数据集上的小目标检测结果Table 5. Results of Small Targets Detection on VOC Dataset% 由表5可知,本文算法相比于YOLOV4,APs高3.9%,ARs高11.3%;相比于RefineDet,APs高5.3%,ARs高9.2%;而相比于CenterNet,本文算法的APs和ARs分别具有7.7%和12.0%的优势. 不难发现,本文算法在小目标的召回率上具有较大优势,说明本文算法具有较强的小目标查找能力.
将本文算法和近几年的一阶段算法和二阶段算法在VOC数据集上的mAP进行对比,对比结果如表6所示.
表 6 VOC数据集上的实验结果(IOU=0.5)Table 6. Experimental Results on VOC Dataset (IOU=0.5)类型 算法 主干网络 输入尺寸 mAP/% 二阶段 Faster R-CNN[4] ResNet101 1000×600 76.4 R-FCN[3] ResNet101 1000×600 80.5 HyperNet[25] VGG16 1000×600 76.3 CoupleNet[26] ResNet101 1000×600 82.7 Reconfig[27] ResNet101 1000×600 82.4 IPG-Net[28] IPGNet101 1000×600 84.8 一阶段 SSD[2] VGG16 512×512 79.8 RefineDet[10] VGG16 512×512 81.8 RFBNet[29] VGG16 512×512 82.2 ScratchDet[30] RestNet34 320×320 80.4 PFPNet[31] VGG16 512×512 82.3 本文算法 Darknet53 448×448 83.6 本文算法+ Darknet53 448×448 85.1 注:“+”表示多尺度测试. 由表6可知,与一阶段算法相比,本文算法比PFPNet的mAP高1.3%,具有最好的表现. 与二阶段算法相比,本文算法优于大部分的二阶段算法,但比IPG-Net的mAP低1.2%,这主要是由于本文算法的主干网络性能较差以及输入图像大小较小. 如果本文采用多尺度测试的方法,则在VOC数据集上的检测率可达到85.1%,高于所有的对比算法.
本文算法对小目标的检测具有较大优势,不管是总体检测效果还是小目标的检测率、召回率都表现良好,优于大多数检测算法.
3.3 消融实验
本文以消融实验验证每个模块的贡献.通过逐个添加数据增强方法、CAM和FRM到基线模型YOLOV3中,得出实验结果如表7所示:
表 7 消融实验结果Table 7. Ablation Experimental Results基线模型 增强 CAM FRM AP/% (IOU = 0.5) AR/% (IOU = 0.5) APs APm APl ARs ARm ARl √ 34.8 60.5 83.6 57.9 78.7 92.8 √ √ 37.3 62.7 83.4 59.8 80.9 93.0 √ √ 36.6 61.0 84.2 59.8 79.5 93.1 √ √ 37.6 62.1 83.9 59.0 79.1 92.6 √ √ √ √ 40.2 64.1 84.6 64.8 81.0 93.9 注:√表示包含该模块,IOU为交并比.APs,APm,APl分别指小目标、中目标和大目标的平均精度;ARs,ARm,ARl分别指小目标、中目标和大目标的平均召回率. 总体来说,本文提出的算法可显著提高目标检测率,尤其是小目标和中等目标的检测率,这也符合本文算法的初衷. 如表7所示,APs提升5.4%,APm提升3.6%,而APl提升1.0%. 同时对于不同尺度目标的召回率也有不同程度的提升. 具体来说,ARs提升6.9%,ARm提升1.3%,ARl提升1.1%.
copy-reduce-paste数据增强方法将APs和APm分别提高2.5%和2.2%.而APl略有下降. 由此可知,该方法可有效提高小目标检测率.
CAM分别提高小目标的APs和ARs 1.8%和0.6%.证实了补充上下文信息对于小目标检测的重要性.
FRM将APs和APm分别提高2.8%和1.6%,而APl基本持平. 由此可见,FRM可滤除特征的冲突信息,提高较小目标特征的判别性.
4. 总 结
小目标特征模糊,能够提取的特征少,是目标检测领域的难点. 为了解决小目标特征消散的问题,本文引入CAM,通过不同空洞卷积率的空洞卷积提取上下文信息,以补充小目标的上下文信息. 由于小目标容易淹没在冲突信息中,本文提出FRM,该模块结合通道和空间自适应融合来抑制冲突信息,提高特征的判别性. 同时,提出一种copy-reduce-paste的小目标增强方法来提高小目标对损失函数的贡献,使得训练更加平衡.通过实验结果可知,本文提出的小目标检测网络在TinyPerson和VOC数据集上均表现良好,优于大多数的目标检测算法.
致谢 感谢武汉大学超级计算中心对本文的数值计算提供的支持.
作者贡献声明:肖进胜和赵陶设计网络并实践;肖进胜和周剑负责论文撰写;乐秋平和杨力衡提供数据支持和文章的润色
-
表 1 跨层设计参数的搜索空间
Table 1 Search Space of the Cross Layer Design Parameters
参数 取值范围 含义 S_TH {5%,10%,15%,20%,25%,30%,
35%,40%}重要神经元百分比 IN_TH {2,3,4} 重要神经元重要比特位数量 NB_TH {1,2,3} 普通神经元重要比特位数量 Q_scale [1, 2, …, 16] 截断约束 S_policy {层间统一比例,分片统一比例} 重要神经元的选择策略 Dot_size [8,16, …, 256] 点乘阵列尺寸 Data_Reuse {True, False} 异构阵列数据重用 PE_policy {直接冗余可配置冗余} 计算单元位保护策略 表 2 不同模型的最优跨层参数设计
Table 2 Optimized Crossing Parameters Design of Different Models
参数 故障率I 故障率II S_TH 5% 5% IN_TH 2 3 NB_TH 1 1 Q_scale 7 8 S_policy 分层统一比例 分层统一比例 Dot_size 52 52 Data_Reuse True True PE_policy 可配置冗余 可配置冗余 -
[1] Seo-Hyun J, Jin-Hee C, Yangjae J, et al. Automotive hardware development according to ISO 26262[C]//Proc of the 13th Int Conf on Advanced Communication Technology (ICACT). Piscataway, NJ: IEEE, 2011: 588−592
[2] Cheng Liu, Zhen Gao, Siting Liu, et al. Special session: Fault-tolerant deep learning: A hierarchical perspective[C]//Proc of the 40th VLSI Test Symp (VTS). Piscataway, NJ: IEEE, 2022: 1−12
[3] Rabe M, Milz S, Mader P. Development methodologies for safety critical machine learning applications in the automotive domain: A survey[C]//Proc of the IEEE/CVF Conf on Computer Vision and Pattern Recognition, Piscataway, NJ: IEEE, 2021: 129−141
[4] Reagen B, Gupta U, Pentecost L, et al. Ares: A framework for quantifying the resilience of deep neural networks[C]//Proc of the 55th ACM/ESDA/IEEE Design Automation Conf (DAC). Piscataway, NJ: IEEE 2018: 1–6
[5] Neggaz M A, I. Alouani I, Lorenzo P R, et al. A reliability study on CNNs for critical embedded systems[C]//Proc of 36th Int Conf on Computer Design (ICCD). Piscataway, NJ: IEEE, 2018: 476–479
[6] Shafique M, Naseer M, Theocharides T, et al. Robust machine learning systems: Challenges, current trends, perspectives, and the road ahead[C]//Proc of IEEE Design & Test. Piscataway, NJ: IEEE 2020: 30–37
[7] Sorin G, Bogdan T, Tiberiu C, et al. A survey of deep learning techniques for autonomous driving[J]. Journal of Field Robotics, 2020, 37(3): 362−386 doi: 10.1002/rob.21918
[8] Mittal S. A survey on modeling and improving reliability of DNN algorithms and accelerators[J]. Journal of Systems Architecture, 2020, 104(10): 10−16
[9] Maksim J, Matteo S R, Aneesh B, et al. Challenges of reliability assessment and enhancement in autonomous systems[C]//Proc of IEEE Int Symp on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT). Piscataway, NJ: IEEE, 2019: 1−6
[10] Chen Yunji, Luo Tao, Liu shaoli et al. Dadiannao: A Machine-learning Supercomputer[C]//Proc of 47th Annual IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2014: 609−622
[11] Chen Y H, Emer J, Sze V. Eyeriss: A spatial architecture for energy-efficient dataflow for convolutional neural networks[C]//Proc of 2016 ACM/IEEE the 43rd Annual Int Symp on Computer Architecture (ISCA). Piscataway, NJ: IEEE, 2016: 367−379
[12] Liu Cheng, Chu Cheng, Xu D, et al. HyCA: A hybrid computing architecture for fault-tolerant deep learning[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2022, 41(10): 3400−3413 doi: 10.1109/TCAD.2021.3124763
[13] Anand D, Alan W. The impact of new technology on soft error rates[C]//Proc of Int Reliability Physics Symp. Piscataway, NJ: IEEE, 2011: 5B.4.1−5B.4.7
[14] Reagen B, Whatmough P, Adolf R, et al. Minerva: Enabling low-power, highly-accurate deep neural network accelerators[C]//Proc of 2016 ACM/IEEE the 43rd Annual Int Symp on Computer Architecture (ISCA). Piscataway, NJ: IEEE, 2016: 267−278
[15] Li W, Ning X, Ge G, et al. FTT-NAS: Discovering FA ApproxABFT ult-tolerant neural architecture[C]//Proc of the 25th Asia and South Pacific Design Automation Conf (ASP-DAC). Piscataway, NJ: IEEE, 2020: 211−216
[16] He Xin, Ke Liu, Lu Wenyan, et al. AxTrain: Hardware-oriented neural network training for approximate inference[C]//Proc of the Int Symp on Low Power Electronics and Design. Piscataway, NJ: IEEE, 2018: 1−6
[17] Schorn C, Guntoro A, Ascheid G. Accurate neuron resilience prediction for a flexible reliability management in neural network accelerators[C]//Proc of 2018 Design, Automation & Test in Europe Conf & Exhibition (DATE). Piscataway, NJ: IEEE, 2018: 979−984
[18] Xu D, Chu Cheng, Wang Qianlong, et al. A hybrid computing architecture for fault-tolerant deep learning accelerators[C]//Proc of the 38th Int Conf on Computer Design (ICCD). Piscataway, NJ: IEEE, 2020: 478−485
[19] Mahdiani H R, Fakhraie S M, Lucas C. Relaxed fault-tolerant hardware implementation of neural networks in the presence of multiple transient errors[J]. IEEE Transactions on Neural Networks and Learning Systems, 2012: 1215−1228
[20] Xue Xinghua, Huang Haitong, Liu Cheng, et al, Winograd convolution: A perspective from fault tolerance[C]//Proc of the 59th ACM/IEEE Design Automation Conf (DAC). New York: ACM, 2022: 853−858
[21] Xu D, Xing K, Liu C, et al. Resilient neural network training for accelerators with computing errors[C]//Proc of the 30th Int Conf on Application-Specific Systems, Architectures and Processors (ASAP). Piscataway, NJ: IEEE, 2019: 99−102
[22] Xu D, He M, Liu C, et al. R2F: A remote retraining framework for AIoT processors with computing errors[J]. IEEE Transactions on Very Large Scale Integration Systems, 2021, 29(11): 1955−1966 doi: 10.1109/TVLSI.2021.3089224
[23] Ruospo A, Gavarini G, Bragaglia I, et al. Selective hardening of critical neurons in deep neural networks[C]//Proc of the 25th Int Symp on Design and Diagnostics of Electronic Circuits and Systems (DDECS). Piscataway, NJ: IEEE, 2022: 136−141
[24] Bertoa T G, Gambardella G N, Fraser N J, et al. Fault tolerant neural network accelerators with selective TMR[C]//Proc of the IEEE Design & Test. Piscataway, NJ: IEEE, 2022: 1−4
[25] Lee V T, Alaghi A, Pamula R, et al. Architecture considerations for stochastic computing accelerators[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37(11): 2277−2289 doi: 10.1109/TCAD.2018.2858338
[26] Ardakani A, Gross W J. Fault-tolerance of binarized and stochastic computing-based neural networks[C]//Proc of the 2021 IEEE Workshop on Signal Processing Systems (SiPS). Piscataway, NJ: IEEE, 2021: 52−57
[27] Qian W, Li X, Riedel M D, et al. An architecture for fault-tolerant computation with stochastic logic[J]. IEEE Transactions on Computers, 2011, 60(1): 93−105 doi: 10.1109/TC.2010.202
[28] Zhang J J, Gu T, Basu K, et al. Analyzing and mitigating the impact of permanent faults on a systolic array based neural network accelerator[C]//Proc of the 2018 IEEE 36th VLSI Test Symp (VTS). Piscataway, NJ: IEEE, 2018: 1−6
[29] Clemente J A, Mansour W, Ayoubi R, et al. Hardware implementation of a fault-tolerant hopfield neural network on FPGAs[J]. Neurocomputing, 2016, 171(1): 1606−1609
[30] Gao Z, Zhang H, Yao Y et al. Soft error tolerant convolutional neural networks on FPGAs with ensemble learning[J]. IEEE Transactions on Very Large Scale Integration Systems, 2022, 30(3): 219−302
[31] Ozen Z, Orailoglu A. Sanity-Check: Boosting the reliability of safety-critical deep neural network applications[C]//Proc of the 28th Asian Test Symposium (ATS). Piscataway, NJ: IEEE, 2019: 7–75
[32] Wang Hao, Feng Ruibin, Han Zifa, et al. ADMM-based algorithm for training fault tolerant RBF networks and selecting centers[J]. IEEE Transactions on Neural Networks and Learning Systems 2017, 29(8): 3870−3878
[33] Xue Xinghua, Liu Cheng, Liu Bo, et al. Exploring winograd convolution for cost-effective neural network fault tolerance[J], IEEE Transactions on Very Large Scale Integration Systems, 2023, 31(11): 1763−1773
[34] Zhao K, Di S, Li S, et al. FT-CNN: Algorithm-based fault tolerance for convolutional neural networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2020, 32(7): 1677−1689
[35] Le H, Muhammad A H, Muhammad S. FT-ClipAct: Resilience analysis of deep neural networks and improving their fault tolerance using clipped activation[C]//Proc of the 2020 Design, Automation & Test in Europe Conf & Exhibition (DATE) . Piscataway, NJ: IEEE, 2020: 1241−1246
[36] Zhan Jinyu, Sun Ruoxu, Jang Wei, et al. Improving fault tolerance for reliable DNN using boundary-aware activation[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2021, 41(10): 3414−3425
[37] Chen Zitao, Li Guanpeng, Karthik P. A low-cost fault corrector for deep neural networks through range restriction[C]//Proc of the 51st Annual IEEE/IFIP Int Conf on Dependable Systems and Networks (DSN). Piscataway, NJ: IEEE 2021: 1−13
[38] Xue Xinghua , Liu Cheng, Huang Haitong, et al. ApproxABFT: Approximate algorithm-based fault tolerance for vision transformers[J]. arXiv preprint, arXiv: 2302.10469, 2023
[39] Xu D, Zhu Ziyang, Liu Cheng, et al. Reliability evaluation and analysis of fpga-based neural network acceleration system[J]. IEEE Transactions on Very Large Scale Integration Systems, 2021, 29(3): 472−484 doi: 10.1109/TVLSI.2020.3046075
[40] Xu D, Zhu Ziyang, Liu Cheng, et al. Persistent fault analysis of neural networks on FPGA-based acceleration system[C]//Proc of the 2020 IEEE 31st Int Conf on Application-Specific Systems, Architectures and Processors (ASAP). Piscataway, NJ: IEEE, 2020: 85−92
[41] Li M L, Ramachandran P, Sahoo S K, et al. Understanding the propagation of hard errors to software and implications for resilient system design[C]//Proc of the ACM Sigplan Notices. New York: ACM, 2008: 265−276
[42] Libano F, Wilson B, Anderson J, et al. Selective hardening for neural networks in FPGAs[J]. IEEE Transactions on Nuclear Science, 2018, 66(1): 216−222
[43] Mahmoud A, Siva K, Sastry H, et al. HarDNN: Feature map vulnerability evaluation in CNNs[J]. arXiv preprint, arXiv: 2020.09786,2020
[44] Samajdar A, Zhu Y, Whatmough P, et al. Scale-Sim: Systolic CNN accelerator simulator[J]. arXiv preprint, arXiv: 1811.02883,2018
[45] Huang Haitong, Liu Cheng, Xue Xinghua, MRFI: An open source multi-resolution fault injection framework for neural network processing[J]. arXiv preprint, arXiv: 2306.11758, 2023
[46] Hanif M A, Hafiz R, Shafique M. Error resilience analysis for systematically employing approximate computing in convolutional neural networks[C]//Proc of the 2018 Design, Automation Test in Europe Conf Exhibition (DATE). Piscataway, NJ: IEEE, 2018: 913−916
[47] Xue Xinghua, Liu Cheng, Wang Ying, et al. Soft error reliability analysis of vision transformers[J], IEEE Transactions on Very Large Scale Integration Systems, 2023, 31(12): 2126−2136
[48] Pandey P, Prabal B, Koushik C, et al. GreenTPU: Improving timing error resilience of a near-threshold tensor processing unit[C]//Proc of the 56th ACM/IEEE Design Automation Conf (DAC). Piscataway, NJ: IEEE, 2019: 1−6
-
期刊类型引用(0)
其他类型引用(1)