深度学习中常见的激活函数

1. Sigmoid函数

  • 范围:输出值在0到1之间。
  • 导数
  • 优点:简单直观,适用于二分类问题的输出层。
  • 缺点:在输入值较大或较小时,梯度会变得非常小(梯度消失),这会导致深层网络训练困难。同时,Sigmoid函数的输出不是以0为中心的,这可能会导致梯度下降过程中的不稳定。

应用场景:常用于二分类问题的输出层,早期的全连接层中也会使用。

2. Tanh(双曲正切函数)

  • 范围:输出值在-1到1之间。
  • 导数
  • 优点:相比Sigmoid,tanh函数的输出以0为中心,这有助于梯度的传播。对于输入值较小或较大的情况,梯度的消失问题相对较轻。
  • 缺点:当输入值非常大或非常小时,tanh函数的梯度仍然会接近于零(梯度消失)。

应用场景:适用于中间层的激活函数,尤其是在需要负值和正值的情况中。

3. ReLU()激活函数

  • 范围:输出值在0到正无穷之间。
  • 导数
  • 优点:计算简单,梯度计算效率高,减少了梯度消失的问题,有助于加速网络的收敛。
  • 缺点:可能导致"死亡神经元"问题,即大量神经元输出恒为0,无法进行有效的训练。

应用场景:广泛应用于隐藏层的激活函数,是现代深度学习模型中的默认选择。

相关推荐
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 Agent Builder 的 A2A 实现 - 开发者的圣诞颂歌
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
chools2 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
郝学胜-神的一滴3 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习
leobertlan3 小时前
好玩系列:用20元实现快乐保存器
android·人工智能·算法
笨笨饿3 小时前
#58_万能函数的构造方法:ReLU函数
数据结构·人工智能·stm32·单片机·硬件工程·学习方法
jr-create(•̀⌄•́)3 小时前
从零开始:手动实现神经网络识别手写数字(完整代码讲解)
人工智能·深度学习·神经网络
冬奇Lab3 小时前
一天一个开源项目(第78篇):MiroFish - 用群体智能引擎预测未来
人工智能·开源·资讯
冬奇Lab4 小时前
你的 Skill 真的好用吗?来自OpenAI的 Eval 系统化验证 Agent 技能方法论
人工智能·openai
数智工坊4 小时前
Transformer 全套逻辑:公式推导 + 原理解剖 + 逐行精读 - 划时代封神之作!
人工智能·深度学习·transformer
GreenTea4 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端