深度学习常用激活函数
来源:互联网 发布:淘宝德国啤酒杀人酒 编辑:程序博客网 时间:2024/05/18 06:04
在感知器模型、神经网络模型、深度学习模型中均会看见激活函数的声影。激活函数又被称为转移函数、激励函数、传输函数或限幅函数,其作用就是将可能的无限域变换到一指定的有限范围内输出,这类似于生物神经元具有的非线性转移特性。
常用的激活函数有:线性函数、斜坡函数、阶跃函数、符号函数、Sigmoid函数、双曲正切函数、Softplus函数、Softsign函数、Relu函数及其变形、Maxout函数等。
线性函数
线性函数是最简单的激活函数:
其中
在深度学习模型中,线性函数几乎不被用到。因为其体现不出深度学习模型的价值,如假定深度学习模型有
斜坡函数
斜坡函数的定义如下所示:
阶跃函数
阶跃函数属于硬限幅函数的一种:
符号函数
符号函数也是属于硬限幅函数的一种,其是根据输入变量的正负情况决定输出,若输入变量为正,则输出1;若输入变量为负,则输出-1;输入变量为0时可为1或-1:
注:硬限幅函数虽说简单直观,但在深度学习中,很多时候将其应用在隐藏层意义不大,还会适得其反,因此其主要被应用在输出层。
Sigmoid函数
Sigmoid函数为S型函数的一种,函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,并且求导容易(因深度学习在更新参数时,常采用梯度下降法,此时需要对激活函数求导)。但由于其软饱和性,当
注: Sigmoid函数的导数为
双曲正切函数
双曲正切函数(tanh函数)也是S型函数的一种,Sigmoid函数存在的问题它基本上也都存在,不过相对于Sigmoid函数,它是原点对称的。而且在0周围,曲线变化趋势更陡,因此在训练过程中,权重每次更新的步长更大,能够更快地收敛到最优值(也可能是局部最优)。并且当
注: tanh函数的导数为
Softplus函数
Softplus被定义为:
Softsign函数
Softsign函数被被定义为:
Relu函数及其变形
ReLU是最近几年非常受欢迎的激活函数。虽说Sigmoid和tanh效果不错,但是很容易出现梯度消失现象–当输入
不过ReLU也不是十全十美的,观察其定义便可以发现在
为了缓解上面的问题,ReLU的变形LReLU、PReLU与RReLU应运而生。其基本思想均是,当
在LReLU中,
RReLU是LReLU的“随机”版本–
Maxout函数
Maxout函数的定义如下:
相当于在每个输出神经元前面隐藏地又多了一层。这一层有
如果设置Maxout的参数
上面左图显示的是传统的激活策略,采用Maxout的时候,会发现参数个数成
Maxout的拟合能力是非常强的,已有证明表明两层Maxout可以拟合任意的的凸函数。其实这块很好理解,首先是任意的凸函数都可以由分段线性函数以任意精度拟合,而Maxout又是取
简单总结一下
其实激活函数的主要作用就是将输入进行线性或非线性映射,对于其范围没有限制,上面介绍的只是一些常见的,其他的如
具体哪种激活函数最优?目前还不存在定论。一般需要综合考虑各个激活函数的优缺点,再结合自己的实际情况选择到底使用哪个。并且在一个模型中,不同层可以选定不同的激活函数,如第一层选用ReLU函数、第二次选用Sigmoid函数、……、输出层选用线性函数。
参考资料
- http://blog.csdn.net/hjimce/article/details/50414467 深度学习(二十三)Maxout网络学习
- http://www.cnblogs.com/rgvb178/p/6055213.html 浅谈深度学习中的激活函数
- https://item.jd.com/12128543.html 《深度学习》[美] Ian,Goodfellow,[加] Yoshua,Bengio,[加] Aaron Courville著
- 深度学习常用激活函数
- 【深度学习】深度学习中常用的激活函数
- 深度学习 激活函数
- 深度学习里常用激活函数,目标函数
- 深度学习/神经神经网络常用激活函数总结
- 深度学习常用激活函数之— Sigmoid & ReLU & Softmax
- 深度学习常用激活函数之— Sigmoid & ReLU & Softmax
- 【深度学习技术】卷积神经网络常用激活函数总结
- 深度学习常用激活函数之— Sigmoid & ReLU & Softmax
- 深度学习常用激活函数之— Sigmoid & ReLU & Softmax
- 深度学习caffe:激活函数
- 深度学习中激活函数
- 深度学习之激活函数
- 深度学习中的激活函数
- 深度学习中的激活函数
- 深度学习中的激活函数导引
- 深度学习之激活函数表
- 深度学习中的激活函数导引
- 数据结构-冒泡排序
- Python3:《机器学习实战》之朴素贝叶斯(4)从个人广告中获取区域倾向
- xlistview
- 一个人的黑客史
- libevent应用
- 深度学习常用激活函数
- PAT乙级真题全集-PAT (Basic Level) Practise (中文)
- Java动态代理的两种实现方法
- VMware Workstation12安装苹果系统(MAC OS 10)Windows操作系统
- VS2017+python3.6+Tensorflow环境搭建
- muduo网络库脉络分析(1)
- 32位UUID需要注意"-"
- 跟着Youn一起学习,SpringMVC源码
- spring中javaBean的生命周期