一种基于目标传递和线搜索的深层神经网络优化及图像分类方法技术

技术编号:25044236 阅读:21 留言:0更新日期:2020-07-29 05:34
本发明专利技术提供了一种基于目标传递和线搜索的深层神经网络优化方法,并在此基础上完成图像和多维数据分类,用于解决人工神经网络在训练过程中需要频繁手动调参的问题,涉及机器学习及人工智能以及计算机视觉技术。该方法能够在训练过程中通过分析基于ReLU激活函数构造的每一层网络的数学性质从而自动计算出对于本层网络的最优学习率,最终能够使神经网络在不依赖人工调参的情况下完成自适应训练任务。相比于反向传播算法,本方法能够更快完成训练任务,并获取不弱于反向传播算法的精度表现。

【技术实现步骤摘要】
一种基于目标传递和线搜索的深层神经网络优化及图像分类方法
本专利技术涉及机器学习及人工智能以及计算机视觉技术,具体是一种对于分类神经网络的自适应训练方法,以及在此基础上进行的图像以及多维数据分类方法。
技术介绍
借助神经科学的发展,计算机科学家通过构造神经元,模拟生物神经结构组建人工神经网络在一些智能任务如计算机视觉、自然语言处理等诸多领域中取得了优秀的表现。通过对神经多层结构的加深理解,计算机科学家已经认识到深层对于神经网络的重要性,即随着神经网络层数的增加,从数据中提取的特征会越来越高级,最终使模型精度越来越好。但是对于神经元的赋值过程,由于目前对于脑神经的认识仍略显不足,人们仍未找到比较令人信服的参数调节方式。随着网络层数的加深,多层嵌套的网络结构以及非线性激活函数使得最终的损失函数高度非突,这也导致了神经网络的训练困难。为解决此问题,计算机科学家采用反向传播算法(BP算法),通过梯度下降以链式法则形式将误差逐层传递回每一层网络。但是这种方法依赖诸多训练超参数,如学习率、批大小以及权值衰减等参数,这导在致训练神经网络时依赖经验以及调试困难。同时,采用反向传播算法在训练网络时也可能导致梯度爆炸或梯度消失现象的出现,即如果某一层网络由于自身状态以及激活函数性质无法稳定传递梯度信息,这将导致该层之前的网络训练失败。另外,这种方法缺乏生物合理性,目前脑科学家已经通过突触的结构验证了正向传播的存在,但是对于反向传播的方式,目前仍未发现相应的细胞结构予以证实。因此,寻找一种能够自适应学习超参数,且不依赖于反向传播算法的神经网络优化方法对于提升网络训练效率十分重要。
技术实现思路
为改善上述优化问题,本专利技术提出了一种基于目标传递和线搜索的深层神经网络优化方法以及在此基础上的图像和多维数据分类方法,本优化方法不依赖于反向传播算法,从而避免了由于梯度依赖所造成的训练失败的出现。同时,本优化方法通过分析网络每一层的状态,能够计算出该层最优的学习率,从而使得训练神经网络避免经验依赖并提高训练效率。网络优化方法包括:(1)准备训练数据集{X,Y},其中X为固定数量N的图片或多维数据,Y为此图片所对应的类别标签;若输入数据X为图像,其应具有相同尺寸;若输入数据X为多维数据,每一条数据的维度应相同;对于标签Y应为一单值标签,代表属于该条数据的正确类别;(2)构造M层隐藏层神经网络模型,模型包括M层隐藏层fc、M-1层辅助层h、M-2层近似逆映射层g,其中,从第二层到第M层的所有隐藏层,每一个隐藏层配有一相同结构的辅助层h用于传递每层目标值的误差,同时对每相邻两层辅助层h之间设有一近似逆映射层g,用于计算辅助层的输出值,所述隐藏层中,每一层隐藏层由若干神经元构成,其中每一层隐藏层的神经元个数可不同,但每一层隐藏层的激活函数需为ReLU函数,即:其中x为该隐藏层的输出值;其中,fcm表示第m层隐藏层,Wm代表第m层隐藏层的神经元,m=1,...,M;hm-1表示第m层隐藏层对应的辅助层;gm-2代表辅助层hm-2与辅助层hm-1之间设置的近似逆映射层,Vm-2代表对应神经元;其中神经元Vm-2的个数与神经元Wm-1个数相同;(3)初始化神经网络模型,所述初始化包括隐藏层神经元W的初始化和近似逆映射层神经元V的初始化,其中所有M个神经元W以及所有M-2个神经元V初始化方法为随机初始化;其中,所有M-2个近似逆映射层g的初始化具体包括:构造并初始化所有M-2个近似逆映射层g,每一层g的构造方法相同,对于近似逆映射层gm-2的构造方法为近似逆映射层gm-2的神经元个数与第m-1个隐藏层fcm神经元个数相同,所有M-2个近似逆映射层g的神经元V的值由随机初始化获得;(4)训练神经网络模型,所述的网络训练通过迭代更新所有隐藏层的神经元W和近似逆映射层的神经元V完成。进一步的,近似逆映射层神经元V的更新过程如下,1)对标签数据Y进行One-Hot编码,具体操作为对于每一标签值yi,构造一长度为标签种类数n的向量l,将此向量第yi分量值设为1,其余分量值设为0,所得向量l即为标签数据Y的One-Hot编码向量;2)构造分类损失函数其中p(i)为第i个样本的标签数据One-Hot编码,q(i)为第i个样本的神经网络输出向量;3)更新,具体分为两个阶段,第一阶段包括第M层隐藏层神经元WM的更新,第M-1层辅助层hM-1的输出值更新,其中,所述第M层隐藏层神经元WM的更新方法具体为:将训练数据集X输入神经网络并完成一次前馈传播,根据分类损失函数Ltotal计算本次前馈传播的分类损失,并利用采用梯度下降法更新第M层隐藏层神经元WM;所述第M-1层辅助层hM-1的输出值的更新方法具体为:根据本次前馈传播的损失函数Ltotal对第M-1层隐藏层fcM-1的输出值HM-1求梯度并令第M-1层辅助层hM-1的输出值为第二阶段包括前M-2层辅助层的输出值更新,以及利用更新后的辅助层输出值完成近似逆映射层神经元V的更新,其中,第m层辅助层的输出值的更新方法如下:其中,利用更新后的第m层辅助层输出值完成第m层近似逆映射层gm对应神经元Vm的更新,具体方式如下:其中ε~N(0,σ),为第m层隐藏层输出值Hm引入高斯噪声后的值,fm+1表示第m+1层对应ReLU函数。进一步的,对于每一次迭代循环,神经元Wm进行自适应学习率有两种更新方式,其中Online方法如下:1)对前M-1层隐藏层逐层构造损失函数,其中第m层隐藏层的逐层损失函数如下:其中H0视为输入数据,2)对于第1层至第M-1层隐藏层,由如下方法计算每一层隐藏层的Pos集用于寻找最优学习率,Posm;j,k={Hm-1;j,k|Wm;jHm-1;k>0}其中Hm-1代表第m-1层隐藏层输出值矩阵,Hm-1;j,k代表该矩阵第j行第k列的数值;Wm;j代表第m层隐含层神经元的第j个行向量,Hm-1;k为第m-1层隐藏层输出值矩阵的第k个列向量,Posm;j,k代表满足第m层隐藏层神经元的第j个行向量与第m-1层隐藏层输出值矩阵的第k个列向量内积大于0的所有第m-1层隐藏层输出值矩阵的分量;3)使用如下方法逐层计算由第1层至第M-1层的可能最优学习率其中为第m层隐藏层可能的最优学习率,为第m层辅助层输出值,Wm;j为第m层隐含层神经元的第j个行向量,Hm-1;k为第m-1层隐藏层输出值矩阵的第k个列向量,Wm;j′为第m层隐含层神经元的第j个行向量的梯度值;4)根据逐层损失函数Llayer计算第1层至第M-1层隐藏层神经元梯度并利用可能最优学习率计算神经元预更新值其中,第m层隐藏层神经元预更新值计算公式如下:利用神经元预更新值计算第m层隐藏层神经元预更新后的集,其中Hm-1代表第m-1层隐藏层输出值矩阵,Hm-1;j,k代表该矩阵第j行第k列的数本文档来自技高网
...

