当前位置: 首页 > 专利查询>北京大学专利>正文

脉冲神经网络的剪枝方法、装置及电子设备制造方法及图纸

技术编号:35815361 阅读:11 留言:0更新日期:2022-12-03 13:38
本发明专利技术公开了一种脉冲神经网络的剪枝方法、装置及电子设备。其中,上述方法包括:将突触连接层中每个连接权重组成的初始向量进行初始化操作得到权重向量;当基于反向传播的算法对脉冲神经网络进行剪枝训练时,通过预定义的导函数计算每个损失函数值对隐藏参数向量的梯度;对隐藏参数向量的梯度进行梯度下降更新,并利用预设的递增函数计算软阈值函数进行再次梯度更新时使用的目标阈值;基于目标阈值,利用软阈值函数再次将隐藏参数向量映射到权重向量;当对脉冲神经网络模型的剪枝训练轮数达到预设轮数时,得到训练好的脉冲神经网络模型。本发明专利技术解决了相关技术中在神经形态计算芯片上无法有效部署脉冲神经网络的技术问题。芯片上无法有效部署脉冲神经网络的技术问题。芯片上无法有效部署脉冲神经网络的技术问题。

【技术实现步骤摘要】
脉冲神经网络的剪枝方法、装置及电子设备


[0001]本专利技术涉及类脑智能
,具体而言,涉及一种脉冲神经网络的剪枝方法、装置及电子设备。

技术介绍

