【神经网络】**函数
每个神经元模型包含一个input,一个output和一个权值以及一个处理单元。神经元输入的信号流即xi被认为是单向的,神经元输出信号是由**函数f=func(z)处理后的。
1.1基础概念
1.1.1常见的**函数h:
输出层:等值函数,softmax,sigmoid
输入层:tanh,relu,sigmoid
1.1.2以下是**函数在运用中所需要得性质:
1.1.2.1饱和
当一个**函数h(x)满足以下条件,n趋于正无穷,称为右饱和:
当一个**函数h(x)满足以下条件,n趋于负无穷,称为左饱和:
当一个**函数,既满足左饱和又满足又饱和时,我们称之为饱和。
1.1.2.2硬饱和与软饱和
对任意的x,如果存在常数c,当x>c时恒有h′(x)=0则称其为右硬饱和,当x<c时恒有h′(x)=0则称其为左硬饱和。若既满足左硬饱和,又满足右硬饱和,则称这种**函数为硬饱和。
1.2典型的**函数
1.2.1sigmoid()
函数对应的图像是:
优点:
1.Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可以用作输出层。
2.求导容易。f(x)'=(1-f(x))*f(x)
缺点:
1.由于其软饱和性,容易产生梯度消失,导致训练出现问题。
2.其输出并不是以0为中心的。
1.2.2tanh函数
函数位于[-1, 1]区间上,对应的图像是:
优点:1.比Sigmoid函数收敛速度更快。2.相比Sigmoid函数,其输出以0为中心。
缺点:还是没有改变Sigmoid函数的最大问题——由于饱和性产生的梯度消失。
sigmoid函数可以很容易地应用在训练过程中。然而,当你想要处理分类问题时,他们却无能为力。简单地说,sigmoid函数只能处理两个类,这不适用于多分类的问题。所以softmax可以有效解决这个问题。并且softmax函数很多情况都运用在shenjingwanglu神经网路中的最后一层网络中,使得值得区间在0,1之间,而不是二分类的。
1.2.3ReLU
对应的图像是:
优点:
1.相比起Sigmoid和tanh,ReLU在SGD中能够快速收敛。
2.Sigmoid和tanh涉及了很多很expensive的操作(比如指数),ReLU可以更加简单的实现。
3.有效缓解了梯度消失的问题。
4.在没有无监督预训练的时候也能有较好的表现。
5.提供了神经网络的稀疏表达能力。
缺点:
随着训练的进行,可能会出现神经元死亡,权重无法更新的情况。如果发生这种情况,那么流经神经元的梯度从这一点开始将永远是0。也就是说,ReLU神经元在训练中不可逆地死亡了。
1.2.4LReLU、PReLU与RReLU
无论是ReLU,ELU还是Softmax,tanh or sigmod,每个函数都有自身的优点以及缺点。如何将使得自己的网络能够获取更高的准确性,需要根据不同的需求(如计算量,或梯度变化)等来进行选择。