[转]请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?
Posted er-guo-tou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?相关的知识,希望对你有一定的参考价值。
请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function? - amaze2的回答 - 知乎 https://www.zhihu.com/question/29021768/answer/1321404391
激活函数的用处是实现人工神经网络的非线性化。最常用的激活函数包括Sigmoid、Tanh和ReLU,如下图:
Sigmoid和Tanh激活函数的梯度取值范围分别是(0,1)和(-1,1)。当层数较多时,人工神经网络可能会遭遇梯度消失的问题。
ReLU激活函数的梯度要么是0,要么是1,能够很好地避免梯度消失和梯度爆炸的问题,因此在近年来得到了广泛的使用。
其实,激活函数不局限于上述3种。软阈值化也可以作为激活函数,其表达式如下:
其中τ是阈值,是一个正数。从公式可以看出,软阈值化将[-τ,τ]区间内的特征置为0,将大于τ的特征减τ,将小于-τ的特征加τ。用图片来表示软阈值化,就如下图:
软阈值化的输出对输入的导数如下:
可以看出,和ReLU激活函数一样,软阈值化的梯度要么为0,要么为1,也有利于梯度的反向传播。
当采用软阈值化作为激活函数时,一个很重要的问题是如何设置阈值τ。
残差收缩网络提供了一种思路,其原理图如下:
可以看到,残差收缩网络采用了类似Squeeze-and-Excitation Networks的结构,来自动地设置阈值。
Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Michael Pecht,Deep residual shrinkage networks for fault diagnosis, IEEE Transactions on Industrial Informatics, 2020, 16(7): 4681-4690.
关于软阈值化的深入讨论见下面的链接:
残差收缩网络:从删除冗余特征时的灵活程度进行讨论
https://my.oschina.net/u/4505302/blog/3230965
以上是关于[转]请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?的主要内容,如果未能解决你的问题,请参考以下文章
大白话5分钟带你走进人工智能-第35节神经网络之sklearn中的MLP实战