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

基于自适应L-BFGS算法的深度神经网络的批量学习方法技术

技术编号:31026105 阅读:15 留言:0更新日期:2021-11-30 03:27
本发明专利技术提出一种基于自适应的L

【技术实现步骤摘要】
基于自适应L

BFGS算法的深度神经网络的批量学习方法


[0001]本专利技术涉及深度神经网络领域,具体涉及一种基于自适应L

BFGS算法的深度神经网络的批量学习方法。

技术介绍

[0002]近年来,由于计算机算力的提高,人工神经网络在计算机视觉,自然语言处理等不同领域取得了巨大成功。而神经网络的训练速度及最终获得的准确率等性能指标主要取决于所采用的训练算法。一些用于训练神经网络的一阶或二阶优化算法相继被提出。目前,在深度学习领域,一阶优化算法得到了快速发展,人们主要设计一阶优化算法来训练深度神经网络。相对来说,二阶优化算法的研究及应用要少很多。L

BFGS算法作为最流行的二阶优化算法之一,对其进行研究并用于训练深度神经网络,不仅可以改进和完善L

BFGS算法,更有助于拓展二阶优化算法在深度学习中的广泛应用,进一步提升深度学习在计算机视觉、自然语言处理等任务中的性能。

技术实现思路

[0003]本专利技术要解决的技术问题是提供一种基于自适应L

BFGS算法的深度神经网络的批量学习方法。
[0004]为了解决上述技术问题,本专利技术提供了一种基于自适应L

BFGS算法的深度神经网络的批量学习方法,包括:
[0005]S1.根据实际问题构建合适的深度神经网络模型,并将模型中所有可调参数即权值和偏置组成的向量初始化为x0,设置最大迭代次数为N,记忆尺度的个数为K;
[0006]S2.从训练集中随机选取小批量样本输入到深度神经网络中,根据网络结构逐层计算各神经元的输出,最后得到输出层所有神经元的输出,记为向量o;
[0007]S3.根据所选的小批量样本的标签和S2中得到的输出o计算损失函数值在第t次训练时,通过反向传播公式计算出损失函数的梯度并计算相应的s
t
和y
t
;其中,s
t
=x
t

x
t
‑1,y
t
=g
t

g
t
‑1;
[0008]S4.根据指数平滑法预测当前迭代的记忆尺度值其中,表示前一时刻所选K个记忆尺度的平均值,表示前一时刻预测的记忆尺度值,α∈(0,1);
[0009]S5.根据公式调整候选区间{1,2,...,M}的上界
M;其中,c1∈(0,1),d是预先设定的一个常量,M
t
‑1是前一时刻候选区间的上界;
[0010]S6.利用多步拟牛顿公式计算和更新最近M组向量对
[0011]S7.令m=1,...,M,根据公式计算e1,e2,...,e
M
;其中,H
m,2
是由向量对(γ
M

m

M

m
),...,(γ
M
‑2,ω
M
‑2)计算得到的拟牛顿矩阵;
[0012]S8.将得到的e1,e2,...,e
M
从小到大排序,选出前K个值所对应的记忆尺度m1,m2,...,m
K
,并根据这K个记忆尺度计算出K个方向d1,d2,...,d
K
;计算记忆尺度的平均值和平均方向
[0013]S9.将平均方向d
t
作为当前迭代时刻的搜索方向,采用强Wolfe线搜计算出步长即学习率μ
t
后,对网络参数进行更新x
t+1
=x
t

t
d
t
;若随着迭代次数的增加,损失函数loss的值下降得很慢趋于平稳即网络收敛,并且迭代次数达到设定的最大迭代次数N,则训练结束;否则,令t=t+1,转S2继续训练。
[0014]在其中一个实施例中,所述是深度神经网络训练中的交叉熵函数或者均方误差函数。
[0015]在其中一个实施例中,在步骤S1中,所述神经网络模型由输入层,隐含层和输出层组成;输入层和输出层神经元个数是固定的;每一层中的神经元接收前一层神经元的输出,并输出到下一层,最终得到神经网络的输出;对于全连接前馈神经网络,假设第l层神经元个数为M
l
,则第l层神经元的净输入为z
(l)
=W
(l)
a
(l

1)
+b
(l)
,第l层神经元的输出为a
(l)
=f
l
(z
(l)
);其中,是第l

1层到第l层的权重矩阵,是第l

1层到第l层的偏置,f
l
(
·
)表示第l层神经元的激活函数。
[0016]在其中一个实施例中,在步骤S2中,需将获取的数据集按照一定比例划分为训练集和测试集,并归一化使取值范围在0到1之间,归一化公式如下:
[0017][0018]其中,x
min
表示样本数据中最小值,x
max
为最大值;然后将训练集数据随机排序并打包,即分为多批的样本包,每次迭代只选择其中的一个样本包输入到神经网络中,并且每次选择的样本包不一样;接着利用前向传播计算各层神经元的输出。
[0019]在其中一个实施例中,具体流程为:对于全连接前馈神经网络,输入层接收输入的样本数据直接传给下一个隐含层,即a
(0)
=x;a
(0)
代表输入层的输出,x指输入的样本数据;之后根据第l

