人工神经网络有哪些常用的激活函数?

  统计/机器学习 深度学习 人工神经网络    浏览次数:6242        分享

人工神经网络有哪些常用的激活函数?

 

MeganC   2017-05-12 13:05



   4个回答 
24

激活函数一般有两种情况。


第一种情况是,激活函数作用在前一层各个节点输出值的线性组合上。这个线性组合的结果是一个数值,而不是向量。这种情况下的常用激活函数有:


1. 恒等函数 identity function

$$f(x)=x$$




2. 分段线性函数 piece-wise linear function

$$f(x)=\begin{cases}0, \text{ if }x\leq u \\ ax+b, \text{ if } u < x < v \\ 1, \text{ if } x\geq v \end{cases}$$

$u,v,a,b$是参数。



3. 阶梯函数 step function

$$f(x)=\begin{cases}0, \text{ if }x\leq 0\\ 1, \text{ if }x>0\end{cases}$$




4. 双曲正切函数 tanh function

$$f(x)=\tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}$$




5. 修正线性函数 reLU function

$$f(x)=reLU(x)=\begin{cases}0, \text{ if }x<0 \\ x, \text{ if }x\geq 0\end{cases}$$



6. S形函数 Sigmoid function

$$f(x)=\frac{1}{1+e^{-x}}$$




7. 反正切函数 ArcTan function

$$f(x)=\text{arctan}(x)$$




8. 高斯函数 Gaussian

$$f(x)=e^{-x^2}$$




第二种情况是,激活函数直接作用在前一层输出值上。也就是说$x$此时是一个向量。这种情况下的常用激活函数有:


9. Softmax function

$$f(x_1,x_2,\cdots, x_m)_i=\frac{e^{x_i}}{\sum_{j=1}^me^{x_j}}$$


10. Maxout function

$$f(x_1,x_2,\cdots,x_m)=\max (x_1,x_2,\cdots, x_m)$$



参考wiki

SofaSofa数据科学社区DS面试题库 DS面经

高代兄   2017-06-23 10:46

8

除了上面那位同学提到的那些基本的激活函数,还有一些改进的激活函数。

比如LeakyReLU,PReLU,ELU,ThresholdedReLU等等。

可以参考keras里的介绍


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2017-11-18 14:17

谢谢介绍 - 董咚咚   2020-07-26 20:49
6

看图


SofaSofa数据科学社区DS面试题库 DS面经

飞翔钉子   2018-07-20 11:37

1

加一个Mish activation function.

SofaSofa数据科学社区DS面试题库 DS面经

anlijuncn   2020-07-27 11:36



  相关主题

swish激活函数的公式是什么?   2回答

怎么理解所谓的dying relu?   1回答

softmin是什么激活函数?   3回答

purelin激活函数是什么?   1回答

激活函数multi-sigmoid和softmax有什么区别?   0回答

激活函数RELU在0点的导数是多少?   3回答

有没有最新的Pycharm2019专业版激活码   0回答

LeakyReLu是什么意思?   1回答

怎么理解神经网络中的激活函数hard sigmoid?   1回答

elu激活函数是什么?   1回答

如果y的范围是-1到1之间,网络输出层的激活函数应该是tanh还是linear?   1回答

环境激活报错求解   0回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!