Activation Functions:激活函数

Posted shiliuxinya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activation Functions:激活函数相关的知识,希望对你有一定的参考价值。

1. 激活函数:激活函数是指在人工神经网络的神经元中,将输入映射到输出端的非线性函数。激活函数通常是非线性的,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,可以应用到非线性模型中。

一般进行线性操作后,就将线性操作的结果放入激活函数中映射。在CNN中,运算顺序通常是卷积 - 池化 - 批量归一化 - 激活函数

技术图片

 

常见的激活函数:sigmoid、tanh、ReLU、Maxout、Leaky ReLU、ELU

技术图片

 

 

2. sigmoid:将元素压缩(映射)到0和1之间,当参数过大或过小时,容易造成梯度消失

公式:

技术图片

图像:

技术图片

问题:

①梯度消失

②指数函数e的计算过高

③函数不以0为中心

技术图片

 

梯度消失:当参数过大或过小时,斜率趋向于0,局部梯度为0或者是一个很小很小的值,一直回溯逐步累乘起来,梯度就会趋于0,从而造成梯度消失

技术图片

 

 

4. tanh:将元素映射到-1和1之间,以0为中心,但仍存在梯度消失的问题

公式:

技术图片

 

图像:

技术图片

 

 技术图片

 

 

5. Relu:将元素映射到0和正无穷之间,在大于0的区间上不存在梯度消失的问题。Relu不用计算指数函数,计算效率高、收敛速度快

公式:

技术图片

 

图像:

技术图片

 

 技术图片

 

 

6. Leaky Relu:将元素映射到负无穷到正无穷之间,设置α,选取αx和x中的最大值

公式:

技术图片

 

图像:α=0.01

技术图片

 

技术图片

 

 

7.ELU:将元素映射到负无穷和正无穷之间, x>=0时,f(x)=x;x<0时,f(x)=α( e^x - 1)

公式:

技术图片

 

图像:

技术图片

  

技术图片

 

 

8. Maxout:有两组不同的W1、b1;W2、b2分别和输入矩阵进行线性操作得到两个不同的结果,在两个结果中选取最大值 

公式:

技术图片

 

缺点:对于W和b,两倍内存,两倍计算

技术图片

 

 

9. 实践中如何选择激活函数?

技术图片

以上是关于Activation Functions:激活函数的主要内容,如果未能解决你的问题,请参考以下文章

Keras官方中文文档:激活函数Activation

tensorflow学习-------激活函数(activation function)

Pytorch Note14 激活函数(Activation Function)

激活函数-Activation Function

ValueError:未知激活函数:my_custom_activation_function

新手入门深度学习 | 3-2:激活函数activation