1层神经元的输出a
(l

1)
计算出第l层神经元的净输入Z
(l)
=W
(l)
a
(l

1)
+b
(l)
,然后经过一个激活函数得到第l层神经元的输出a
(l)
=f
l
(z
(l)
),这样一层一层地计算直到计
算出输出层的输出o=a
(L)
;这里,W
(l)
是第l

1层到第l层的权重矩阵,b
(l)
是第l

1层到第l层的偏置,f
l
(
·
)表示第l层神经元的激活函数;L代表深度神经网络总共的层数;对于卷积神经网络,输入层接收输入的样本数据X直接传给下一层,一般为卷积层,经过卷积操作得到卷积层的净输入Z=W*X+b,再经过激活函数得到输出特征映射为Y=f
l
(Z);这里,W代表卷积核,b是偏置,f
l
(
·
)是激活函数;之后,将卷积层得到的输出特征映射Y输入到下一层,一般为池化层本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自适应L

BFGS算法的深度神经网络的批量学习方法,其特征在于,包括:S1.根据实际问题构建合适的深度神经网络模型,并将模型中所有可调参数即权值和偏置组成的向量初始化为x0,设置最大迭代次数为N,记忆尺度的个数为K;S2.从训练集中随机选取小批量样本输入到深度神经网络中,根据网络结构逐层计算各神经元的输出,最后得到输出层所有神经元的输出,记为向量o;S3.根据所选的小批量样本的标签和S2中得到的输出o计算损失函数值在第t次训练时,通过反向传播公式计算出损失函数的梯度并计算相应的s
t
和y
t
;其中,s
t
=x
t

x
t
‑1,y
t
=g
t

g
t
‑1;S4.根据指数平滑法预测当前迭代的记忆尺度值其中,表示前一时刻所选K个记忆尺度的平均值,表示前一时刻预测的记忆尺度值,α∈(0,1);S5.根据公式调整候选区间{1,2,...,M}的上界M;其中,c1∈(0,1),d是预先设定的一个常量,M
t
‑1是前一时刻候选区间的上界;S6.利用多步拟牛顿公式计算和更新最近M组向量对S7.令m=1,

,M,根据公式计算e1,e2,...,e
M
;其中,H
m,2
是由向量对(γ
M

m

M

m
),...,(γ
M
‑2,ω
M
‑2)计算得到的拟牛顿矩阵;S8.将得到的e1,e2,...,e
M
从小到大排序,选出前K个值所对应的记忆尺度m1,m2,...,m
K
,并根据这K个记忆尺度计算出K个方向d1,d2,...,d
K
;计算记忆尺度的平均值和平均方向S9.将平均方向d
t
作为当前迭代时刻的搜索方向,采用强Wolfe线搜计算出步长即学习率μ
t
后,对网络参数进行更新x
t+1
=x
t

t
d
t
;若随着迭代次数的增加,损失函数loss的值下降得很慢趋于平稳即网络收敛,并且迭代次数达到设定的最大迭代次数N,则训练结束;否则,令t=t+1,转S2继续训练。2.如权利要求1所述的基于自适应L

BFGS算法的深度神经网络的批量学习方法,其特征在于,所述是深度神经网络训练中的交叉熵函数或者均方误差函数。3.如权利要求1所述的基于自适应L

BFGS算法的深度神经网络的批量学习方法,其特
征在于,在步骤S1中,所述神经网络模型由输入层,隐含层和输出层组成;输入层和输出层神经元个数是固定的;每一层中的神经元接收前一层神经元的输出,并输出到下一层,最终得到神经网络的输出;对于全连接前馈神经网络,假设第l层神经元个数为M
l
,则第l层神经元的净输入为z
(l)
=W
(l)
a
(l

1)
+b
(l)
,第l层神经元的输出为a
(l)
=f
l
(z
(l)
);其中,是第l

1层到第l层的权重矩阵,是第l

1层到第l层的偏置,f
l
(
·
)表示第l层神经元的激活函数。4.如权利要求1所述的基于自适应L

BFGS算法的深度神经网络的批量学习方法,其特征在于,在步骤S2中,需将获取的数据集按照一定比例划分为训练集和测试集,并归一化使取值范围在0到1之间,归一化公式如下:其中,x
min
表示样本数据中最小值,x
max
为最大值;然后将训练集数据随机排序并打包,即分为多批的样本包,每次迭代只选择其中的一个样本包输入到神经网络中,并且每次选择的样本包不一样;接着利用前向传播计算各层神经元的输出。5....

【专利技术属性】
技术研发人员:黄鹤王俊曹洪龙胡丹峰张永亮
申请(专利权)人:苏州大学
类型:发明
国别省市:

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

1