q1:激活函数是干嘛的?
q2:激活函数有哪些分类?
q3:现在最好用的激活函数是哪些?为什么好用?
--------------------------------------------
区别深度学习(神经网络)和传统算法最主要区别(首要区别)在于:神经网络有激活函数。接下来的讲解回答以上三个问题。
问题1:激活函数是一个阀门,选择是否传递信息。
生病了去医院看病,检查报告里面上百项指标,但跟病情相关的通常只有那么几个;
学习机器学习我们用的是左脑,唱歌画画我们用的是右脑。
也就是说,当我们在进行运算或者欣赏时,或者分析文档(病历、书籍)都会有一部分神经元处于激活或是抑制状态,可以说是大脑各部分都是各司其职。与之类似,当训练一个深度分类模型的时候,和目标相关的特征往往也就那么几个,因此通过激活函数的神经网络模型能够更好地挖掘相关特征,拟合训练数据。
激活函数决定是否传递信号,这就是他最核心的作用。在这种情况下,只需要带有一个参数(阈值)的简单阶梯函数。现在,当我们学习了一些新的东西(或未学习到什么)时,一些神经元的阈值和突触权值会发生改变。这使得神经元之间产生新的连接,大脑学会新的东西。
问题2:激活函数分两类:线性和非线性(但是没有人用线性激活)
性激活函数:这是一种简单的线性函数,公式为:f(x) = x。基本上,输入到输出过程中不经过修改。
非线性激活函数:用于分离非线性可分的数据,是最常用的激活函数。非线性方程控制输入到输出的映射。非线性激活函数有 Sigmoid、Tanh、ReLU、LReLU、PReLU、Swish 等。下文中将详细介绍这些激活函数。
假设下图中的隐藏层使用的为线性激活函数(恒等激活函数),也就是说 g(z)=zg(z)=z 。
可以看出,当激活函数为线性激活函数时,输出 y^不过是输入特征 x的线性组合(无论多少层),而不使用神经网络也可以构建这样的线性组合。而当激活函数为非线性激活函数时,通过神经网络的不断加深,可以构建出各种有趣的函数。
相反如果使用非线性函数,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
问题3:现在最好的非线性是GELU,就用这个!
激活函数的类型有很多,有很多人介绍细节和用法,再次就不叙述了。只说一个最基本的sigmoid和GELU
(1)sigmoid:在逻辑回归中我们介绍过sigmoid函数,该函数是将取值为 (−∞,+∞)(−∞,+∞) 的数映射到 (0,1)(0,1) 之间。sigmoid函数的公式以及图形如下:
不管输入是什么,得到的输出都在 0 到 1 之间。也就是说,你输入的每个神经元、节点或激活都会被缩放为一个介于 0 到 1 之间的值。
对于sigmoid函数的求导推导为:
sigmoid函数作为非线性激活函数,但是其并不被经常使用,它具有以下几个缺点:
当 z 值非常大或者非常小时,通过上图我们可以看到,sigmoid函数的导数 g′(z)将接近 0 。这会导致权重 W 的梯度将接近 0,使得梯度更新十分缓慢,即梯度消失。(这个问题后期会详细讲解)
函数的输出不是以0为均值,将不便于下层的计算,具体可参考引用1中的课程。sigmoid函数可用在网络最后一层,作为输出层进行二分类,尽量不要使用在隐藏层。
(2)GELU:高斯误差线性单元激活函数在最近的 Transformer 模型(谷歌的 BERT 和 OpenAI 的 GPT-2)中得到了应用。GELU 的论文来自 2016 年,但直到最近才引起关注。这种激活函数的形式为:
看得出来,这就是某些函数(比如双曲正切函数 tanh)与近似数值的组合。没什么过多可说的。有意思的是这个函数的图形:
可以看出,当 x 大于 0 时,输出为 x;但 x=0 到 x=1 的区间除外,这时曲线更偏向于 y 轴。我没能找到该函数的导数,所以我使用了 WolframAlpha 来微分这个函数。结果如下:
和前面一样,这也是双曲函数的另一种组合形式。但它的图形看起来很有意思:
优点:似乎是 NLP 领域的当前最佳;尤其在 Transformer 模型中表现最好;能避免梯度消失问题。
缺点:尽管是 2016 年提出的,但在实际应用中还是一个相当新颖的激活函数。
-------------------------------------------------------------
参考:
https://www.cnblogs.com/ya-qiang/p/9258714.html
https://zhuanlan.zhihu.com/p/98863801
https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650732724&idx=4&sn=5230b8bb1811cda38ab97afb417d1613&chksm=871b3ccab06cb5dcdf0bdfadcc7ae85d8ae95588bed0b884a55ba50b76d541771104675fbb3e&scene=21#wechat_redirect
https://blog.csdn.net/kangyi411/article/details/78969642