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

常用激活函数整理

最近一边应付工作,一边在补足人工智能的一些基础知识,这个方向虽然新兴,但已是卷帙浩繁,有时不知从何入手,幸亏有个适合基础薄弱的人士学习的网站,每天学习一点,积跬步以至千里吧。有像我一样学习需求的同学,可以访问:人工智能教程,从AI基础讲起,通俗易懂,风趣幽默,步步深入,非常适合初学者。

有输入有输出才能高效学习,今天就针对常用的激活函数来整理一份学习笔记。 

我们知道,如果没有激活函数,那么神经网络层数再多,都只能处理线性问题,对于非线性问题则无能为力。激活函数则是通过引入非线性,使得网络具备处理复杂问题的能力。也正是由于激活函数具备非线性特点,那么网络的层数越多,所能表达的曲线也就能越复杂。

那么有哪些常用的激活函数呢?

1. Sigmoid函数

sigmoid函数的公式和图形如下:

sigmoid函数的输出值在0~1之间,非常适合在二分类(如图像中是否存在人)问题中应用,例如输出为0.8表示80%的概率有人,为0则表示完全没有人。

与sigmoid类似的还有一个hard sigmoid,如下:

但由于该函数在梯度的反向传播时容易产生梯度消失,因此除了在二分类问题中使用,在其他问题中使用较少了。

2. Tanh函数

tanh函数的公式和图形如下:

tanh和sigmoid形状是一样的,但输出范围在-1~1之间,解决了sigmoid函数非zero-centered输出的问题,这使得tanh比sigmoid函数更加高效。但该函数和sigmoid函数一样,在输入数据绝对值较大时,由于梯度越来越小,学习速度就会很慢。

与tanh类似的还有一个hard tanh函数:

3. ReLU函数

sigmoid和tanh有一个共同的缺点,就是当输入数据的绝对值比较大时,神经网络的学习速度就会很慢。这是因为,学习速度跟激活函数的偏导数(斜率)有关,偏导数越大,学习速度就越快。而sigmoid和tanh在输入绝对值越来越大时,斜率越来越小,直至变为0。因此,学界又提出了一个新的激活函数——ReLU(Rectified Linear Unit),即整流线性单元。 该激活函数目前被广泛使用,它具有非线性的特性,并且不会同时激活所有的神经元,在输入为负值的情况下,会输出0,也就是说有部分神经元不会被激活,从而使得网络变得稀疏,这对计算是非常有效率的。

ReLU的公式:f(x) = max(0, x) ,图形如下:

4. Leaky Relu函数

从ReLU的图形可以看出,当输入大于0时,ReLU的斜率较大,而当输入小于0时,则没有斜率。虽然在实际应用中,大多数输入数据都大于0,但为了解决斜率为0的问题,人们又提出了另外一个激活函数——Leaky ReLU,该函数最大的有点就是将0梯度去掉,代之以一个较小的非零梯度。

Leaky ReLU的函数和图形如下:

0.1也可以根据需要换成其他系数,如0.01等。

5. Softmax函数

Softmax是另一种Sigmoid函数,所不同的是,Sigmoid只能处理二分类问题,而Softmax是将输出结果映射到0~1之间,可以处理多分类问题。Softmax的公式如下:

那么如果某个输出结果是[1.2,0.9,0.75] ,使用Softmax之后,结果就变成[0.42,0.31,0.27],这组数据可以表示输入数据对应的三个类别的概率。

6. 其他激活函数

除了以上常用的几个激活函数,还有其他的一些激活函数,大多是ReLU的变体,列举如下。

(1) CeLU(Continuously Differentiable Exponential Linear Units,连续可微指数线性单元)

 

(2) ELU(Exponential Linear Unit activation function,指数线性单元激活函数)

 

 

(3) GELU(Gaussian error linear unit activation function,高斯误差线性单元激活函数)

其中,P是标准高斯分布的累积分布函数。

(4) SeLU(Scaled exponential Linear Unit)

参考资料:MindSpore 文档

 

http://www.lryc.cn/news/158551.html

相关文章:

  • uniapp 地图跳转到第三方导航软件 直接打包成apk
  • CentOS 8 通过YUM方式升级最新内核
  • java 版本企业招标投标管理系统源码+功能描述+tbms+及时准确+全程电子化
  • Python爬虫数据存哪里|数据存储到文件的几种方式
  • 软件测试/测试开发丨Web自动化 测试用例流程设计
  • git撤销修改命令
  • EOCR-AR电机保护器自动复位的启用条件说明
  • Apache nginx解析漏洞复现
  • .NET之后,再无大创新
  • 【大麦小米学量化】什么是量化交易?哪些人适合做量化交易?
  • 计算机视觉的应用12-卷积神经网络中图像特征提取的可视化研究,让大家理解特征提取的全过程
  • el-table中点击跳转到详情页的两种方法
  • RT-DETR个人整理向理解
  • 易点易动库存管理系统与ERP系统打通,帮助企业实现低值易耗品管理
  • 【笔试强训选择题】Day34.习题(错题)解析
  • “现代”“修饰”卷积神经网络,何谓现代
  • XHTML基础知识了解
  • USB Server集中管控加密狗,浙江省电力设计院正在用
  • rust换源
  • 常见关系型数据库SQL增删改查语句
  • OpenCV(二十七):图像距离变换
  • 服务器就是一台电脑吗?服务器的功能和作用
  • vue3实现塔罗牌翻牌
  • 分布式搜索引擎
  • 【2023最新版】腾讯云CODING平台使用教程(Pycharm/命令:本地项目推送到CODING)
  • IDEA Properties 文件亂碼怎麼解決
  • uniapp微信小程序用户隐私保护
  • 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题
  • 16 | Spark SQL 的 UDF(用户自定义函数)
  • 蓝桥杯官网填空题(土地测量)