【技术保护点】
1.一种基于目标传递和在线搜索的深层神经网络优化方法,其特征在于包括:/n(1)准备训练数据集{X,Y},其中X为固定数量N的图片或多维数据,Y为此图片所对应的类别标签;若输入数据X为图像,其应具有相同尺寸;若输入数据X为多维数据,每一条数据的维度应相同;对于标签Y应为一单值标签,代表属于该条数据的正确类别;/n(2)构造M层隐藏层神经网络模型,模型包括M层隐藏层fc、M-1层辅助层h、M-2层近似逆映射层g,其中,从第二层到第M层的所有隐藏层,每一个隐藏层配有一相同结构的辅助层h用于传递每层目标值的误差,同时对每相邻两层辅助层h之间设有一近似逆映射层g,用于计算辅助层的输出值,/n所述隐藏层中,每一层隐藏层由若干神经元构成,其中每一层隐藏层的神经元个数可不同,但每一层隐藏层的激活函数需为ReLU函数,即:

【技术特征摘要】
1.一种基于目标传递和在线搜索的深层神经网络优化方法,其特征在于包括:
(1)准备训练数据集{X,Y},其中X为固定数量N的图片或多维数据,Y为此图片所对应的类别标签;若输入数据X为图像,其应具有相同尺寸;若输入数据X为多维数据,每一条数据的维度应相同;对于标签Y应为一单值标签,代表属于该条数据的正确类别;
(2)构造M层隐藏层神经网络模型,模型包括M层隐藏层fc、M-1层辅助层h、M-2层近似逆映射层g,其中,从第二层到第M层的所有隐藏层,每一个隐藏层配有一相同结构的辅助层h用于传递每层目标值的误差,同时对每相邻两层辅助层h之间设有一近似逆映射层g,用于计算辅助层的输出值,
所述隐藏层中,每一层隐藏层由若干神经元构成,其中每一层隐藏层的神经元个数可不同,但每一层隐藏层的激活函数需为ReLU函数,即:其中x为该隐藏层的输出值;
其中,fcm表示第m层隐藏层,Wm代表第m层隐藏层的神经元,m=1,...,M;hm-1表示第m层隐藏层对应的辅助层;
gm-2代表辅助层hm-2与辅助层hm-1之间设置的近似逆映射层,Vm-2代表对应神经元;其中神经元Vm-2的个数与神经元Wm-1个数相同;
(3)初始化神经网络模型,
所述初始化包括隐藏层神经元W的初始化和近似逆映射层神经元V的初始化,其中所有M个神经元W以及所有M-2个神经元V初始化方法为随机初始化;其中,所有M-2个近似逆映射层g的初始化具体包括:构造并初始化所有M-2个近似逆映射层g,每一层g的构造方法相同,对于近似逆映射层gm-2的构造方法为近似逆映射层gm-2的神经元个数与第m-1个隐藏层fcm-1神经元个数相同,所有M-2个近似逆映射层g的神经元V的值由随机初始化获得;
(4)训练神经网络模型,所述的网络训练通过迭代更新所有隐藏层的神经元W和近似逆映射层的神经元V完成。


