神经网络中常见的激活函数Sigmoid、Tanh和ReLU
创作时间:
作者:
@小白创作中心
神经网络中常见的激活函数Sigmoid、Tanh和ReLU
引用
CSDN
1.
https://m.blog.csdn.net/csblog/article/details/144156653
激活函数是神经网络中的关键组件,它们决定了神经元的输出是否应该被激活以及如何非线性地转换输入信号。不同的激活函数适用于不同的场景,选择合适的激活函数可以显著影响模型的性能和训练效率。本文将详细介绍三种常见的激活函数:Sigmoid、Tanh和ReLU,帮助读者更好地理解它们的特点和应用场景。
1. Sigmoid 激活函数
公式:
图像:
特点:
- 输出范围:(0, 1),将输入压缩到0到1之间。
- 用途:常用于二分类问题中的输出层,因为它的输出可以解释为概率值(0表示负类,1表示正类)。
- 优点:
- 输出具有良好的可解释性,适合用于需要概率输出的任务。
- 缺点:
- 梯度消失问题:当输入较大或较小时,Sigmoid 函数的导数接近于0,导致反向传播时梯度几乎为零,使得权重更新非常缓慢,甚至停止更新。这在深度网络中尤为严重。
- 非零中心化:Sigmoid 函数的输出不是以0为中心的,这会导致后续层的权重更新方向不一致,影响训练效率。
应用场景:
- 二分类问题的输出层。
- 逻辑回归模型。
2. Tanh (双曲正切) 激活函数
公式:
图像:
特点:
- 输出范围:(-1, 1),将输入压缩到-1到1之间。
- 用途:常用于隐藏层,尤其是在早期的神经网络中。它比 Sigmoid 更加对称,且输出是以0为中心的。
- 优点:
- 零中心化:Tanh 的输出是零中心化的,这有助于加速收敛,因为后续层的权重更新方向更加一致。
- 更好的梯度传播:相比 Sigmoid,Tanh 在输入接近0时的导数更大,因此梯度消失问题稍微缓解。
- 缺点:
- 仍然存在梯度消失问题:虽然比 Sigmoid 稍好,但在输入较大或较小时,Tanh 的导数也会接近0,导致梯度消失。
应用场景:
- 隐藏层,尤其是浅层神经网络。
- RNN(循环神经网络)中,Tanh 是常用的激活函数,因为它可以帮助控制信息的流动。
3. ReLU (Rectified Linear Unit) 激活函数
公式:
图像:
特点:
- 输出范围:[0, +∞),当输入为正时,输出等于输入;当输入为负时,输出为0。
- 用途:广泛应用于现代深度学习模型的隐藏层,尤其是在卷积神经网络(CNN)和全连接网络中。
- 优点:
- 避免梯度消失问题:对于正输入,ReLU 的导数为1,因此不会出现梯度消失问题。这使得 ReLU 在深层网络中表现良好,能够加速训练。
- 计算简单:ReLU 的计算非常简单,只需判断输入是否大于0,因此计算效率高。
- 稀疏性:ReLU 会将负输入直接设为0,这有助于引入稀疏性,减少模型的复杂度。
- 缺点:
- 死亡 ReLU 问题:当输入为负时,ReLU 的导数为0,导致该神经元在反向传播时不再更新权重。如果大量神经元进入“死亡”状态,模型可能会失去表达能力。为了解决这个问题,通常使用改进版的 ReLU,如 Leaky ReLU 或 Parametric ReLU。
- 非零中心化:ReLU 的输出是非零中心化的,这可能会导致后续层的权重更新方向不一致。
改进版本:
- Leaky ReLU:为了解决死亡 ReLU 问题,Leaky ReLU 在负输入时赋予一个很小的斜率(通常是0.01),而不是直接设为0。
[
\text{Leaky ReLU}(x) = \max(\alpha x, x), \quad \text{其中} ; 0 < \alpha \ll 1
] - Parametric ReLU (PReLU):Leaky ReLU 的斜率是固定的,而 PReLU 的斜率是一个可学习的参数,可以在训练过程中自动调整。
[
\text{PReLU}(x) = \max(\alpha_i x, x), \quad \text{其中} ; \alpha_i ; \text{是每个神经元的可学习参数}
] - Exponential Linear Unit (ELU):ELU 在负输入时使用指数函数来平滑过渡,避免了死亡 ReLU 问题,并且输出是零中心化的。
[
\text{ELU}(x) =
\begin{cases}
x & \text{if} ; x > 0 \
\alpha (e^x - 1) & \text{if} ; x \leq 0
\end{cases}
]
应用场景:
- 隐藏层,尤其是深度神经网络(DNN)、卷积神经网络(CNN)和生成对抗网络(GAN)。
- 由于其出色的性能和计算效率,ReLU 及其变体已成为现代深度学习模型中最常用的激活函数之一。
总结
激活函数 | 输出范围 | 优点 | 缺点 | 应用场景 |
---|---|---|---|---|
Sigmoid | (0, 1) | 输出具有概率意义 | 梯度消失,非零中心化 | 二分类问题的输出层,逻辑回归 |
Tanh | (-1, 1) | 零中心化,更好的梯度传播 | 梯度消失 | 隐藏层,RNN 中 |
ReLU | [0, +∞) | 避免梯度消失,计算简单,引入稀疏性 | 死亡 ReLU 问题,非零中心化 | 隐藏层,DNN、CNN、GAN |
选择激活函数的建议:
- Sigmoid:主要用于二分类问题的输出层,尤其是在需要概率输出的情况下。
- Tanh:适用于隐藏层,尤其是浅层网络或 RNN 中。它比 Sigmoid 更加对称,有助于加速收敛。
- ReLU:是现代深度学习模型中最常用的激活函数,尤其适用于隐藏层。如果你遇到死亡 ReLU 问题,可以尝试使用 Leaky ReLU 或 PReLU。
热门推荐
春捂秋冻≠乱穿衣!这份养生指南让你健康一整年!
马蹄莲怎么养,保证充足的水肥和适宜的光温
AI洗稿会进一步污染中文互联网吗?
2025单招考前备考指导:全方位复习攻略汇总
福山咖啡文化风情镇:品味海南咖啡的独特韵味☕
男性饮用豆浆指南:适量有益,过量需谨慎
“玄关有花鸟,日子越红火”,3种吉祥画,为了好兆头也要挂一幅
理发店最怕什么投诉才会退款
资产的定义及属性
C1升B1驾照需要什么条件?一文详解驾照升级政策
科举制度的完善对教育发展有什么作用?
水泥325和425有什么区别
M型脱发能恢复吗?治疗方法全解析
18强赛第7轮赛程出炉!国足赢球=破魔咒,央视5套新节目单
产业促增收 乡村展新颜——广西玉林乡村振兴走访见闻
RSV A和RSV B亚型有何不同?从结构到免疫的全面解析
自吸+手动,这7款经典车型,哪款对你还有吸引力?
专印合禄格三命通会:如何解读这一命理格局
【实用知识】这些中草药的驱蚊效果真的惊艳到你了吗?
腰椎间盘突出的自我疗法
提升店铺吸引力的橱窗陈列技巧与策略
马蹄莲:挺秀雅致的观赏花卉
私人数控机床租赁合同:法律框架与实务指南
电热水器里的「镁棒」有什么用?防漏电?防水垢?答案:都不对
用Notion搭建人生操作系统
住房装修合同简洁版:必备条款与签订指南
PMP考试报名流程的5个关键步骤
华北电力大学打造自适应悬挂系统四轮移动机器人 复杂地形下稳定性表现出色
电动车电池寿命延长策略及维护指南
走读式谈话安全课件