[0006] 本发明针对现有技术的不足,设计了一种基于特征函数滤波的神经网络参数更新的图像分类方法。该方法中所使用的特征函数滤波只需假设测量误差存在均值,模型噪声存在分布函数,不存在局部线性化以及局部收敛的问题,且可以实现网络参数的实时在线自适应更新。将本发明用于图像识别分类,可以提高图像分类的准确率,并降低参数更新的时间复杂度。
[0007] 本发明包括以下各步骤:
[0008] 步骤(1)建立由样本输入集x(k)=[x1(k),x2(k),…,xn(k)]T到输出集y(k)=[y1T(k),y2(k),…,ym(k)]之间的关系映射的神经网络模型,其中样本输入集为每个图像样本经过预处理后的特征值,样本输出集为相应每个图像的分类类别,k为第k个样本集的选择,xn(k)为第k个样本的第n个输入,ym(k)为第k个样本的第m个输出。
[0009]
[0010] 其中,g(·)为激活函数,通常选取如sigmoid函数,ReLU函数,高斯函数,多项式T等,ωi=[ωi1,ωi2,…,ωil] ,i=1,…,n与a分别为隐层的权重参数与偏置参数,ωi中的各项为其分向量,l为单隐层节点个数,β为输出层权重参数。
[0011] 其损失函数的一般形式为
[0012]
[0013] 其中, 为模型确立后的图片分类结果。
[0014] 在此所使用的损失函数的具体形式为
[0015]
[0016] 步骤(2)初始化网络中隐层的权重参数与偏置参数以及输出层权重参数[0017] 每一次迭代在隐层权重参数和偏置参数随机给定的情况下,将网络的全部参数求解问题转化成通过最小二乘来求解输出层权重参数β的问题。该算法具体描述如下:
[0018] 当隐层的激活函数无限可微时,神经网络不再需要对所有参数进行求解,隐层权重参数和隐层偏置参数可以通过随机选择的方式实现且整个过程中维持不变,此时若将公式(1)中对于模型的描述改为如下形式:
[0019] y(k)=H(k)β (3)
[0020] 其中
[0021] H(k)=[H1(k) H2(k) … Hl(k)]T
[0022]
[0023] 则由于隐层权重参数和隐层偏置参数已确定而使得H(k)已知,所以此时的问题可以转化为如何通过公式(3)求解输出层权重参数β,目标函数也由公式(2)转换为如下形式:
[0024]
[0025] 在此使用最小二乘方法,则其解为
[0026]
[0027] 上式中,H‑1为隐层输出矩阵H的Moore‑Penrose逆。
[0028] 步骤(3)通过当前新的图像样本输入更新神经网络的输出层权重参数β。
[0029] 该步骤中使用Kalman滤波来进行输出层权重参数β的实时更新。要想用Kalman滤波来进行该参数的实时更新,那就必须建立符合Kalman滤波的状态方程和测量方程。考虑到待估输出层权重参数β是受一定随机干扰缓变的,故将Kalman滤波的状态方程进行如下建模:
[0030] β(k+1)=A(k+1,k)β(k)+w(k) (4)
[0031] 为模拟待估参数受到的干扰,方程中加入了白噪声序列w(k)。
[0032] 由公式(3)可以得到测量方程如下:
[0033] y(k)=Hβ(k)+v(k) (5)
[0034] 其中,v(k)与状态方程类似,也为白噪声序列。
[0035] 上述Kalman滤波模型中,过程噪声w(k)和观测噪声v(k)均为白噪声序列,在采样间隔内为常值。且有E{w(k)w′(k)}=Q和E{v(k)v′(k)}=R,A(k+1,k)=E,当w(k)和v(k)相互独立时,E{w(k)v′(k)}=0,β(k)为第k个输出层权重参数。
[0036] 则该模型求解的第k+1个输出层权重参数β的最优估计值:
[0037]
[0038] 其中, 表示第k+1个输出层权重参数β预测值;K(k+1)为第k+1个最优增益阵; 为第k+1个的输出层权重参数β估计值。
[0039] 步骤(4)通过特征函数滤波更新隐层权重参数和隐层偏置参数。
[0040] 特征函数滤波是一种新型的非高斯滤波方法,在特征函数滤波中,当观测方程关于状态变量为非线性时,若满足以下两个要求:
[0041] 要求1:{w(k)}与{v(k)}为有界的平稳随机过程,x(0)为初始状态,{w(k)},{v(k)}及x(0)相互独立,且已知{w(k)}的分布函数,且其特征函数为 {v(k)}均值已知,|E(w(k))|<+∞。
[0042] 要求2:H(·)是一个已知的波尔可测且光滑的非线性函数。
[0043] 则可设计如下形式的滤波器:
[0044]
[0045]
[0046] 其中,A(k)为状态转移矩阵, 为第k个状态量的估计值, 为第k+1个n×l观测值的预测值,U(k)∈R 为一个待设计的增益矩阵,U(k)的获取是整个滤波器设计的核心与关键。
[0047] 令 则可得估计误差方程为
[0048]
[0049] 其性能指标为
[0050]
[0051] 其中,
[0052] 加权函数K(t)的选取是为保证J0是实值且有界的,它是给定的正定的权重矩阵,为了约束增益矩阵,最小化此性能指标则可求得滤波增益阵。
[0053] 下面给出增益阵K(k+1)求解方法和过程。
[0054] 若令p1(k)和p2(k)分别为
[0055]
[0056]
[0057] 则性能指标可改写为
[0058]
[0059] 为了求取增益矩阵K(k+1),令 求性能指标的极值点,可得
[0060]
[0061] 由于
[0062]
[0063] 因此式(13)求得的解即为最小化性能指标的极值点。
[0064] 设计基于特征函数的参数更新方法可以分两步实现:首先进行隐层权重参数ω与偏置参数a更新,其次是输出层权重参数β更新。但是由于其高复杂性,在此把它分为三个步骤。其描述如下:
[0065] 对于已经通过步骤(1),步骤(2)和步骤(3)中方法确定了隐层权重参数ω与偏置参数a以及输出层权重参数β的单隐层神经网络,每有新的图片样本输入,依次执行如下三个步骤:
[0066] 步骤(4‑1)隐层权重参数ω更新
[0067] 首先使用特征函数滤波更新隐层权重参数ω,假定隐层偏置参数a与输出层权重参数β为不变,则对于第k+1个样本,隐层权重参数ω的最优估计值为
[0068]
[0069] 该步骤中,对于隐层权重参数ω的更新,由于ω=[ω1,ω2,…,ωn],ωi=[ωi1,Tωi2,…,ωil] 是隐层权重参数ω的分向量,ω为n维向量,则需要对于ωi,i=1,…,n分别进行建模求解更新。对于每次ωi的估计,假设ωj,j=1,…,i‑1,i+1,…,n均为不变。则以ωi为特征函数滤波中的状态变量可以建立如下状态方程和观测方程:
[0070] ωi(k+1)=A·ωi(k)+w(k) (16)
[0071]
[0072] 其中模型噪声w(k)只需存在分布函数,测量误差v(k)只需存在均值。则该模型第k个ωi(k)的最优估计值的求解过程如下:
[0073] (a)计算p1(k)
[0074] 如公式(10)所示求解增益阵U(k)的组成矩阵p1(k)。其中,K(t)为加权函数,为给定的目标特征函数, 为s(k)=A(k)e(k)的特征函数, 为q(k+1)=G(k+1)w(k+1)的特征函数。
[0075] (b)计算p3(k)
[0076]
[0077] y(k)为样本输出集中第k个的图片分类类别, 为y(k)的估计值,且有[0078]
[0079] (c)计算增益阵U(k)
[0080]
[0081] U(k)是正定矩为假设阵R(k)固定的权重矩阵
[0082] (d)计算待估计的隐层权重参数的分向量ωi(k)在k时刻的估计值[0083]
[0084] 步骤(4‑2)隐层偏置参数a更新
[0085] 然后使用特征函数滤波更新隐层偏置参数a,假定隐层权重参数ω与输出层权重参数β不变,则对于第k+1个图片样本,隐层偏置参数a的最优估计值为
[0086]
[0087] 该步骤中以隐层偏置参数a为状态变量建立与步骤(3‑1)中类似的状态方程和观测方程并求解得到第k个隐层偏置参数a(k)的最优估计值。
[0088] 步骤(4‑3)输出层权重参数β更新
[0089] 使用线性卡尔曼滤波方法更新输出层权重参数β,假定隐层权重参数ω与隐层偏置参数a均为不变,则对于第k+1个样本,输出层权重参数β的最优估计值为[0090]
[0091] 该步骤中的建模和参数求解与步骤(3)中相同。
[0092] 本发明的有益效果:使用特征函数滤波和卡尔曼滤波相结合的方法,用于更新神经网络中的所有参数。在图片分类中应用该方法,每有新的图片样本到来,不需要结合旧的图片样本就可以更新神经网络中的所有参数以适应图片工况的变化,且提高了图片分类的准确率,减小了计算的复杂度。