[0002]脉冲神经网络(Spiking Neural Network,SNN)是类脑智能领域的重要学习模型,相比于传统的人工智能网络,脉冲神经网络更进一步模拟了大脑中的计算模式。脉冲神经网络中的神经元会发放离散的事件,也被称为“脉冲”,并通过神经元之间的突触连接与其他神经元进行通信。使用脉冲通信的人脑往往可以仅消耗20瓦左右的功率完成包括人脸识别在内的大量复杂任务,具有很高的能源效率。与之类似,脉冲神经网络可以在神经形态计算芯片上运行,并且在推理时具有远优于传统通用计算设备如GPU等的能源效率。目前,脉冲神经网络可以在时空数据分类、检测、分割、跟踪等任务上获得一定的性能表现。
[0003]为了在上述的神经形态计算芯片上部署实用的脉冲神经网络,脉冲神经网络通常会具有比较大的规模。这一类神经网络通常具有较深的网络结构,也被称为深度脉冲神经网络。一个深度脉冲神经网络如Spiking ResNet或Spiking GoogleNet往往具有50层或者更深的网络层数,其中包含大量的突触。然而,神经形态计算芯片上的计算资源往往十分有限,例如,一个48节点组成的SpiNNaker计算板最多支持模拟25万个神经元与8千万个突触连接,这甚至难以部署下单个深度的脉冲神经网络。因此,对深度脉冲神经网络进行剪枝对于实际部署脉冲神经网络而言就至关重要。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种脉冲神经网络的剪枝方法、装置及电子设备,以至少解决相关技术中在神经形态计算芯片上无法有效部署脉冲神经网络的技术问题。
[0006]根据本专利技术实施例的一个方面,提供了一种脉冲神经网络的剪枝方法,包括:将突触连接层中每个连接权重组成的初始向量进行初始化操作,得到与所述初始向量的元素相同的隐藏参数向量;其中,所述突触连接层位于待剪枝优化并重训练的脉冲神经网络模型中;将所述隐藏参数向量的每个元素代入软阈值函数得到权重向量;将训练数据输入所述脉冲神经网络模型,计算每个任务类型对应的损失函数值;其中,所述训练数据包括视觉信息,所述任务类型包括对所视觉信息中包含的目标对象的分类、检测和跟踪;当基于反向传播的算法对所述脉冲神经网络进行剪枝训练时,通过预定义的导函数计算每个所述损失函数值对所述隐藏参数向量的梯度;其中,所述预定义的导函数为对所述软阈值函数的导函数进行修改得到的导函数;对所述隐藏参数向量的梯度进行梯度下降更新,并利用预设的递增函数计算软阈值函数进行再次梯度更新时使用的目标阈值;基于所述目标阈值,利用所述软阈值函数再次将所述隐藏参数向量映射到所述权重向量;当对所述脉冲神经网络模型的剪枝训练轮数达到预设轮数时,删除所述隐藏参数向量,得到剪枝训练好的脉冲神经
网络模型。
[0007]根据本专利技术实施例的另一方面,还提供了一种脉冲神经网络的剪枝装置,包括:初始化单元,用于将突触连接层中每个连接权重组成的初始向量进行初始化操作,得到与所述初始向量的元素相同的隐藏参数向量;其中,所述突触连接层位于待剪枝优化并重训练的脉冲神经网络模型中;第一计算单元,用于将所述隐藏参数向量的每个元素代入软阈值函数得到权重向量;第二计算单元,用于将训练数据输入所述脉冲神经网络模型,计算每个任务类型对应的损失函数值;其中,所述训练数据包括视觉信息,所述任务类型包括对所视觉信息中包含的目标对象的分类、检测和跟踪;第三计算单元,用于当基于反向传播的算法对所述脉冲神经网络进行剪枝训练时,通过预定义的导函数计算每个所述损失函数值对所述隐藏参数向量的梯度;其中,所述预定义的导函数为对所述软阈值函数的导函数进行修改得到的导函数;梯度更新单元,用于对所述隐藏参数向量的梯度进行梯度下降更新,并利用预设的递增函数计算软阈值函数进行再次梯度更新时使用的目标阈值;映射单元,用于基于所述目标阈值,利用所述软阈值函数再次将所述隐藏参数向量映射到所述权重向量;确定单元,用于当对所述脉冲神经网络模型的剪枝训练轮数达到预设轮数时,删除所述隐藏参数向量,得到剪枝训练好的脉冲神经网络模型。
[0008]根据本专利技术实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的脉冲神经网络的剪枝方法。
[0009]根据本专利技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述脉冲神经网络的剪枝方法。
[0010]在本专利技术实施例中,采用了将突触连接层中每个连接权重组成的初始向量进行初始化操作,得到与所述初始向量的元素相同的隐藏参数向量;其中,所述突触连接层位于待剪枝优化并重训练的脉冲神经网络模型中;将所述隐藏参数向量的每个元素代入软阈值函数得到权重向量;将训练数据输入所述脉冲神经网络模型,计算每个任务类型对应的损失函数值;其中,所述训练数据包括视觉信息,所述任务类型包括对所视觉信息中包含的目标对象的分类、检测和跟踪;当基于反向传播的算法对所述脉冲神经网络进行剪枝训练时,通过预定义的导函数计算每个所述损失函数值对所述隐藏参数向量的梯度;其中,所述预定义的导函数为对所述软阈值函数的导函数进行修改得到的导函数;对所述隐藏参数向量的梯度进行梯度下降更新,并利用预设的递增函数计算软阈值函数进行再次梯度更新时使用的目标阈值;基于所述目标阈值,利用所述软阈值函数再次将所述隐藏参数向量映射到所述权重向量;当对所述脉冲神经网络模型的剪枝训练轮数达到预设轮数时,删除所述隐藏参数向量,得到剪枝训练好的脉冲神经网络模型的方法,在上述方法中,本申请首先对脉冲神经网络的权重使用同尺寸的隐藏参数使用软阈值函数进行编码,从而初步获得了权重进入剪枝状态的可能性。在训练时修改软阈值函数的梯度,使得被剪枝的权重能够获得非零的梯度来避免梯度消失以及随之而来的网络表达能力下降。通过阈值增长的函数控制在训练的不同阶段网络权重稀疏的速度,能够在学习与稀疏两个目标之间获得平衡。最终得到的网络可以直接舍弃隐藏参数,使用稀疏权重进行推理来节省硬件的计算资源,适用于各种基于梯度训练的脉冲神经网络,进而解决了相关技术中在神经形态计算芯片上无法有效
部署脉冲神经网络的技术问题。
附图说明
[0011]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0012]图1是根据本专利技术实施例的一种可选的脉冲神经网络的剪枝方法的应用环境的示意图;
[0013]图2是根据本专利技术实施例的另一种可选的脉冲神经网络的剪枝方法的应用环境的示意图;
[0014]图3是根据本专利技术实施例的一种可选的脉冲神经网络的剪枝方法的流程示意图;
[0015]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种脉冲神经网络的剪枝方法,其特征在于,包括:将突触连接层中每个连接权重组成的初始向量进行初始化操作,得到与所述初始向量的元素相同的隐藏参数向量;其中,所述突触连接层位于待剪枝优化并重训练的脉冲神经网络模型中;将所述隐藏参数向量的每个元素代入软阈值函数得到权重向量;将训练数据输入所述脉冲神经网络模型,计算每个任务类型对应的损失函数值;其中,所述训练数据包括视觉信息,所述任务类型包括对所视觉信息中包含的目标对象的分类、检测和跟踪;当基于反向传播的算法对所述脉冲神经网络进行剪枝训练时,通过预定义的导函数计算每个所述损失函数值对所述隐藏参数向量的梯度;其中,所述预定义的导函数为对所述软阈值函数的导函数进行修改得到的导函数;对所述隐藏参数向量的梯度进行梯度下降更新,并利用预设的递增函数计算软阈值函数进行再次梯度更新时使用的目标阈值;基于所述目标阈值,利用所述软阈值函数再次将所述隐藏参数向量映射到所述权重向量;当对所述脉冲神经网络模型的剪枝训练轮数达到预设轮数时,删除所述隐藏参数向量,得到剪枝训练好的脉冲神经网络模型。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将目标视觉信息输入所述剪枝训练好的脉冲神经网络模型,获取与当前任务类型对应的视觉信息处理结果。3.根据权利要求2所述的方法,其特征在于,所述目标视觉信息包括图像、视频和脉冲信号中的至少之一,所述将目标视觉信息输入所述训练好的脉冲神经网络模型,获取与当前任务类型对应的视觉信息处理结果,包括以下至少之一:将所述视觉信息输入剪枝训练好的脉冲神经网络模型进行分类操作,获取所述目标视觉信息的分类处理结果;将所述视觉信息输入所述剪枝训练好的脉冲神经网络模型进行目标检测操作,获取所述视觉信息中目标对象的检测结果;将所述视觉信息输入所述剪枝训练好的脉冲神经网络模型进行目标跟踪操作,获取所述视觉信息中目标对象的跟踪处理结果。4.根据权利要求1所述的方法,其特征在于,突触连接层包括全连接层和卷积层;所述将突触连接层中每个连接权重组成的初始向量进行初始化操作,得到与所述初始向量的元素个数相同的隐藏参数向量,包括:将所述全连接层和卷积层中可训练的连接权重融合为初始向量w;将与所述w的元素个数相同的隐藏参数向量θ替换所述w;所述将所述隐藏参数向量的每个元素代入软阈值函数得到权重向量,包括:将所述θ中的每个元素代入软阈值函数S
d
得到权重向量S
d
(θ)...

【专利技术属性】
技术研发人员:田永鸿陈彦骐余肇飞方维
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1