用于水下声呐自主探测的脉冲神经网络转换方法和装置与流程

文档序号:34360546发布日期:2023-06-04 16:44阅读:54来源:国知局
用于水下声呐自主探测的脉冲神经网络转换方法和装置与流程

本发明属于图像目标检测应用领域,尤其涉及一种用于水下声呐自主探测的脉冲神经网络转换方法和装置。


背景技术:

1、无人艇作为一种无人操作的水面舰艇,具有体积小、航速快、机动性强、模块化等特点,可用于执行危险以及不适于有人船执行的任务。随着大数据、人工智能、计算机视觉等新技术的发展,无人艇搭载声呐设备对水下目标可以进行自主探测与识别,目前已广泛应用于民用及军事领域。如今基于深度神经网络(deep neural network,dnn)的目标检测算法在各种复杂的无人应用场景中都表现出了卓越的性能,但美中不足的是这些模型必须依赖高性能显卡才能实施部署,而高性能显卡的使用功率远超于普通计算设备。很多的计算机或者嵌入式芯片计算能力有限,不能如显卡一般满足dnn的高精度浮点运算需求;而无人艇以及小型设备的能量资源是有限的,搭载高性能显卡后难以执行全天时的水下自主探测。

2、最近几年受到生物大脑启发的脉冲神经网络(spiking neural network,snn)相关技术得到人们广泛关注,因为它能够在神经形态芯片上实现极低功耗的运行,可以用来解决在资源受限系统中应用dnn的难题。snn由于仿生性高、功耗低等优点被誉为第三代神经网络,它以离散的二值“0-1”信号脉冲序列在神经元之间传递信息,因此在同样的模型复杂度下,snn的精度要低于dnn。snn中的脉冲神经元在累积输入后,当且仅当其膜电压超过了一定阈值才会输出一个脉冲信号。这种脉冲相加的方式使得snn在前向运算中不需要乘法,并能够以电信号叠加的方式进行硬件部署,从而实现低功率运行。

3、直接训练深度snn模型存在不可导等困难,导致其精度离dnn始终存在较大差距。因此基于转换的方法越来越受欢迎。它将训练好的dnn模型及其参数通过一定方法转换成snn的表示形式,以降低模型精度为代价得到深度snn。rueckauer等人提出了一个全面的转换方案,使得vgg-snn模型在图像分类任务中取得了较高的精度。kim等人也提出了一系列脉冲神经网络的编码方法,提升其在图像分类任务中的精度。然而,目前snn的相关研究局限性较强,大多数仅针对图像分类任务,难度较小且网络模型单一。如何将低功耗的脉冲神经网络用于水下声呐自主探测任务,实现目标检测功能,是一个极具应用价值的方向。


技术实现思路

1、有鉴于此,本发明提供了一种用于水下声呐自主探测的脉冲神经网络转换方法,借助其网络二值传输的低功耗特性,在算法层面解决在资源受限的水下自主探测系统中应用深度神经网络的困难,该方法包括:步骤s1:修改基于深度神经网络模型(dnn)的yolov3-tiny模型,得到经过修改的yolov3-tiny模型;

2、步骤s2:加载水下声呐图像数据集,训练所述经过修改的yolov3-tiny模型;

3、步骤s3:为进行水下目标检测,将训练好的yolov3-tiny模型转换为基于脉冲神经网络(snn)的yolov3-snn模型,所述yolov3-snn模型包括输入层、隐藏层和输出层,其中,输入层采用实数编码,隐藏层采用活跃状态,静息状态的两状态的脉冲神经编码,输出层使用膜电压解码;

4、步骤s4:通过两状态编码方案,利用生成的所述基于脉冲神经网络(snn)的yolov3-snn模型,直接用于水下声呐小目标检测任务。

5、特别地,所述步骤s1中修改基于深度神经网络模型(dnn)的yolov3-tiny模型具体包括:将所述yolov3-tiny模型中的最大池化层被替换为等步长的3×3大小卷积层,以模拟最大池化的功能;将输出负值的激活函数替换为relu函数,采用反卷积层替换上采样层的操作;将批量归一化层(bn)的参数合并到卷积层中。

6、特别地,所述步骤s2中,在训练过程中,对每一次迭代执行多尺度训练,将输入图像的短边长度缩放为320至640范围中的随机值,测试图像时将图像分辨率统一缩放为416×416大小。

7、特别地,所述步骤s3中,所述yolov3-snn模型中,脉冲神经元使用积分点火模型,其中脉冲神经元在发射脉冲后,还保留一部分膜电压,在下一时刻也很可能再次发射脉冲;计算公式如下所示:

