一种神经网络模型的激活函数生成方法与流程

文档序号:11408344阅读:772来源:国知局
一种神经网络模型的激活函数生成方法与流程

本发明涉及一种机器学习相关领域,特别涉及一种神经网络模型的激活函数生成方法。



背景技术:

近年来,深度学习在计算机视觉领域取得了引人注目的成果,其中一个重要因素是激活函数的发展。在人工神经网络中,神经元节点的激活函数定义了对神经元输出的映射,简单来说,神经元的输出经过激活函数处理后再作为输出。

神经网络中激活函数的主要作用是提供网络的非线性建模能力。假设一个示例神经网络中仅包含线性卷积和全连接运算,那么该网络仅能够表达线性映射,即便增加网络的深度也依旧还是线性映射,难以有效建模实际环境中非线性分布的数据。加入非线性激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。因此,激活函数是深度神经网络中不可或缺的部分。

随着深度学习的快速发展,激活函数的种类也逐渐丰富起来。目前机器学习领域应用广泛的激活函数有sigmoid(s型生长曲线)函数、tanh(双曲正切)函数、relu(修正线性单元)函数、prelu(参数化修正线性单元)函数、pelu(参数化指数型线性单元)函数、rrelu(随机修正线性单元)函数等等。但是,这些基本的激活函数都存在不足,比如梯度消失、收敛速度较慢、均为凸函数等问题。另一方面这些激活函数也无法对不同的输入做出相对应的激活,这是因为一旦激活函数预先定义或者学习完毕,在神经网络模型测试阶段激活函数就不会再改变。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种神经网络模型的激活函数生成方法,通过该方法生成的激活函数提高了神经网络模型学习非线性变化的能力,并且使得神经网络模型在测试阶段能够对不同的输入作出不同响应,改进了神经网络使用单一种类激活函数存在的不足。

本发明的目的通过下述技术方案实现:一种神经网络模型的激活函数生成方法,步骤如下:

s1、选择多个不同的基本激活函数;

s2、将步骤s1中选择的多个不同的基本激活函数进行组合作为神经网络模型的激活函数;

s3、神经网络模型的激活函数随着神经网络模型的迭代进行更新。

优选的,所述基本激活函数为sigmoid函数、tanh函数、relu函数、prelu函数、pelu函数或rrelu函数。

优选的,所述步骤s1中选择2~6个不同的基本激活函数。

优选的,所述步骤s2中多个不同的基本激活函数通过以下方式进行组合得到神经网络模型的激活函数f(x):

pn=1-(p1+p2+,…,+pn-1);

其中p1,p2,…,pn是各基本激活函数的组合系数,其预先设置的范围为:0~1;为各基本激活函数,n为组合的基本激活函数的个数。

更进一步的,所述步骤s3中神经网络模型的激活函数随着神经网络的迭代而进行更新的具体过程如下:

s31、首先通过反向传播的算法对当前各基本激活函数i的组合系数pi′,i=1,2,…n-1进行参数更新,得到:

其中l为神经网络模型定义的损失函数;pi′当前各基本激活函数的组合系数,f′(x)为通过当前各基本激活函数的组合系数针对当前各基本激活函数组合得到的神经网络的激活函数;p″i为更新后的各基本激活函数i的组合系数;其中f′(x)为:

p′n=1-(p′1+p′2+,…,+p′n-1);

s32根据上述更新后的各基本激活函数的组合系数p″i,i=1,2,…n-1得到神经网络模型更新后的激活函数f″(x):

p″n=1-(p″1+p″2+,…,+p″n-1)。

优选的,所述步骤s2中多个不同的基本激活函数通过以下方式进行组合得到神经网络模型的激活函数f(x):

σn(wnx)=1-(σ1(w1x)+σ2(w2x)+,…,+σn-1(wn-1x));

其中σi(wix),i=1,2,…n代表输入为wix的sigmoid函数,w1,w2,…,wn为各基本激活函数的组合系数,为各基本激活函数,n为组合的基本激活函数的个数。

更进一步的,所述步骤s3中神经网络模型的激活函数随着神经网络的迭代而进行更新的具体过程如下:

s31、首先通过反向传播的算法对当前各基本激活函数i的组合系数wi′,i=1,2,…n-1,进行参数更新,得到:

其中l为神经网络模型定义的损失函数;wi′当前各基本激活函数的组合系数,f′(x)为通过当前各基本激活函数的组合系数针对当前各基本激活函数组合得到的神经网络的激活函数;w″i为更新后的各基本激活函数i的组合系数;其中f′(x)为:

σn(wn′x)=1-(σ1(w1′x)+σ2(w2′x)+,…,+σn-1(w′n-1x));

其中σi(wi′x),i=1,2,…n代表输入为wi′x的sigmoid函数;

s32、根据上述更新后的各基本激活函数的组合系数w″i,i=1,2,…n-1得到神经网络模型更新后的激活函数f"(x):

σn(w″nx)=1-(σ1(w″1x)+σ2(w″2x)+,…,+σn-1(w″n-1x));

