一种基于延迟机制的多层图像分类方法
技术领域
本发明涉及图像处理
技术领域
,具体涉及一种基于延迟机制的多层图像分类方法。背景技术
Spikeprop算法的拓扑结构属于多层前馈神经网络的模型。神经元分层排列,当刺激信号传入时,是将刺激信号转化为脉冲信号的神经元,可以对应为输入层。最后一层为输出层,是对刺激进行整合后,产生的脉冲输出层。在编码神经元层与输出层中间的都称为学习神经元,对应传统神经网络中的隐藏层。隐藏层可以为n,n的取值为大于等于1的正整数,就形成深度脉冲神经网络。各层神经元之间通过突触连接。两个神经元之间的突触个数不唯一。并且突触之间可以使用延迟时间和连接权值对神经元之间的信号传递进行处理和整合。此机制使得脉冲神经元的输入信号能够对突触后神经元产生更加长时间的影响。
在学习算法过程中,Spikeprop算法已经引入了延迟机制,但是其延迟机制仅仅只是用于对两个神经元之间的不同突触信号进行区分。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于延迟机制的多层图像分类方法解决了Spikeprop算法的延迟机制仅仅只是用于对两个神经元之间的不同突触信号进行区分的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于延迟机制的多层图像分类方法,包括以下步骤:
S1、构建图像分类模型;
S2、采用图像集对图像分类模型进行训练,得到训练完成的图像分类模型;
S3、采用训练完成的图像分类模型对图像进行分类,得到图像的类别;
图像分类模型包括依次连接的特征提取单元、脉冲延迟编码单元和多层分类器;所述特征提取单元用于对图像进行特征提取,得到特征图像数据;所述脉冲延迟编码单元用于对特征图像数据进行编码,得到激发脉冲时间序列;所述多层分类器用于处理激发脉冲时间序列,得到图像的类别。
进一步地,脉冲延迟编码单元对特征图像数据进行编码的公式为:
ti=tmax-ln(axi+1)
其中,ti为第i个像素点对应的激发脉冲时间点,tmax为编辑时间窗的大小,a为编码参数,xi为特征图像数据对应的第i个像素点的像素值。
进一步地,多层分类器包括:输入层、隐藏层和输出层;
所述多层分类器的训练方法为:
A1、将激发脉冲时间序列输入多层分类器,确定每层每个神经元的目标点火时间,将未点火的神经元的点火时间记为-1;
A2、选出点火时间不为-1的输出层或隐藏层上的点火神经元;
A3、根据每层每个神经元的目标点火时间,计算输出层所有点火神经元的学习参数和隐藏层所有点火神经元的学习参数;
A4、根据输出层所有点火神经元的学习参数和隐藏层所有点火神经元的学习参数,对输出层和隐藏层间的所有点火神经元的延迟进行调整,对输入层和隐藏层间的所有点火神经元的延迟进行调整;
A5、根据延迟调整后的多层分类器,再次计算输出层所有点火神经元的学习参数和隐藏层所有点火神经元的学习参数;
A6、根据步骤A5计算的学习参数,对输出层和隐藏层间的所有点火神经元的突触权重进行调整,对输入层和隐藏层间的所有点火神经元的突触权重进行调整;
A7、根据权重调整后的多层分类器,获取当前输出层的实际点火时间,计算实际点火时间与目标点火时间的均方误差;
A8、判断均方误差是否小于设定误差阈值,若是,则得到训练完成的多层分类器,若否,则跳转至步骤A1。
进一步地,步骤A3中隐藏层所有点火神经元的学习参数δi和输出层所有点火神经元的学习参数的计算公式为:
其中,Гi为所有与点火神经元i连接的神经元集合,为第i个点火神经元与第个点火神经元间的第个突触权重,输入层上的神经元以h标记,隐藏层上的点火神经元以i标记,输出层上的点火神经元以标记,为偏导运算,τ为神经元的膜时间常量,为第个点火神经元的目标点火时间,为第i个点火神经元的目标点火时间,ti为第i个点火神经元的膜电压第一次超过阈值的时间,为隐藏层和输出层间点火神经元的第个突触权重的延迟,为输入层与隐藏层间点火神经元的第个突触权重的延迟,为第i个点火神经元与第h个神经元间的第个突触权重。
进一步地,步骤A4中对输出层和隐藏层间的所有点火神经元的延迟进行调整,其中调整的增量的计算公式为:
对输入层和隐藏层间的所有点火神经元的延迟进行调整,其中,调整的增量Δdh的计算公式为:
其中,为输出层上的第个点火神经元的学习参数,δi为隐藏层上的第i个点火神经元的学习参数,为第i个点火神经元与第个点火神经元间的第个突触权重,为所有与点火神经元连接的神经元集合,Γi为所有与点火神经元i连接的神经元集合,隐藏层上的点火神经元以i标记,输出层上的点火神经元以标记,为第i个点火神经元与第h个神经元间的第个突触权重,th为第h个神经元的膜电压第一次超过阈值的时间,t为时间,为隐藏层和输出层间点火神经元的第个突触权重的延迟,为输入层与隐藏层间点火神经元的第个突触权重的延迟,ti为第i个点火神经元的膜电压第一次超过阈值的时间。
进一步地,步骤A6中对输出层和隐藏层间的所有点火神经元的突触权重进行调整,其中调整的增量的计算公式为:
对输入层和隐藏层间的所有点火神经元的突触权重进行调整,其中调整的增量的计算公式为:
其中,η为学习率,为第个点火神经元的目标点火时间,为第i个点火神经元的目标点火时间。
综上,本发明的有益效果为:
(1)、多层分类器为对Spikeprop算法的延迟机制进行优化,是将延迟时间作为权重之外的另一个调整参数,使得本方法不仅仅依赖于权重一个参数,增加算法的鲁棒性。同时,因为作为权重的辅助调整变量,其变化趋势也随着权重变化,使得模型能够更快收敛到目标时刻,提高图像分类的效率。
(2)本发明提出的多层分类器,基于延迟机制的反传算法,对Spikeprop算法的学习机制进行了优化,改进了延迟机制,使得模型分类效率提升,也使整个模型具有了一定的抗噪能力,不容易受到外界信息的干扰。
附图说明
图1为一种基于延迟机制的多层图像分类方法的流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,一种基于延迟机制的多层图像分类方法,包括以下步骤:
S1、构建图像分类模型;
S2、采用图像集对图像分类模型进行训练,得到训练完成的图像分类模型;
S3、采用训练完成的图像分类模型对图像进行分类,得到图像的类别;
图像分类模型包括依次连接的特征提取单元、脉冲延迟编码单元和多层分类器;所述特征提取单元用于对图像进行特征提取,得到特征图像数据;所述脉冲延迟编码单元用于对特征图像数据进行编码,得到激发脉冲时间序列;所述多层分类器用于处理激发脉冲时间序列,得到图像的类别。
脉冲延迟编码单元对特征图像数据进行编码的公式为:
ti=tmax-ln(axi+1)
其中,ti为第i个像素点对应的激发脉冲时间点,tmax为编辑时间窗的大小,a为编码参数,xi为特征图像数据对应的第i个像素点的像素值。
多层分类器包括:输入层、隐藏层和输出层;
所述多层分类器的训练方法为:
A1、将激发脉冲时间序列输入多层分类器,确定每层每个神经元的目标点火时间,将未点火的神经元的点火时间记为-1;
A2、选出点火时间不为-1的输出层或隐藏层上的点火神经元;
A3、根据每层每个神经元的目标点火时间,计算输出层所有点火神经元的学习参数和隐藏层所有点火神经元的学习参数;
步骤A3中隐藏层所有点火神经元的学习参数δi和输出层所有点火神经元的学习参数的计算公式为:
其中,Γi为所有与点火神经元i连接的神经元集合,为第i个点火神经元与第个点火神经元间的第个突触权重,输入层上的神经元以h标记,隐藏层上的点火神经元以i标记,输出层上的点火神经元以标记,为偏导运算,τ为神经元的膜时间常量,为第个点火神经元的目标点火时间,为第i个点火神经元的目标点火时间,ti为第i个点火神经元的膜电压第一次超过阈值的时间,为隐藏层和输出层间点火神经元的第个突触权重的延迟,为输入层与隐藏层间点火神经元的第个突触权重的延迟,为第i个点火神经元与第h个神经元间的第个突触权重。
A4、根据输出层所有点火神经元的学习参数和隐藏层所有点火神经元的学习参数,对输出层和隐藏层间的所有点火神经元的延迟进行调整,对输入层和隐藏层间的所有点火神经元的延迟进行调整;
步骤A4中对输出层和隐藏层间的所有点火神经元的延迟进行调整,其中调整的增量的计算公式为:
对输入层和隐藏层间的所有点火神经元的延迟进行调整,其中,调整的增量Δdh的计算公式为:
其中,为输出层上的第个点火神经元的学习参数,δi为隐藏层上的第i个点火神经元的学习参数,为第i个点火神经元与第个点火神经元间的第个突触权重,为所有与点火神经元连接的神经元集合,Γi为所有与点火神经元i连接的神经元集合,隐藏层上的点火神经元以i标记,输出层上的点火神经元以标记,为第i个点火神经元与第h个神经元间的第个突触权重,th为第h个神经元的膜电压第一次超过阈值的时间,t为时间,为隐藏层和输出层间点火神经元的第个突触权重的延迟,为输入层与隐藏层间点火神经元的第个突触权重的延迟,ti为第i个点火神经元的膜电压第一次超过阈值的时间。
A5、根据延迟调整后的多层分类器,再次计算输出层所有点火神经元的学习参数和隐藏层所有点火神经元的学习参数;
A6、根据步骤A5计算的学习参数,对输出层和隐藏层间的所有点火神经元的突触权重进行调整,对输入层和隐藏层间的所有点火神经元的突触权重进行调整;
步骤A6中对输出层和隐藏层间的所有点火神经元的突触权重进行调整,其中调整的增量的计算公式为:
对输入层和隐藏层间的所有点火神经元的突触权重进行调整,其中调整的增量的计算公式为:
其中,η为学习率,为第个点火神经元的目标点火时间,为第i个点火神经元的目标点火时间。
A7、根据权重调整后的多层分类器,获取当前输出层的实际点火时间,计算实际点火时间与目标点火时间的均方误差;
A8、判断均方误差是否小于设定误差阈值,若是,则得到训练完成的多层分类器,若否,则跳转至步骤A1。