【问题标题】:Which Activation Function to use for Neural Networks用于神经网络的激活函数
【发布时间】:2019-07-03 05:49:15
【问题描述】:

如果这个问题不是传统方法,其中涉及代码的 sn-p 或有关代码的问题,请提前道歉。我只是想了解有关神经网络主题的某些特定点。我正在观看一段关于为神经网络选择最佳激活函数的 YouTube 视频(Siraj Raval - School of AI):https://www.youtube.com/watch?v=-7scQpJT7uo

1- 我试图理解他对为什么 Sigmoid 不再是神经网络使用的理想激活函数的解释,原因如下:

  • Sigmoid 饱和并杀死梯度。
  • Sigmoid 收敛缓慢。
  • Sigmoid 不是以零为中心的。
  • 可以在最后一层使用。

首先,我猜测的第一个和第二个原因是相似的,或者说第一个原因导致了第二个原因。对吗?

2- 我不明白的第三个原因(不是以零为中心的)。在视频中的 5:52,Siraj 解释了“......输出从 0 开始并以 1 结束,这意味着函数之后的值将是正的,这使得权重的梯度要么全部为正,要么全部为负。这使得梯度更新在不同方向上走得太远了……”。这一点我没看懂。至少在理想情况下,从数学上了解这是如何解释的会很有帮助。

3- 然后他接着说 Tanh 函数解决了这个问题。我还是不明白为什么(数学上)。

4- a) 然后在 7:20,他提到 ReLU 最适合用于隐藏层,而 SoftMax 函数用于输出层。但没有具体引用哪个功能。那么 Sigmoid 函数在这里是一个很好的假设吗? b)他还补充说,线性函数应该用于回归“......因为信号通过不变......”。他这句话是什么意思?

5- 最后,他提到了 ReLU 的问题,其中“......某些单元在训练期间可能很脆弱并死亡,这意味着流经神经元的大梯度可能会导致权重更新,使其不再在任何数据点上激活. 因此,从那时起,流经它的梯度将始终为零......”。再一次,我不明白那个解释,尤其是没有看到它的数学方面,所以这个解释是有道理的。

我对神经网络和 Sigmoid 函数有相当基本的直觉,但是为了深入了解诸如这个关于不同激活函数的视频之类的更深层次的解释,我觉得某些解释只是随便提到的,也没有用一些数学来解释推理.

任何帮助将不胜感激。非常感谢。

【问题讨论】:

  • 对于 SO 来说太宽泛了,这不是教程服务;抱怨 Siraj 的视频“没有看到它的数学方面”和“没有用一些数学解释推理”有点不公平,而且在术语上相当矛盾:他的视频并没有假装涵盖这些事情(他的目标观众显然是不同的),并且实际上有几十个免费课程和教程涵盖了这些东西,无论你可以采取任何数学细节......
  • 好吧,我没有在抱怨 Siraj,在任何情况下也绝对没有“抱怨”。我知道如果 Siraj 愿意,他可以用数学方法解释它。他很有天赋,我非常感谢他向他人传播的所有知识。我知道他在这里视频的目的是简单地涵盖该主题,因为要深入解释它需要大量视频或文章来涵盖基础。我在这里的目的不是“抱怨”,而只是参考这个视频,我想寻找更多的解释。就“SO 太宽泛”而言,我理解是公平的。
  • 另一方面,我很感谢您@desertnaut 的回答,但是当我的目的只是在学习资源上找到更多解释而不是“抱怨“关于资源或作者。谢谢。
  • 你在一个简单的评论中读了太多,这只是为了解释为什么这个问题已经有 3 个结束投票“太宽泛”了。我承认“抱怨”这个词不是我能想到的最合适的词。我(显然没有成功)试图表达这一点,试图向 Siraj 学习,然后来到 SO 寻求对 Siraj 所涵盖的几乎所有内容的澄清和数学解释(除了 coding 问题,关于 SO 是all about) 相当令人费解,并且可以说不是一个好的做法——但这只是我,当然......
  • 好吧,我不会说我读得太多了,我只是指出用了错误的词,比如“抱怨”,这个词有点强,可以去掉的上下文。我并没有要求“Siraj 涵盖的所有内容”,而是我挑选了视频中非常具体的观点/陈述来寻找更多答案。但是,是的,我理解你所说的其余部分。我承认作为问题作者,我对 SO 很陌生,这对我来说是一个学习曲线。谢谢,我会在其他地方寻找答案。非常感谢

标签: machine-learning neural-network activation-function


【解决方案1】:

乙状结肠。使用神经网络时,您需要此功能,因为它保持非线性,当然,这在输出层中。

reLU,训练的时候在隐藏层用这个,需要x>0的值,所以reLU取这个值。我建议看一下 reLU,softmax 也很好用,但是在使用 reLU 的实践中你会得到更好的结果。

【讨论】:

  • 嗨,马可,感谢您的回答。我知道 ReLU 应该用于隐藏层,而 Sigmoid 最好用于输出层,但根据我的帖子,我是在回答我提到的 5 点之后,即它们背后的数学推理。恐怕这不能回答我列出的 5 点,但无论如何感谢您的回答。
猜你喜欢
  • 2014-01-18
  • 2017-12-08
  • 2013-08-20
  • 1970-01-01
  • 2014-03-15
  • 2012-12-14
  • 2021-02-10
  • 2013-12-20
相关资源
最近更新 更多