2.根据权利要求1所述的一种基于目标传递和在线搜索的深层神经网络优化方法,其特征在于:步骤(4)所述的,对于每一次迭代循环,近似逆映射层神经元V的更新过程如下,
2.1对标签数据Y进行One-Hot编码,具体操作为对于每一标签值yi,构造一长度为标签种类数n的向量l,将此向量第yi分量值设为1,其余分量值设为0,所得向量l即为标签数据Y的One-Hot编码向量;
2.2构造分类损失函数其中p(i)为第i个样本的标签数据One-Hot编码,q(i)为第i个样本的神经网络输出向量;
2.3更新,具体分为两个阶段,第一阶段包括第M层隐藏层神经元WM的更新,第M-1层辅助层hM-1的输出值更新,
其中,所述第M层隐藏层神经元WM的更新方法具体为:将训练数据集X输入神经网络并完成一次前馈传播,根据分类损失函数Ltotal计算本次前馈传播的分类损失,并利用采用梯度下降法更新第M层隐藏层神经元WM;
所述第M-1层辅助层hM-1的输出值的更新方法具体为:根据本次前馈传播的损失函数Ltotal对第M-1层隐藏层fcM-1的输出值HM-1求梯度并令第M-1层辅助层hM-1的输出值为
第二阶段包括前M-2层辅助层的输出值更新,以及利用更新后的辅助层输出值完成近似逆映射层神经元V的更新,
其中,第m层辅助层的输出值的更新方法如下:



其中,利用更新后的第m层辅助层输出值完成第m层近似逆映射层gm对应神经元Vm的更新,具体方式如下:



其中ε~N(0,σ),为第m层隐藏层输出值Hm引入高斯噪声后的值,fm+1表示第m+1层对应的ReLU函数。


3.根据权利要求1所述的一种基于目标传递和在线搜索的深层神经网络优化方法,其特征在于:步骤(4)所述的,对于每一次迭代循环,神经元Wm进行自适应学习率有两种更新方式,其中Online方法如下:
3.1.对前M-1层...

【专利技术属性】
技术研发人员:刘波王铎
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

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

1