当前位置: 首页 > news >正文

认知篇#5:什么是激活函数?激活函数有什么用?几个简单激活函数的简介(1)

一、什么是激活函数

很多人都用人的神经元来模拟神经网络算法的信息传递:

这样对应着看,仿佛X1,X2,X3是从别的神经元传来的信号,W11,W12的权重类似突触和神经递质。激活函数在这里就充当了神经细胞的轴突,对信号做输出前的最后处理。

具体来说,神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。 

二、激活函数的作用

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

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

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

 三、激活函数的条件

是谁都可以当激活函数吗?不是的。激活函数必须满足四个条件:

  1. 非线性,这样增加网络的深度才有意义

  2. 可导的,不然怎么做梯度下降

  3. 易于计算

  4. 输出空间最好是有限的(非必要,如ReLU)

四、常见激活函数介绍 

 1、Sigmoid

表达式如下:

 

它能够把输入的连续实值变换为0和1之间的输出,特别的,当x的值趋近负无穷的时候,y趋近于0;x趋近于正无穷的时候,y趋近于1。在 [−2,2]  区间内,梯度变化比较明显,即x发生很小的变化,y变化的也比较明显。适用于简单的分类任务

缺点反向传播训练时有梯度消失的问题;输出值区间为(0,1),关于0不对称;梯度更新在不同方向走得太远,使得优化难度增大,训练耗时费力。

2、Tanh

 

看起来跟Sigmoid很像,但很明显导数更陡峭。它的公式如下:

仔细看可以发现,Tanh跟Sigmoid只是形状比较像,但它是关于x轴对称的,解决了Sigmoid输出值非零对称的问题。并且它比Sigmoid更快更易收敛

缺点:反向传播梯度消失,或者说叫梯度弥散

3、ReLU

这个用的就多了

它的公式如下:

 

它会比前两个更加有棱有角一点。

ReLu有以下几大优点:
1) 解决了gradient vanishing梯度消失问题 (在正区间)
2) 计算速度非常快,只需要判断输入是否大于0
3) 梯度不饱和,收敛速度远快于sigmoid和tanh 

缺点: 

训练时可能出现神经元死亡。即Dead ReLU Problem,指的是某些神经元可能永远不会被激活,导致相应的参数永远不能被更新,影响网络收敛。

4、Leaky ReLU 

ReLU的升级版。

它的公式如下:

 

Leaky ReLU 也能避免死亡 ReLU 问题,因为其在计算导数时允许较小的梯度;

缺点无法为正负输入值提供一致的关系预测(不同区间函数不同)。且无法避免梯度爆炸问题。

五、激活函数的简单应用  

如图中这样的一个过程,公式如下:

 

 如图中这样的一个过程,公式如下:

 

六、总结:

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

七、参考文章

激活函数全解析-CSDN博客 

相关文章:

  • 连续型随机变量及其分布
  • AI Agent战国时代:Manus挑战者的破局之道与技术博弈
  • java江湖系列——集合世家争霸(下)
  • Redis集群模式(优缺点)
  • Flink基础简介和安装部署
  • playwright-go实战:自动化登录测试
  • 1. 找不能被3、5和7整除的数并存入列表。
  • C++常见问题与思考
  • Keil5调试技巧
  • olmOCR模型论文解读
  • c++(哈希以及封装)
  • ⭐算法OJ⭐判断二叉搜索树【树的遍历】(C++实现)Validate Binary Search Tree
  • 算法-最大公约数
  • 计算机二级(MS Office高级应用)知识点总结
  • 轴承的结构参数以及特征频率的计算
  • Transformer中,Fisher矩阵与权重之间关系
  • linux命令行工具进阶
  • HTTP状态码全解析
  • kubernetes|云原生|kubeadm-1.25.7集群单master+外部etcd集群+kubeadm-init+cri-docker文件形式快速部署
  • 基于概率图模型的蛋白质功能预测
  • 李乐成任工业和信息化部部长
  • 吴志朴当选福建德化县人民政府县长
  • 向总书记汇报具身智能发展的“稚辉君”:从期待到兴奋再到备受鼓舞
  • 160名老人报旅行团被扔服务区?张家界官方通报
  • 新加坡选情渐热:播客、短视频各显神通,总理反对身份政治
  • 中国太保一季度净赚96.27亿元降18.1%,营收同比下降1.8%