Neural network 激活函数-神经网络

Neural network 激活函数-神经网络,neural-network,activation-function,Neural Network,Activation Function,我在业余时间和神经网络一起工作。 我已经用神经网络开发了一个简单的异或运算。 但是我不知道什么时候应该使用正确的激活功能 是有技巧还是仅仅是数学逻辑?激活函数有很多选项,如标识、逻辑、tanh、Relu等。 激活函数的选择可以基于梯度计算(反向传播)。例如,逻辑函数总是可微的,但当输入值较大时,逻辑函数会饱和,从而减慢优化速度。在这种情况下,Relu优先于后勤。 以上只是选择激活函数的一个简单例子。这确实取决于实际情况。 此外,我不认为XOR神经网络中使用的激活函数在更复杂的应用中具有代表性 您

我在业余时间和神经网络一起工作。 我已经用神经网络开发了一个简单的异或运算。 但是我不知道什么时候应该使用正确的激活功能


是有技巧还是仅仅是数学逻辑?

激活函数有很多选项,如标识、逻辑、tanh、Relu等。 激活函数的选择可以基于梯度计算(反向传播)。例如,逻辑函数总是可微的,但当输入值较大时,逻辑函数会饱和,从而减慢优化速度。在这种情况下,Relu优先于后勤。 以上只是选择激活函数的一个简单例子。这确实取决于实际情况。
此外,我不认为XOR神经网络中使用的激活函数在更复杂的应用中具有代表性

您可以解决乙状结肠神经元的问题。在这种情况下,激活功能是:

其中:


在这个公式中,w是每个输入的权重,b是偏差,x是输入,最后可以使用反向传播来计算成本函数

何时使用一个特定的激活函数来替代另一个激活函数是一个正在进行的学术研究课题。您可以通过在学术数据库中搜索与“神经网络激活功能”相关的期刊文章,或通过谷歌学者搜索,找到与此相关的论文,例如:

一般来说,使用哪个函数主要取决于您尝试执行的操作。激活函数就像一个透镜。你将输入输入到你的网络中,然后通过激活功能以某种方式改变或聚焦。您的输入应如何更改取决于您试图实现的目标。你需要考虑你的问题,然后找出什么函数可以帮助你把信号塑造成你想要近似的结果

问问你自己,你试图建模的数据的形状是什么?如果它是线性的或近似的,那么线性激活函数就足够了。如果它更“阶梯形”,您可能希望使用类似于Sigmoid或Tanh的东西(Tanh函数实际上只是一个缩放的Sigmoid),因为它们的图形显示类似的形状。在XOR问题的例子中,我们知道这两种方法中的任何一种——通过将输出推到更接近[-1,1]的范围——都可以很好地工作。如果你需要的东西不能像这两个一样从零开始变平,那么ReLU函数可能是一个不错的选择(事实上,ReLU函数可能是当今最流行的激活函数,值得比这个答案更认真的研究)

您应该分析这些函数中每一个函数的图形,并考虑它们对数据的影响。你知道你将要输入的数据。当数据通过函数时,会产生什么结果?该特定函数是否有助于获得所需的输出?如果是的话,这是一个很好的选择


此外,如果您有一个图形,其中包含一些数据,图形的形状非常有趣,与您知道的其他函数相对应,请随意使用该图形并查看其工作原理!ANN设计的某些部分是关于理解,但其他部分(至少目前)是直觉。

谢谢!但我知道所有的计算。我的问题是:我应该在什么时候使用wich activationfunction。那么为什么我应该使用乙状体激活函数而不是Relu。对不起,我不太了解您的问题,也许这个链接可以帮助您:关于激活函数的一些事实:-乙状体输出范围从0到1。。。使用小/大输入快速饱和(导数等于0)-Tanh从-1到1变化快速饱和-Relu从0到x大值无饱和,但存在死区Relu问题。(值等于0)