[0005] 本发明的主要目的在于能够通过层次化信息处理与脉冲神经网络结合,构建一个具有神经拟态的图像识别方法。同时在层次化信息处理过程中添加稀疏特性从而达到降低计算量的目的。利用概率方式解决多层脉冲神经网络中脉冲发放不连续,导致反馈困难的问题。其具体内容如下:
[0006] 1层次化视觉信息处理
[0007] 对视觉信息进行层次化建模,能够提取到更加高级的特征。HMAX以S层(simple cells)和C层(complex cells)交替的形式构建层次化模型。在HMAX基础上,本发明加入稀疏特性对其进行改进。
[0008] 1.1 S1、C1层实现选择性与不变性
[0009] 在HMAX模型当中,根据初级视觉皮层(V1)区域的细胞对视野内的边缘信息敏感的特性,在S1层利用Gabor滤波器实现边缘信息的提取。为了简化操作,本发明利用4个方向及2个尺度的Gabor滤波器组对输入图像进行滤波,得到8个响应图(response map)。采用的Gabor滤波器的公式为:
[0010]
[0011] s.t.x0=x cosθ+y sinθ
[0012] and y0=‑x sinθ+y cosθ
[0013] 其中σ表示相位偏移,γ表示长宽比,λ表示波长,θ表示方向。在本发明中所选择的4个方向为(0°,45°,90°,135°),选择的两个尺度(滤波器大小)则根据需要处理的图像大小确定。
[0014] 图像在经过S1层实现了边缘信息的选择后,在C1层则利用Max‑Pooling方法在同个方向的响应图内按滑动窗口大小求窗口内响应的最大值,然后在两个不同尺度的最大值图上,对各自对应的像素再求一次最大值。利用这两步操作得到空间相邻和尺度相邻的最大值图,得到具有不变性的响应,同时达到数据降维的目的。
[0015] 1.2 S2、C2层实现稀疏性以及自主学习
[0016] 为了在S2层中能提取更多的图像信息以及不局限于提取边缘信息,在C1的结果图上采用FastICA对其进行学习,且满足了稀疏编码的特性。稀疏编码的代价函数为[0017] SC=AS
[0018]
[0019]
[0020] 其中SC表示输入向量,A表示系数矩阵,S表示基向量矩阵,λ为常数。a和s分别是矩阵A和矩阵S当中的元素,||·||F表示Forbenius范式。根据FastICA算法,可将代价函数转换为
[0021]
[0022] 为了简化计算,假定A为可逆矩阵,则W=A‑1。 表示W当中第j行,sci表示SC当中第i列,fj(·)表示稀疏概率分布函数。
[0023] 利用FastICA算法以及上述代价函数迭代计算出S2层的结果后,在C2层利用Max‑Pooling将经过FastICA处理等到的线性特征转换成非线性特征,具体表示为[0024] C2(xi,yj)=max S2(xi,...i+m‑1,yi,...,i+m‑1)
[0025] 其中m表示滑动窗口的大小。在C1层采用的Max‑Pooling操作滑动窗口在移动过程中有m/2的窗口重叠,而在C2层的Max‑Pooling当中移动过程窗口无重叠。
[0026] 2像素信息到时间信息的转换
[0027] 本发明将相位编码作为连接层次化特征信息与脉冲神经网络的桥梁。该编码采用两种类型的编码神经元,分别是兴奋性(excitatory)编码神经元和抑制性(inhibitory)编码神经元。根据像素值信息以及相应的位置信息,像素被判断为是激活状态还是抑制状态,其所对应的神经元利用规则将像素信息编码成对应的时间信息,具体规则如下[0028] step1: xi∈jth encoding neuron
[0029] step2:if ti>tmax
[0030] ti=ti‑tmax
[0031] step3:
[0032] 其中xi表示图像当中第i个像素,ti表示第i个像素对应的时间,tmax表示时间窗口,tht_step表示时间间隔,j 表示第j类编码神经元,n表示编码神经元类别数。step3实现了编码后的时间信息与脉冲神经网络中输入神经元之间的映射,其中k表示第i个输入神经元包含了k个时间脉冲序列。该编码过程类似于动作电位的周期震荡,具有周期性。
[0033] 3利用多层脉冲神经网络进行训练学习
[0034] 在本发明中,为了构造一个具有生物特性的图像识别方法,采用多层脉冲神经网络作为分类学习器。该多层脉冲神经网络以概率方法解决了层级之间权重调整的问题,构建的输入层‑隐含层、隐含层‑输出层的函数如下
[0035]
[0036]
[0037] 其中x表示输入的时间序列,y表示隐含层输出的脉冲序列,zo表示输出层输出的ref脉冲序列,z 表示输出层的目标脉冲序列,T为学习周期。 为脉冲序列q的形式化表示,具体形式为
[0038]
[0039]
[0040]
[0041] 其中tf表示第f个脉冲发放的时间。ρ为噪声逃逸率(escape noise),表示了膜电压大于阈值会产生脉冲的概率强度,其表达式为
[0042]
[0043] u表示膜电压,表示阈值电压。多层脉冲神经网络的简要训练过程如下[0044]
[0045] 其中Θ表示脉冲序列作用于神经元,使其产生电压的核函数。经过多层脉冲神经网络的训练和学习,最后利用vRD(van Rossum Distance)指标进行类别判定,实际输出脉冲序列与最接近的目标脉冲序列归为同一类。
[0046] 与现有技术相比,本发明有如下优点:
[0047] 本发明受到生物视觉系统对视觉信息处理方式的启发,将层次化特征处理与多层脉冲神经网络相结合,构造了一个具有生物启发性的图像识别方法。一方面,在层次化特征提取部分,利用FastICA实现稀疏性,并且不同于S1层的处理方式,该方法使得C1层到S2层的处理不受手工特征的限制,能够自主学习特征。并且利用C2层的最大池化操作将提取的线性特征转换为非线性特征,更符合实际的视觉信息处理。另一方面,利用多层脉冲神经网络作为实现图像分类功能的分类器,使得整个识别方法更具生物特性。在脉冲神经网络当中以概率方法构建目标函数,从而能够采用STDP算法和反向传播算法进行多层权值的调整,从而提高了网络计算能力。