8、

9、式中第l层的脉冲神经元i在t时刻将它的输入累加到其膜电压上;表示是否输出脉冲,值为1或0。输入的计算方式和的产生方式如下所示:

10、

11、

12、其中wl和b1是第l层的参数,vth(t)为电压阈值,u(·)表示单位阶跃函数,用来判定膜电压是否超过阈值,如下式所示:

13、

14、特别地,所述步骤s3中,在输入层编码方法中,所述yolov3-snn模型直接越过输入层而采用实数值编码方案,在每一个时刻对第一层网络中的每一个神经元施加恒定电压输入。计算公式如下:

15、

16、最后,为了获得目标框坐标值,所述yolov3-snn模型设计了输出层膜电压解码方法,即令禁止输出神经元发射脉冲,直接将其在所有时间步长上累积的膜电压作为解码后的实数值。

17、特别地,所述步骤s3中,隐藏层采用活跃状态,静息状态的两状态的脉冲神经编码,根据发射脉冲的频率,神经元在传输信息的过程中在两种状态之间切换;其具体表现形式为vth(t)在时间轴上动态变化,并且具体到每一个神经元,而非全局变量,如下式所示:

18、

19、其中α表示较大的活跃状态阈值,β表示较小的静息状态阈值;每个神经元的初始电压阈值神经元连续两次发射脉冲则进入活跃状态,在此状态下阈值变大,若新增的膜电压将会被增强,而如果膜电压会被抑制;活跃状态是一种模拟长时程增强和长时程抑制的过程;而一旦当前时刻神经元未发射脉冲,则变为静息状态,等待下一次活跃。

20、特别地,所述yolov3-snn模型使用了基于通道的参数归一化方法对模型参数执行归一化约束,在统计每一层输出的最大值时细化至每一个通道,这样对于卷积层中的每一个卷积核能够差异化地与归一化因子进行计算,避免某些通道的点火率过低,计算表达式如下:

21、and

22、其中j代表第l层卷积的输出通道数,i代表输入通道数,即第l-1层的输出通道数;使用每一层输出值中第99%大的值作为该层的归一化因子λ,以适当提高神经元的点火率,点火率计算方式如下:

23、其中t为snn所模拟的总时间步长,n为在此期间发射的脉冲数量。

24、本发明还提出了一种用于水下声呐自主探测的脉冲神经网络转换装置,包括:深度神经网络模型修改模块,用于修改基于深度神经网络模型(dnn)的yolov3-tiny模型,得到经过修改的yolov3-tiny模型;

25、模型训练模块,用于加载水下声呐图像数据集,训练所述经过修改的yolov3-tiny模型;

26、脉冲神经网络模型转换模块,用于为进行水下目标检测,将训练好的yolov3-tiny模型转换为基于脉冲神经网络(snn)的yolov3-snn模型,所述yolov3-snn模型包括输入层、隐藏层和输出层,其中,输入层采用实数编码,隐藏层采用活跃状态,静息状态的两状态的脉冲神经编码,输出层使用膜电压解码;

27、目标检测模块,用于通过两状态编码方案,利用生成的所述基于脉冲神经网络(snn)的yolov3-snn模型,直接用于水下声呐小目标检测任务。

28、有益效果:

29、(1)本发明中将脉冲神经网络应用于水下声呐自主探测任务,借助其网络二值传输的低功耗特性,在算法层面解决在资源受限的水下自主探测系统中应用深度神经网络的困难;

30、(2)本发明中设计了一种专门针对目标检测任务的转换方案,生成了一种多尺度的脉冲神经网络目标检测模型,用于声呐图像的目标检测;

31、(3)本发明中受到生物神经学现象长时程增强和长时程抑制的启发,提出了一种两状态编码方案用于隐藏层,以加快脉冲信息传递的效率,缩短模型运行时长;

32、(4)本发明中所述yolov3-snn模型使用了基于通道的参数归一化方法对模型参数执行归一化约束,基于通道的参数归一化方法改善了snn深层神经元点火率较低的问题从而提升了模型检测精度。为了避免最大值离群值造成的负面影响;

33、(5)本发明中yolov3-snn在脉冲神经元中使用积分点火模型,并采用“软重置”方法;软重置方法使得脉冲神经元在发射脉冲后,还保留一部分膜电压,在下一时刻也很可能再次发射脉冲;理论上它可以获得比硬重置方法更高的检测精度,并且需要的时间步长更少。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1