【技术实现步骤摘要】
一种单隐层ReLU神经网络鞍点的求解方法
[0001]本专利技术属于深度学习领域,具体来说是一种单隐层ReLU神经网络鞍点的求解方法。
技术介绍
[0002]深度神经网络在机器学习众多领域取得了优异的成果,虽然有很多理论来解释深度学习技术,但是在很大程度上还是一个未解之谜,特别是深度神经网络经验损失函数具有高维度的非凸性的情况下,在实践中基于局部搜索的优化方法如梯度下降法仍然能够取得成功。这说明深层神经网络的经验损失函数的曲面形状存在某些有利于梯度下降的特征。因此,了解经验损失函数是否在某区域存在鞍点,从而探究深度神经网络的经验损失函数的曲面形状,将有助于我们发现这些特征。
[0003]基于梯度下降的反向传播算法是现在最常用的训练深度神经网络模型的算法,但是在训练模型的过程中,常常会遇到神经网络模型已经收敛到经验损失函数的值和模型预测的准确率却根本不符合期望,这种情况说明梯度下降算法遇到了驻点即梯度为零的点,在驻点上梯度下降算法是无法继续运行的,这样的话,模型也就会在这个驻点处收敛,而驻点有可能是全局极小值点、鞍点或者是次优局部极小值点,若模型收敛的点为次优局部极小值点或者鞍点,会达不到最优训练的效果,一般遇到这种情况都会选择调整参数然后重新训练,这样的做法有两大缺点,第一,重新进行训练同样具有不确定性,还是有可能收敛于鞍点,第二,重新进行训练会极大的浪费时间和资源。
[0004]为了解决这个问题,本专利研究了一种单隐层ReLU神经网络鞍点的求解方法。我们借鉴了计算几何的思想成功的实现了有效的权值空间 ...
【技术保护点】
【技术特征摘要】
1.一种单隐层ReLU神经网络鞍点求解方法,其特征在于,包括以下步骤:步骤1:网络构建,构建的网络是单隐层ReLU神经网络,存在K个具有ReLU激活的隐藏神经元,d+1个输入神经元和一个输出神经元,损失函数采用的是均方损失函数,用N表示样本数的集合{1,2,......,N}指代输入样本的个数,输入样本数据表示为(x
i
,y
i
),(i∈[N]),用[K]表示集合{1,2,......,10},K为隐藏层神经元个数,y
i
∈{0,1},表示第x
i
个样本的标签值,将连接输入层的神经元和隐藏层的神经元之间的权值向量表示为w
j
,(j∈[K]),将隐藏层的神经元与输出层神经元之间的权值向量表示为z
j
,(j∈[K]);步骤2:权值空间子区域划分,根据输入的样本和ReLU激活函数的特性,使用一些算法将权值空间划分为若干个可微分的区域G
p
,引入变量I
ij
,定义为I是一个NxK的矩阵不是常用单位矩阵符号,计算出每个区域I
ij
的值;I
ij
的值由w
j
·
x
i
的值来决定,若w
j
·
x
i
的值大于0,则I
ij
取1,否则I
ij
取0);步骤3:鞍点的计算,根据步骤2计算得到的I
ij
的值计算每个区域的鞍点的位置和大小;步骤4:鞍点真实性的验证,由于ReLU激活函数的特性,导致第3步计算出来的鞍点有可能不会落在初始的子区域内,这种鞍点是不真实的鞍点,没有实际意义,因此需要验证步骤3所求得的鞍点是否为真实鞍点;步骤5:使用线性规划法验证无限解的鞍点的真实性,鞍点解的情况可能是唯一的也有可能有无限解,对于无限解的情况,采用半平面的交转线性规划的方法来进行实验。2.根据权利要求1所述的一种单隐层ReLU神经网络鞍点求解方法其特征在于步骤2中所述的权值空间子区域的凸性质:选择的损失函数为凸函数,随机选取区域内的w
j
来进行计算每个区域的I
ij
的值。3.根据权利要求1所述的一种单隐层ReLU神经网络鞍点求解方法其特征在于步骤3中采用的鞍点计算方法:采用的经验损失函数为:l为均方误差损失函数,令R
j
=w
j
·
z
j
,(j∈[K]),并且在k个隐藏神经元中取其中S个隐藏神经元(S={1,2,......,k'|1≤k'<10}),则每个子区域的理论鞍点R
*
的解为:的解为:重写为:BR=b,其中
所以根据伪逆矩阵的性质,鞍点的一般解为:R
*
=B
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。