其中σi(w″ix),i=1,2,…n代表输入为w″ix的sigmoid函数。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明神经网络模型的激活函数通过多个不同的基本激活函数组合而生成,通过本发明方法获取到的激活函数改进了数据驱动的学习方式,提高了神经网络模型学习非线性变化的能力,并且使得神经网络模型在测试阶段能够对不同的输入作出不同响应,改进了神经网络使用单一种类激活函数存在的不足。另外本发明方法生成的神经网络模型的激活函数还随着神经网络的迭代而进行更新,具有更加灵活的形式,使得神经网络模型获取到更好合适且学习非线性变化能力更强的激活函数。

(2)本发明方法在基本激活函数组合过程中,通过根据神经网络模型不同的输入赋予各基本激活函数对应不同的权重,相当于由神经网络模型本身的输入确定出神经网络的最终激活函数,使得神经网络模型在测试阶段能够针对各个输入做出更加合适且准确的响应,进一步提到了神经网络模型应用的准确性。

附图说明

图1是本发明方法流程图。

图2是本发明方法实施例1中基本激活函数组合方式结构图。

图3是本发明方法实施例2中基本激活函数组合方式结构图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1

本实施例公开了一种神经网络模型的激活函数生成方法,如图1所示,步骤如下:

s1、选择多个不同的基本激活函数;本步骤中一般选择2~6个不同的基本激活函数;本实施例中基本激活函数可为sigmoid函数、tanh函数、relu函数、prelu函数、pelu函数或rrelu函数。本实施例中多个不同的基本激活函数为上述函数中的其中几个。

s2、将步骤s1中选择的多个不同的基本激活函数进行组合作为神经网络模型的激活函数。其中本步骤中多个不同的基本激活函数通过以下方式进行组合得到神经网络模型的激活函数f(x):

pn=1-(p1+,p2+,…,+pn-1);

其中p1,p2,…,pn是各基本激活函数的组合系数,其预先设置的范围为:0~1;为各基本激活函数,n为组合的基本激活函数的个数。如图2所示为本步骤中基本激活函数组合方式结构图。

s3、神经网络模型的激活函数随着神经网络的迭代通过反向传播的方式进行更新,具体更新过程如下:

s31、首先通过反向传播的算法对当前各基本激活函数i的组合系数pi′,i=1,2,…n-1进行参数更新,得到:

其中l为神经网络模型定义的损失函数;pi′当前各基本激活函数的组合系数,f′(x)为通过当前各基本激活函数的组合系数针对当前各基本激活函数组合得到的神经网络的激活函数;p″i为更新后的各基本激活函数i的组合系数;其中f′(x)为:

p′n=1-(p′1+p′2+,…,+p′n-1);

s31根据上述更新后的各基本激活函数的组合系数p″i,i=1,2,…n-1得到神经网络模型更新后的激活函数f″(x):

p″n=1-(p″1+p″2+,…,+p″n-1)。

实施例2

本实施例公开了一种神经网络模型的激活函数生成方法,步骤如下:

s1、选择多个不同的基本激活函数;本步骤中一般选择2~6个不同的基本激活函数;本实施例中基本激活函数可为sigmoid函数、tanh函数、relu函数、prelu函数、pelu函数或rrelu函数。

s2、将步骤s1中选择的多个不同的基本激活函数进行组合作为神经网络模型的激活函数。本步骤中多个不同的基本激活函数通过以下方式进行组合得到神经网络模型的激活函数f(x):

σn(wnx)=1-(σ1(w1x)+σ2(w2x)+,…+σn-1(wn-1x));

其中σi(wix),i=1,2,…n代表输入为wix的sigmoid函数,w1,w2,…,wn为各基本激活函数的组合系数,为各基本激活函数,n为组合的基本激活函数的个数。如图3所示为本步骤中基本激活函数组合方式结构图。

s3、神经网络模型的激活函数随着神经网络的迭代通过反向传播的方式进行更新,具体更新过程如下:

s31、首先通过反向传播的算法对当前各基本激活函数i的组合系数wi′,i=1,2,…n-1,进行参数更新,得到:

其中l为神经网络模型定义的损失函数;wi′当前各基本激活函数的组合系数,f′(x)为通过当前各基本激活函数的组合系数针对当前各基本激活函数组合得到的神经网络的激活函数;w″i为更新后的各基本激活函数i的组合系数;其中f′(x)为:

σn(wn′x)=1-(σ1(w1′x)+σ2(w2′x)+,…,+σn-1(w′n-1x));

其中σi(wi′x),i=1,2,…n代表输入为wi′x的sigmoid函数

s32、根据上述更新后的各基本激活函数的组合系数w″i,i=1,2,…n-1得到神经网络模型更新后的激活函数f"(x):

σn(w″nx)=1-(σ1(w″1x)+σ2(w″2x)+,…,+σn-1(w″n-1x));

其中σi(w″ix),i=1,2,…n代表输入为w″ix的sigmoid函数。

本实施例中上述步骤s2中的基本激活函数在组合过程中,根据神经网络模型不同的输入赋予各基本激活函数对应不同的权重,相当于由神经网络模型本身的输入确定出神经网络的最终激活函数,使得神经网络模型在测试阶段能够针对各个输入做出更加合适且准确的响应,进一步提到了神经网络模型应用的准确性。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1