神经网络使用哪种激活功能

时间:2019-02-08 23:36:55

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

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

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

  • Sigmoids饱和并杀死渐变。
  • S型曲线收敛缓慢。
  • Sigoid不是以零为中心的。
  • 可以在最后一层使用。

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

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

3-然后他继续说Tanh函数可以解决这个问题。同样,我不明白为什么(从数学上)。

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

5-最后,他提到ReLU的问题,其中“ ...某些单元在训练期间可能易碎并死亡,这意味着流过神经元的大梯度可能导致权重更新,从而使其再也不会在任何数据点上激活因此,从...开始,从那里流过的梯度将始终为零。”同样,我不理解这种解释,尤其是在没有看到其数学方面的情况下,因此这种解释是有意义的。

我对神经网络和Sigmoid函数有基本的直觉,但是要深入研究这些视频(例如有关不同激活函数的视频)之类的更深层次的解释,我只是随便提到了某些解释,而没有用一些数学来解释其推理。 。

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

1 个答案:

答案 0 :(得分:0)

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

reLU,在训练时在隐藏层中使用它,您需要x> 0值,因此reLU会使用此值。我建议您看一下reLU,也可以使用softmax,但是使用reLU在实践中会获得更好的结果。