深入探讨激活函数在神经网络中的应用
创作时间:
作者:
@小白创作中心
深入探讨激活函数在神经网络中的应用
引用
CSDN
1.
https://blog.csdn.net/weixin_55939638/article/details/145310964
激活函数是神经网络的关键组成部分,而神经网络又是机器学习的重要板块。神经网络由多个神经层构成,每一层都可看作数学表达式O = w*x + b,这里的 x 是前一层的结果, 是w当前层权重, b是偏置。从这个表达式看,神经网络似乎是一个线性表达式(函数图像类似一条直线),即便有多层,如
表达式依然是线性的。但激活函数能将线性表达式非线性化,这对神经网络学习复杂数据模型至关重要。
接下来,我们从激活函数的数学原理出发,详细剖析几种常见激活函数的优缺点。
1.Sigmoid 激活函数
Sigmoid函数是最早应用于神经网络中的激活函数之一。它的输出范围限定在 0 到 1 之间,因此非常适合用来表示概率,特别是在二分类问题中。
优点:
- 归一化输出:Sigmoid 的输出在 0 到 1 之间,非常适合表示概率。
- 平滑梯度:Sigmoid 的梯度非常平滑,有助于避免输出值的剧烈跳跃。
- 可微性:Sigmoid 是可微的,这使得我们能够计算其梯度,并应用反向传播算法。
- 明确的预测:输出值接近于 1 或 0,因此可以做出非常明确的决策。
缺点:
- 梯度消失:当输入值非常大或非常小时,Sigmoid 的梯度接近于零,这导致梯度消失问题,进而使得网络训练变得非常缓慢。
- 非零中心:由于 Sigmoid 输出不是以 0 为中心,这会影响梯度下降的效率,降低权重更新的效率。
在训练过程中,我们根据损失函数计算梯度来更新权重。权重更新公式一般为
当 Sigmoid 函数输出不是以 0 为中心时,比如其输出值都在 0 - 1 之间,为正值。
在计算梯度时,由于梯度的计算依赖于前一层的输出,这就导致梯度也会一直是正值(或者在某些情况下一直是负值)。
这就好比你在爬山(寻找损失函数的最小值,即山底),正常情况下你应该可以向左、向右、向上、向下各个方向探索来找到最快下山的路径,但现在因为梯度方向单一,你只能朝着一个方向移动,这样就很难找到最优路径,可能一直在山上绕圈子,需要花费更多的步数(迭代次数)才能到达山底。
例如,假设当前权重 应该在某个维度上,根据数据特征,需要一部分增加,一部分减少来更好地拟合数据。但由于 Sigmoid 输出非零中心导致梯度方向单一,只能进行单一方向的权重调整,无法全面地根据数据需求调整权重,从而大大影响了权重更新的效率,使得训练过程变得缓慢。 - 计算开销大:由于 Sigmoid 函数包含指数运算,因此计算效率较低,尤其在大型神经网络中可能会成为瓶颈。
2.tanh 激活函数
tanh 函数,即双曲正切函数,其数学表达式为 ,它的输出范围是 -1 到 1,是以 0 为中心的。
优点
- 解决 Sigmoid 非零中心问题:由于输出以 0 为中心,在梯度下降过程中,权重更新方向相对更合理,能一定程度上提升训练效率,比 Sigmoid 函数更适合作为隐藏层的激活函数。
- 某些需要正负反馈的模型:在一些需要对数据特征进行正负区分和反馈的模型中,tanh 函数可以更好地表达数据的特性。
缺点
- 梯度消失:和 Sigmoid 函数类似,tanh 函数在输入值较大或较小时,导数也趋近于 0 。在深层神经网络中,经过多层反向传播后,梯度同样会逐渐消失,导致权重更新缓慢,影响模型的训练效果。
- 计算复杂度较高:虽然相比 Sigmoid 函数有所优化,但 tanh 函数仍涉及指数运算,在大规模数据计算时,计算效率不如一些线性激活函数,如 ReLU,这会增加模型的训练时间。
3.ReLU 激活函数
ReLU(Rectified Linear Unit)函数是深度学习中最常用的激活函数之一。相比于 Sigmoid 和 Tanh,ReLU 的计算效率更高,且能够避免梯度消失问题。
优点:
- 避免梯度消失:当输入为正值时,ReLU 的梯度始终为 1,不会像 Sigmoid 那样发生梯度消失,因此训练速度较快。
- 计算效率高:ReLU 只进行线性变换,因此其计算速度远高于 Sigmoid 和 Tanh。
缺点: - Dead ReLU 问题:当输入为负时,ReLU 的输出恒为 0,这可能导致部分神经元在训练过程中“死亡”,即这些神经元无法更新,无法对网络的学习产生贡献。
- 非零中心:ReLU 的输出值为 0 或正数,因此它不是以 0 为中心的,可能影响网络的学习效率。
4.Softmax 激活函数
Softmax激活函数通常用于多分类问题的输出层。它将一个实数向量转换为一个概率分布,使得每个类别的概率值位于 0 和 1 之间,并且所有类别的概率总和为 1。
优点:
- 适用于多分类问题:Softmax 可以将多个类别的输出值转化为概率分布,适合于处理多分类任务。
- 归一化效果:Softmax 确保所有类别的输出值总和为 1,使得它们可以作为概率进行解释。
缺点: - 计算开销大:对于大规模分类问题,Softmax 需要计算所有类别的指数,这可能导致较高的计算开销。
- 梯度消失:当某些类别的概率接近 0 或 1 时,Softmax 的梯度可能会变得非常小,导致梯度消失问题。
激活函数
在神经网络中起着至关重要的作用。它们通过非线性变换为神经网络引入了复杂的学习能力,帮助网络解决实际问题。不同的激活函数适用于不同的任务,例如,Sigmoid 适合于概率预测,ReLU 适合于深度网络,Softmax 则是多分类问题的理想选择。然而,每种激活函数都有其优缺点,选择合适的激活函数对于网络的性能和训练效率至关重要。
热门推荐
尊记教你如何挑选和烹饪大闸蟹
如何安慰情绪低落的人?
茶子鱼教你用Procreate画逼真玉兰花
冬季养玉兰花的小窍门
打造白玉兰主题花园,美出新高度!
四川年夜饭上少不了的8道菜,无论家庭贫富,总会有几道菜上桌
牛肉的家常做法是什么?嫩滑牛肉轻松做,家常美味小技巧!
鸡蛋酱油拌饭的5种神仙吃法,总有一款让你胃口大开!
生蛋拌饭真的不健康吗?一文读懂鸡蛋的正确食用方式
虾皮补钙新吃法:磨成粉更健康!
狼人杀攻略:角色技能介绍及详细解读
王者荣耀马超技能怎么搭配?装备推荐是什么?
苏州必打卡美食地图:拙政园、平江路、山塘街
苏州必打卡!博物馆+园林+古街路线推荐
一水一石见匠心:拙政园与留园的历史文化探秘
苏州一日游打卡园林古迹东北街!
做肠镜能走医保
淮南王刘安与豆腐脑的千年情缘
早餐吃豆腐脑,营养美味又养胃!
杭州十大特产:从丝绸到龙井,品味江南水乡的匠心传承
浙江宁波 “共富工坊”办得好 架起百姓“致富桥”
东海虾皮 vs 渤海虾皮:谁更优?
虾皮炒饭火了!简单又营养,5分钟就能做好
果酒制作全攻略:注意事项与保质期揭秘
邂逅果酒的美好:一次不一样的饮酒体验
欧美娱乐化、韩国职业化,中国也有自己的电竞魅力
抗氧化剂大比拼:咖啡 vs 茶,谁更胜一筹?
茶与咖啡:心理健康影响大不同
如何开展投资项目风险管理
春节前夕,如何保护家人免受烟花伤害?