斗门网站建设,api快速开发平台,wordpress 个性图标,联合易网北京网站建设公司怎么样最近一边应付工作#xff0c;一边在补足人工智能的一些基础知识#xff0c;这个方向虽然新兴#xff0c;但已是卷帙浩繁#xff0c;有时不知从何入手#xff0c;幸亏有个适合基础薄弱的人士学习的网站#xff0c;每天学习一点#xff0c;积跬步以至千里吧。有像我一样学…最近一边应付工作一边在补足人工智能的一些基础知识这个方向虽然新兴但已是卷帙浩繁有时不知从何入手幸亏有个适合基础薄弱的人士学习的网站每天学习一点积跬步以至千里吧。有像我一样学习需求的同学可以访问人工智能教程从AI基础讲起通俗易懂风趣幽默步步深入非常适合初学者。
有输入有输出才能高效学习今天就针对常用的激活函数来整理一份学习笔记。
我们知道如果没有激活函数那么神经网络层数再多都只能处理线性问题对于非线性问题则无能为力。激活函数则是通过引入非线性使得网络具备处理复杂问题的能力。也正是由于激活函数具备非线性特点那么网络的层数越多所能表达的曲线也就能越复杂。
那么有哪些常用的激活函数呢
1. Sigmoid函数
sigmoid函数的公式和图形如下 sigmoid函数的输出值在0~1之间非常适合在二分类如图像中是否存在人问题中应用例如输出为0.8表示80%的概率有人为0则表示完全没有人。
与sigmoid类似的还有一个hard sigmoid如下 但由于该函数在梯度的反向传播时容易产生梯度消失因此除了在二分类问题中使用在其他问题中使用较少了。
2. Tanh函数
tanh函数的公式和图形如下 tanh和sigmoid形状是一样的但输出范围在-1~1之间解决了sigmoid函数非zero-centered输出的问题这使得tanh比sigmoid函数更加高效。但该函数和sigmoid函数一样在输入数据绝对值较大时由于梯度越来越小学习速度就会很慢。
与tanh类似的还有一个hard tanh函数 3. ReLU函数
sigmoid和tanh有一个共同的缺点就是当输入数据的绝对值比较大时神经网络的学习速度就会很慢。这是因为学习速度跟激活函数的偏导数(斜率)有关偏导数越大学习速度就越快。而sigmoid和tanh在输入绝对值越来越大时斜率越来越小直至变为0。因此学界又提出了一个新的激活函数——ReLURectified Linear Unit即整流线性单元。 该激活函数目前被广泛使用它具有非线性的特性并且不会同时激活所有的神经元在输入为负值的情况下会输出0也就是说有部分神经元不会被激活从而使得网络变得稀疏这对计算是非常有效率的。
ReLU的公式f(x) max(0, x) 图形如下 4. Leaky Relu函数
从ReLU的图形可以看出当输入大于0时ReLU的斜率较大而当输入小于0时则没有斜率。虽然在实际应用中大多数输入数据都大于0但为了解决斜率为0的问题人们又提出了另外一个激活函数——Leaky ReLU该函数最大的有点就是将0梯度去掉代之以一个较小的非零梯度。
Leaky ReLU的函数和图形如下 0.1也可以根据需要换成其他系数如0.01等。
5. Softmax函数
Softmax是另一种Sigmoid函数所不同的是Sigmoid只能处理二分类问题而Softmax是将输出结果映射到0~1之间可以处理多分类问题。Softmax的公式如下 那么如果某个输出结果是[1.2,0.9,0.75] 使用Softmax之后结果就变成[0.42,0.31,0.27]这组数据可以表示输入数据对应的三个类别的概率。
6. 其他激活函数
除了以上常用的几个激活函数还有其他的一些激活函数大多是ReLU的变体列举如下。
(1) CeLUContinuously Differentiable Exponential Linear Units连续可微指数线性单元 (2) ELUExponential Linear Unit activation function指数线性单元激活函数 (3) GELUGaussian error linear unit activation function高斯误差线性单元激活函数 其中P是标准高斯分布的累积分布函数。 (4) SeLUScaled exponential Linear Unit 参考资料MindSpore 文档