上次介绍了几种常见的激活函数,但没介绍完,这次把剩下的几个补上:

认知篇#5:什么是激活函数?激活函数有什么用?几个简单激活函数的简介(1)_激活函数与轴突-CSDN博客

〇、前情提要

        激活函数在神经网络中扮演着至关重要的角色,它通过控制信号的大小和增强网络的表达能力,帮助神经网络处理复杂的非线性问题。激活函数的引入能够防止神经网络仅表现为线性模型,进而提升深层网络的表现力。常见的激活函数包括Sigmoid、Tanh、ReLU和Leaky ReLU,每种函数都有其独特的优缺点。例如,Sigmoid适用于简单的分类任务,但容易出现梯度消失问题;Tanh解决了Sigmoid非零对称的问题,但同样存在梯度消失问题;ReLU通过解决梯度消失问题,显著提高了训练速度,但也可能导致神经元死亡;Leaky ReLU则在一定程度上解决了神经元死亡的问题,但仍存在梯度爆炸的风险。选择适当的激活函数对于提升神经网络的训练效果和优化性能至关重要。 

一、激活函数的作用

在图示简单网络中,我们可以把每一次链接当作一次计算,记作h(x),这里我们考虑把线性函数h(x)=cx,当x的输入很大时,y的输出也是无限大小的,经过多层网络叠加后,值更加膨胀的没边了,这显然不符合我们的预期,很多情况下我们希望的输出是一个概率。

因此激活函数的第一个作用就是控制变量的大小。 

第二,如果没有激活函数,那么整个网络相当于是线性的,线性的网络表达能力有限。因此激活函数的第二个作用就是使深层神经网络表达能力就更加强大

二、剩余激活函数的介绍 

1、PReLU (参数化修正线性单元)

类似于Leaky ReLU

 

从图片和公式就可以看出来PReLU和Leaky ReLU都是ReLU激活函数的一个变体,解决的都是神经死亡的问题

2、RReLU(随机修正线性单元)

 
从公式和图可以看出,RReLU的负值的斜率α在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,αij是从一个均匀分布U(I,u)中随机抽取的数值。测试阶段,最终的α为(l+u)/2

3.ELU(指数线性单元)

 

导数:

ELU也是为了解决ReLU存在的问题而提出的。

优点:

(1)当x>0时不存在“梯度消失”问题(梯度饱和问题)

(2)当x<0时不存在神经元死亡现象

(3)输出的均值接近0,zero-centered

缺点:

(1)幂运算计算量稍大.

(2)α需要依据先验经验进行选择

(2)理论上由于ReLU,但是实际使用中并没有好的证据证明ELU总是优于ReLU.

4.SELU(缩放指数线性单元)

 

SELU的正半轴大于1,在方差过小的时候可以让它增大,同时防止了梯度消失。这样激活函数就有了一个不动点,网络深了以后每一层的输出都是均值为0和方差为1

5.Maxout

 

maxout是深度学习网络中的一层网络,类似于池化层、卷积层一样,这里即是将maxout看成网络的激活层函数,假设网络的某一层的输入特征为:X=(x1,x2,...,xd),输入神经元为d个 

优点

(1)计算简单

(2)不会出现“梯度消失”现象

(3)不会出现节点死亡现象

缺点

增加了网络的复杂程度,计算效率低

三、总结

激活函数在神经网络中发挥着至关重要的作用,不仅能够处理复杂的非线性问题,还能提升网络的表达能力。通过引入激活函数,神经网络能够避免仅呈现为线性模型,从而有效提升其性能。常见的激活函数包括Sigmoid、Tanh、ReLU、Leaky ReLU等,它们各有优缺点,并适用于不同的场景。为了进一步优化神经网络性能,新的激活函数如PReLU、RReLU、ELU、SELU和Maxout等相继被提出,这些函数解决了传统激活函数中的一些问题,如梯度消失、神经元死亡等。通过灵活选择和组合激活函数,能够更好地提升神经网络在复杂任务中的表现能力,推动深度学习技术的不断进步。

四、参考文章

机器学习 | 算法模型 —— 常用激活函数(sigmod,Tanh,ReLU,LReLU,PReLU,RReLU,softmax,Maxout)-CSDN博客 激活函数全解析-CSDN博客

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