基于类脑脉冲神经网络的遥感图像检测算法
Remote sensing image detection method based on brain-inspired spiking neural networks
- “[{"title":"基于类脑脉冲神经网络的遥感图像检测算法","chapter":"1 引言","content":"遥感图像的目标检测作为遥感影像解译的重要环节,在国防领域和国民经济领域有着广泛的应用。在水陆运输管控(El Shair,2003)、智能交通调度规划(Chen等,2021)、国土资源调查(李德仁 等,2021)和战场态势侦察感知等多种重要应用场景中,准确检测出遥感图像中的水面船舶与地面车辆建筑等目标是一项重要的应用任务。而遥感图像的特点,如图像场景复杂、地物类型多、目标偏小且密集、目标尺度不一等,导致遥感图像目标检测极具挑战性。以合成孔径雷达SAR(Synthetic Aperture Radar)为例,其提供的全天候、全天时的高分辨率图像由于成像机理和光学图像差别极大,辨别图像场景干扰与遮挡复杂多变,难以判读(张云鹏 等,2019)。因此准确地对遥感影像进行目标检测一直是遥感研究的重点之一。传统遥感图像目标检测算法可分为基于模板匹配的算法和基于传统机器学习的算法。基于模板匹配的算法主要包括模板生成和相似性度量两个步骤。该类算法简单易行,但鲁棒性差,无法适应目标的多变性(An等,2010)。随着人工智能的快速发展,以卷积神经网络为代表的深度学习方法也在遥感目标识别检测解译方面发挥了日渐重要的作用。基于深度卷积神经网络的目标检测网络在遥感图像检测上取得了长足的进步(Zhu等,2021;柳思聪 等,2023)。使用深度卷积神经网络的目标检测算法分为两阶段算法与一阶段算法两大类别。其中两阶段检测方法以R-CNN(Girshick,2015)为代表,两阶段方法将模型分为分类器训练与边界框回归两个阶段(沙苗苗 等,2022)。但是在此类方法中,每个候选区域都需要分别进行特征提取,候选区域的生成与特征提取割裂开来,导致检测效率较低(Zhang等,2019;沙苗苗 等,2022)。一阶段方法以YOLO(Redmon等,2016)系列算法为代表。首先,其将一系列具有不同尺度和纵横比的锚点引入到网络中,并且这些锚点在每个空间位置上都是预先定义好的;然后,通过交并比分数区分和训练正负样本。由于一阶段方法同时完成分类和定位任务,因此效率相比两阶段方法得到了提高,也成为了当前主流的目标识别方法(Pham等,2020;Gao等,2021;许泽宇 等,2022)。近年来随着transformer架构的发展,也出现了例如DETR(Carion等,2020)等部分使用transformer的目标检测新框架。DETR将目标检测任务转化为一个序列到序列的问题。它将输入图像划分为一系列位置编码的特征向量,然后将这些特征向量作为序列输入Transformer模型用于处理图像特征并生成目标的位置和类别。相比其他目标检测框架,DETR不需要预定义的锚框或候选框,并能通过自注意力机制捕捉目标间的全局关系。但此类基于Transformer的方法需要大量的计算资源进行自注意力机制与多头注意力机制的运算,限制了此类框架在资源受限环境中的应用。虽然以卷积神经网络为代表的第二代人工神经网络在某种程度上受到了生物神经网络的启发,但其与生物大脑神经元在动力学过程上有着本质的不同。大脑对信息的高效处理依赖于神经元在时域上动作电位的变化与放电,这与主流的卷积神经网络中的激活神经元工作方式截然不同,因此需要在神经元动力学过程模拟层面采用更加仿生的模型。脉冲神经网络SNN(Spiking Neural Networks)作为新一代神经网络,在生物学原理上高度近似大脑神经元(Ghosh-Dastidar和Adeli,2009)。相较于第二代人工神经网络的神经元使用实数值激活来传递信息,脉冲神经网络通过采用脉冲序列来表示信息,在空间域和时间域两个维度上传递信息,以模拟人类大脑中的信息编码和处理过程。在脉冲事件稀疏性的驱动下,SNN具有计算高效性和生物可解释性的特点(Tavanaei等,2019),并具有更高的计算效率和更快的推理速度。目前,基于SNN的算法主要可分为3类:(1)基于脉冲时间依赖可塑性(STDP)的无监督学习方法。它根据突触前后神经元之间的放电延迟来修改连接突触的权重(Kheradpisheh等,2018)。然而,由于STDP仅利用局部突触可塑性进行调整,无法实现突触个体与整个神经系统目标的协调,因此难以应用于大规模深度网络。(2)直接监督学习。近年来SNN在利用反向传播提高网络性能方面取得了显著进展。该方法在正向传播过程中使用Heaviside阶跃函数生成脉冲信号,在反向传播过程中使用替代梯度的近似不可微函数。最近的研究表明,SNN能够有效利用通用深度学习框架通过时间反向传播进行学习(Che等,2022)。然而,由于脉冲神经网络通过多个时间步对输入信息进行编码,并且由于存在膜电位衰减等时域上的动力学过程,这种方法需要将脉冲神经网络在全部时间步上展开以进行梯度的反向传播,这导致内存和时间开销非常大,从而令直接训练SNN变得十分困难。(3)基于源神经网络转换的间接有监督学习。它的步骤是首先以特定结构训练一个卷积神经网络模型,然后利用脉冲神经元和激活函数之间的关系将学习到的权重迁移到具有相同结构的脉冲神经网络中。这种方法能够充分利用卷积神经网络模型成熟的拓扑结构与精度优势,并发挥类脑脉冲神经网络的高能效、低延迟和高生物可解释性的优势。随着SNN的能效与仿生性优势凸显,SNN也被应用于遥感图像分类等任务中(Niu等,2023),但在目标识别等更为复杂的任务中仍然面临训练困难等问题。综上所述,本文首次提出了一种基于转换算法的类脑脉冲神经网络用于对遥感图像进行目标检测。首先构建了一个带有动态裁剪阈值的单阶段目标检测神经网络作为源网络进行预训练,得到了一个具有较高精度的源目标检测网络;随后借助训练过程中得到的裁剪阈值确定激活值范围,通过激活神经元与脉冲神经元的映射关系将源网络转换为类脑的脉冲神经网络。最后,将转换后的类脑脉冲神经网络在SSDD(SAR-Ship-Detection-Datasets)和RSOD两个公开遥感数据集上进行测试。","result":"介绍了遥感图像目标检测的重要性及其在多个领域的应用,包括水陆运输管控、智能交通调度规划、国土资源调查和战场态势侦察感知等。遥感图像目标检测面临诸多挑战,如图像场景复杂、目标偏小且密集、尺度不一等。传统算法包括基于模板匹配和传统机器学习的方法,但存在鲁棒性差和适应性不足的问题。深度学习方法,尤其是卷积神经网络,在遥感图像检测中取得了显著进展,分为两阶段和一阶段算法。然而,两阶段方法检测效率较低,而一阶段方法虽然效率提高,但存在内存和时间开销大的问题。随着transformer架构的发展,如DETR,虽然能捕捉目标间的全局关系,但计算资源需求大。类脑脉冲神经网络(SNN)作为新一代神经网络,在生物学原理上高度近似大脑神经元,具有计算高效性和生物可解释性。SNN的算法主要分为基于STDP的无监督学习、直接监督学习和基于源网络转换的间接有监督学习。本文提出了一种基于转换算法的类脑脉冲神经网络用于遥感图像目标检测,通过构建单阶段目标检测神经网络作为源网络进行预训练,然后转换为脉冲神经网络,并在两个公开遥感数据集上进行测试。","language":"zh"},{"title":"基于类脑脉冲神经网络的遥感图像检测算法","chapter":"2 方 法","content":"本文提出的类脑脉冲神经网络的遥感图像检测算法流程图如图1所示。算法主要分为3个部分:源网络的构建、源网络预训练与类脑脉冲神经网络转换。首先,根据类脑脉冲神经网络转换原理的特点搭建了一个目标识别神经网络作为源网络,随后将源网络进行预训练,最后根据训练参数将源网络转换为类脑脉冲神经网络。图1算法流程图Fig. 1Algorithm flow chart2.1 脉冲神经元模型作为SNN的基本计算单位,IF神经元模型是目前SNN中最常见的脉冲神经元之一。IF神经元的动力学过程可以描述为充电、放电和重置3个阶段。设t时刻下神经元的膜电位为,神经元接受的电压输入为时刻时神经元的膜电位为,充电阶段指脉冲神经元的膜电位接收来自突触前神经元加权输入的膜电压的过程,IF神经元的充电方程为 (1)由于脉冲神经元都是有记忆的,因此不仅取决于当前时刻的输入,还取决于上一个时刻末的膜电位。若使用离散的差分方程来近似连续的微分方程,则IF神经元的充电方程为 (2)脉冲神经元的信息传递依靠脉冲进行,当神经元的膜电位超过阈值电压时,神经元会释放出一个脉冲。这个过程也即脉冲神经元的放电,放电方程可以描述为 (3)式中,为判断是否放电的阶跃函数: (4)最后,因为释放脉冲会消耗神经元之前积累的电荷,因此膜电位会有一个瞬间的降低,即脉冲神经元膜电位的重置。在SNN中,膜电位的重置方式有两种:硬重置和软重置。硬重置指神经元在释放脉冲后,膜电位会被重置为固定的重置电压;而软重置指神经元在释放脉冲后会减去阈值电压。由于硬重置在放电时忽略了超过阈值电压的电位而直接将膜电位重置为固定的阈值电压。在多次神经元的充电—放电—重置循环下,逐渐累积的被忽略电位有可能导致神经元脉冲发放率低于预期,从而降低脉冲神经元的信息表征能力。为了更好地表征信息,本文选择软重置。硬重置与软重置的区别如图2所示。图2在脉冲神经元的两种重置方式下,膜电位变化与神经元放电的示意图Fig. 2Diagram of membrane potential change and neuron firing under two reset modes of pulsed neurons根据上述定义便得到了一个IF脉冲神经元完整的动力学过程。为了避免混淆,使用来表示IF神经元在充电后,释放脉冲前的膜电位;使用来表示神经元释放脉冲后的膜电位。至此,可以使用充电、放电和重置3个离散方程来描述IF脉冲神经元: (5) (6) (7)2.2 脉冲神经网络转换根据脉冲神经元的动力学过程分析可以发现,在SNN中信息通过二值化的脉冲进行传递,因此在SNN网络中只会传递非负的脉冲激活值,在固定时间长度内单个脉冲神经元会产生特定的脉冲发放率。而对IF脉冲神经元的脉冲发放率进行分析则可以发现,当阈值电压一定时,IF神经元的脉冲发放率会随着输入的增大而线性增加,这与卷积神经网络中的Relu激活函数十分相似(图3)。图3卷积神经网络中的ReLu神经元与脉冲神经网络中的IF脉冲神经元的输出对应关系(设脉冲神经元中的阈值电压)Fig. 3The output correspondence between ReLu neurons in artificial neural network and IF neurons in spikingd neural network (The threshold voltage Vth of the spiking neuron is set to 1)以一个卷积神经网络为例,若某一层由卷积层和ReLu激活函数构成,卷积层的权重和偏置为和,则上一层激活后的输入经过卷积层与ReLu激活层后的激活值可以表示为 (8)通过统计数据集中所有激活值从而确定此层的最大激活值为,则可以获得归一化至0—1范围内的归一化激活值: (9)而在与之对应的类脑脉冲神经网络中,脉冲神经元在时间步后的累计膜电位可以表示为所有时刻下,前一层脉冲神经元释放的脉冲经过加权后的膜电压减去释放脉冲带来的电压降: (10)式中,表示层脉冲神经元的阈值电压将上式表示为脉冲发放率的形式为 (11)由式(11)可以注意到,始终不会超过,当时间步较长时式(11)的最后一项可以忽略。至此结合式(8)和式(11)可以得到卷积神经网络ReLu激活与IF脉冲神经元的激活映射关系。对于一个经过预训练的卷积神经网络,通过确定经过Relu层的激活最大值,即可将卷积神经网络卷积层的权重迁移至脉冲神经网络中,从而将其ReLu激活函数转换为IF脉冲神经元。但是通过对式(11)分析可以发现,脉冲神经网络的转换依赖于逐层确定ReLu激活函数的输出最大值,但是数据分布中若存在离群的极大值,则会需要为了表征这部分离群值而大大降低时间步的量化精度,从而影响转换性能。因此本文提出了一种基于动态裁剪阈值的激活函数层用来动态压缩激活值,带有动态裁剪阈值的激活函数可以表示如下: (12)式中,为可训练的参数。在网络构建时,将所有ReLu激活函数替换为带有动态裁剪阈值的激活函数,随后在训练中将的优化器施加一个正则系数γ使得在训练过程中不断降低,从而间接压缩了每一层的激活值范围。2.3 待转换网络构建在本文工作中,使用了一个基于YOLOv3(Redmon和Farhadi,2018)架构的单阶段方法的目标识别神经网络作为待转换的源神经网络,网络包含的输出两个尺度的输出头。脉冲神经网络的网络结构如图4所示。由于SNN中的信息采取二值化脉冲串的方式进行传递,因此在池化操作中,池化核在每个时间步时都仅由0或1构成,这种特性使得SNN无法直接按照ANN中最大池化的计算方式进行操作(Rueckauer等,2017),因此在源网络中采用平均池化替代最大池化操作。考虑到转置卷积可以通过学习可训练的卷积核权重来执行上采样操作。因此在对特征图合并时使用转置卷积代替上采样操作,从而使低尺度的特征图合并至更大尺度特征图时能够表征更多信息。最后将网络所有激活层替换为带有动态裁剪阈值的激活函数。图4源目标识别神经网络结构Fig. 4Architecture of source detection neural network","result":"提出的基于类脑脉冲神经网络的遥感图像检测算法分为三个主要部分:源网络构建、预训练和类脑脉冲神经网络转换。算法流程图展示了整个过程。2.1节介绍了脉冲神经元模型,特别是IF神经元模型,包括其充电、放电和重置的动力学过程。IF神经元的充电方程、放电方程和重置方式(硬重置和软重置)被详细描述,其中软重置被选用以更好地表征信息。2.2节讨论了脉冲神经网络转换,指出SNN中信息通过二值化脉冲传递,IF神经元的脉冲发放率与输入的增大呈线性关系,类似于卷积神经网络中的ReLU激活函数。通过分析,建立了卷积神经网络ReLU激活与IF脉冲神经元激活的映射关系,并提出了基于动态裁剪阈值的激活函数层以优化转换性能。2.3节描述了待转换网络的构建,使用了基于YOLOv3架构的目标识别神经网络,并对其进行了适应SNN的修改,包括采用平均池化和转置卷积,以及替换所有激活层为带有动态裁剪阈值的激活函数。","language":"zh"},{"title":"基于类脑脉冲神经网络的遥感图像检测算法","chapter":"3 实验结果与分析","content":"3.1 数据集与实验环境为了评估本文提出方法的性能,选择了SSDD(SAR-Ship-Detection-Datasets)和RSOD两个公开的遥感数据集进行了实验。两个数据集分别由数据图像和经过人工注释的标注框构成,分别包含船只与飞机目标。数据集的详细信息见表1与图5。表1数据集详细信息Table 1Datasets details图5两种数据集中的目标类别Fig. 5Diagrams of target categories in two datasets实验在运行Windows11的PC上进行,CPU为AMD(R)Ryzen7 5800x,显卡为Nvidia GeForce GTX 4090,本文所述方法使用Pytorch1.13深度学习框架搭建。在预训练源卷积神经网络时,使用Adam优化器进行训练,学习率为0.01,动态裁剪激活层的正则系数γ为0.2,预训练轮数为400。3.2 评价指标目标检测性能使用平均精度AP(Average Precision)进行度量,AP是用精度P为纵轴和召回率R为横轴的离散点绘制出的曲线下方的面积,即平均精度,AP可以综合地衡量模型的找全能力与找准能力,精度P和召回率R的计算方式为 (13)式中,TP代表检测结果为正样本且真实值为正样本的预测框数量,FP代表检测结果为正样本但真实值为负样本的预测框数量,FN代表检测结果为负样本但真实值为正样本的预测框数量。3.3 实验结果源网络训练完成后在测试数据集上进行测试,在SSDD数据集上,源网络能够达到89.9%的平均精度,而在RSOD数据集上则能够达到90.21%,从而验证了待转换的卷积神经网络在遥感数据集上目标识别效果的有效性。随后将网络按照提出的方法转换为类脑脉冲神经网络,再将转换后的网络在两个数据集的测试集上使用不同的时间步长进行测试。在测试时,对比了本文提出的采用动态阈值转换的方法与使用固定阈值进行转换的方法。结果表明在时间步足够大时()时,无论是否使用动态裁剪阈值,转换后的类脑脉冲神经网络都能达到接近源网络的性能。但是在时间步较低时,如图6和图7所示,采用动态裁剪阈值的转换算法能更快地达到更高的平均精度,从而验证了压缩激活值能够在低时间步时提供更多的信息表征能力。不同时间步下网络检测示意图如图8所示。图6转换后的类脑脉冲神经网络在RSOD数据集的检测性能Fig. 6Detection performance of transformed brain-inspired spiking network in RSOD dataset图7转换后的类脑脉冲神经网络在SSDD数据集的检测性能Fig. 7Detection performance of transformed brain-inspired spiking network in SSDD dataset图8不同时间步下转换的类脑脉冲神经网络检测效果Fig. 8Detection result of converted brain-inspired spiking neural networks in different time-steps为了进一步研究SNN在能量效率上的优势,本文从两种不同角度对SNN在能效上与源深度卷积神经网络进行能效对比测试。分别是SNN与源深度卷积神经网络在输入图像上的能耗以及SNN与源深度卷积神经网络在各自不同的计算平台上的能量消耗。在深度卷积神经网络中,大部分的能耗过程发生在卷积层中。其中,卷积核与特征图的卷积运算涉及大量的乘累加MAC(Multiply-Accumulate)操作中。而在SNN中,由于脉冲神经元的放电是二值化操作,网络能够仅在接收到脉冲放电时才会加至膜电位。因其仅在网络内部执行稀疏的累加AC(Accumulate)运算,也因此带来了能效上的巨大潜力。根据(Horowitz,2014)对运算操作的分析,在32位浮点乘累加操作中,乘运算消耗3.7 pJ,加运算占0.9 pJ,单次乘累加操作消耗为4.6 pJ。而在32位整数乘累加操作中,乘运算消耗3.1 pJ,加运算0.1 pJ。在此基础上,分别将源深度卷积神经网络与脉冲神经网络的浮点运算次数FLOPs(Floating-Point operations)与MAC或AC运算次数相乘,计算出深度卷积神经网络与脉冲神经网络的计算复杂度与能量消耗对比,如表2所示。可以看出,转换后的脉冲神经网络在精度接近源网络的同时,计算复杂度降低了近两个数量级的计算量,而在能耗上则降低了近200倍的能量消耗,在继承了ANN网络易于训练的特性与精度优势的同时,充分展现了其高稀疏度带来的巨大能效优势。表2转换后的类脑脉冲神经网络与源网络在单次推理时的能效对比Table 2Comparison of energy efficiency between converted brain-like pulse neural network and source network in single inference","result":"通过在SSDD和RSOD两个公开遥感数据集上进行实验,评估了基于类脑脉冲神经网络的遥感图像检测算法的性能。实验环境配置了高性能的CPU和GPU,使用Pytorch1.13框架进行模型搭建和训练。评价指标采用平均精度AP,以衡量模型的检测性能。实验结果显示,源网络在两个数据集上分别达到了89.9%和90.21%的平均精度,验证了其有效性。通过将卷积神经网络转换为类脑脉冲神经网络,并在不同时间步长下测试,发现在时间步足够大时,转换后的网络性能接近源网络。而在时间步较低时,采用动态裁剪阈值的转换算法能更快地达到更高的平均精度。此外,从能耗和计算复杂度的角度对比了SNN和源深度卷积神经网络,结果表明,转换后的脉冲神经网络在保持精度的同时,计算复杂度降低了近两个数量级,能耗降低了近200倍,展现了其高稀疏度带来的巨大能效优势。","language":"zh"},{"title":"基于类脑脉冲神经网络的遥感图像检测算法","chapter":"4 结论","content":"为了解决主流深度学习模型在遥感图像检测中能效低和生物可解释性差的问题,本研究首次提出了一种基于类脑脉冲神经网络的遥感图像检测算法。该算法的第一步是构建一个带有动态裁剪阈值的目标检测神经网络作为源网络进行预训练。然后利用训练过程中获得的裁剪阈值,通过映射源网络中的激活神经元和脉冲神经元的关系,将源网络转换为类脑脉冲神经网络。这种转换使得新的网络既能够保持源网络的高精度,又具备低延迟和高仿生性的特点。实验结果表明,在SSDD(SAR-Ship-Detection-Datasets)和RSOD两个公开的遥感数据集上,该方法能够以极低的损失将源网络转换为类脑脉冲神经网络,并在较少的时间步下实现高精度的遥感目标检测和识别。通过将所提方法与标准类脑脉冲神经网络转换算法进行对比,验证了所提出方法在低时间步下的性能优势。若能够将所提出算法与当前快速发展的神经形态硬件相结合,则能够最大程度上发挥类脑脉冲神经网络稀疏性与二值放电的仿生性带来的能效优势,这也是未来的发展方向。","result":"首次提出一种基于类脑脉冲神经网络的遥感图像检测算法,通过构建动态裁剪阈值的目标检测神经网络并将其转换为类脑网络,实现了高精度、低延迟和高仿生性。实验结果在SSDD和RSOD数据集上验证了算法性能,与标准转换算法相比具有低时间步下的优势。未来发展方向是与神经形态硬件结合,发挥能效优势。","language":"zh"}]”
- 2024年28卷第7期 页码:1713-1721
纸质出版日期: 2024-07-07
DOI: 10.11834/jrs.20243269
扫 描 看 全 文