tanh激活函数与S型激活函数


82

tanh激活功能为:

tanh(x)=2σ(2x)1

其中,S形函数,被定义为:。σ x = e xσ(x)

σ(x)=ex1+ex

问题:

  • 使用这两个激活函数(tanh与sigma)之间真的有关系吗?
  • 在哪种情况下哪个功能更好?

12
tanh(x)=2σ(2x)1
Roman Shapovalov

深度神经网络已经发展。当前的首选项是RELU函数。
Paul Nord

7
@PaulNord tanh和Sigmoids仍与RELU之类的其他激活结合使用,这取决于您要执行的操作。
塔罗尔

Answers:


80

是的,这出于技术原因很重要。基本上是为了优化。值得阅读LeCun等人的《高效反向传播》。

做出此选择有两个原因(假设您已经对数据进行了标准化,这非常重要):

  1. 具有更强的渐变:由于数据以0为中心,因此导数更高。为此,请计算tanh函数的导数,并注意其范围(输出值)为[0,1]。

tanh函数的范围是[-1,1],而S型函数的范围是[0,1]

  1. 避免梯度偏差。本文对此作了很好的解释,值得一读以了解这些问题。

我对你建议的论文有一点怀疑。在第14页中,“当MLP共享权重(例如:卷积网络)时,学习率的选择应与共享权重的连接数的平方根成正比。” 你能解释为什么吗?
satya 2014年

这个问题已经在这里找到答案stats.stackexchange.com/questions/47590/...
jpmuc

1
这是一个非常普遍的问题。长话短说:成本函数决定了神经网络应该做什么:分类或回归以及如何做。如果可以得到Christopher Bishop的“模式识别神经网络”的副本,那就太好了。同样,米切尔(Mitchell)的“机器学习”(Machine Learning)在更基本的层次上也为您提供了很好的解释。
jpmuc 2014年

1
对不起,萨蒂亚,我通常在一周内很忙。您如何精确地标准化数据?en.wikipedia.org/wiki/Whitening_transformation我不确定您的问题可能是什么。最简单的方法是减去均值,然后与协方差矩阵相等。Evtl。您需要为高频添加一些组件(请参见上面参考中的ZCA转换)
jpmuc 2014年

1
非常感谢juampa。您真的帮了我很多忙。建议阅读很好。我实际上正在做一个有关气候数据挖掘的项目。我输入功能的50%是温度(范围200K-310K),压力输入值的50%是压力值(范围50000pa至100000pa)。我正在美白。在pca之前,是否需要对其进行规范化...如果是,我应该如何对其进行规范化?我应该在均值减去之前还是在均值减去之后进行归一化?如果通过不同的方法进行归一化,则会得到不同的结果……
satya 2014年

32

非常感谢@jpmuc!受您的回答启发,我分别计算并绘制了tanh函数和标准S型函数的导数。我想与大家分享。这就是我得到的。这是tanh函数的导数。对于[-1,1]之间的输入,我们具有[0.42,1]之间的导数。 在此处输入图片说明

这是标准S型函数f(x)= 1 /(1 + exp(-x))的导数。对于[0,1]之间的输入,我们具有[0.20,0.25]之间的导数。 在此处输入图片说明

显然,tanh函数提供了更强的渐变。


6
另一种看待此问题的方式是σ(2x)与σ(x)相同,但是应用了水平拉伸,比例因子为1/2(即,它是同一张图,但所有东西都向y轴方向挤压)。当您将其
压入时

2
我不明白为什么这会有所不同。缩放和压缩对于每个节点都是随机的,并且(在输入和输出上具有偏移和权重)都是通用逼近器,收敛到相同的结果。
endolith
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.